From 59c0954b29b99b2fb7334bc56607e9a2fc855616 Mon Sep 17 00:00:00 2001 From: Zhang Visper Date: Mon, 27 Jun 2016 17:40:14 +0800 Subject: [PATCH] custom sorting method --- package.json | 2 +- src/data/grid-body.vue | 4 ++-- src/data/grid-column.vue | 3 +-- src/data/grid.vue | 10 ++++++++-- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 77bd202..d434a00 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "babel-plugin-transform-runtime": "^6.1.18", "babel-preset-es2015": "^6.1.18", "babel-preset-stage-1": "^6.5.0", - "babel-runtime": "^5.8.x", + "babel-runtime": "^6.0.0", "chai": "^3.3.0", "chai-as-promised": "^5.1.0", "css-loader": "^0.21.0", diff --git a/src/data/grid-body.vue b/src/data/grid-body.vue index 5fccb48..48846cd 100644 --- a/src/data/grid-body.vue +++ b/src/data/grid-body.vue @@ -78,7 +78,7 @@ filters: { orderBy(array, sortKey, reverse) { - if (!sortKey) { + if (!sortKey || this.$parent.sortingCustom) { return array; } var order = (reverse && reverse < 0) ? -1 : 1; @@ -164,4 +164,4 @@ } } }; - \ No newline at end of file + diff --git a/src/data/grid-column.vue b/src/data/grid-column.vue index 7300662..39d65c2 100644 --- a/src/data/grid-column.vue +++ b/src/data/grid-column.vue @@ -14,7 +14,6 @@ minWidth: {}, htmlTemplate: {}, sortable: { - type: Boolean, default: undefined }, resizable: { @@ -223,4 +222,4 @@ } } }; - \ No newline at end of file + diff --git a/src/data/grid.vue b/src/data/grid.vue index 12d44e1..d2e64db 100644 --- a/src/data/grid.vue +++ b/src/data/grid.vue @@ -525,6 +525,11 @@ this.sortingProperty = null; } this.sortingDirection = column.direction === 'descending' ? -1 : 1; + + this.sortingCustom = column.sortable === 'custom'; + + // custom sorting event + this.sortingCustom && this.$emit('sort', column); }, reRender() { @@ -751,8 +756,9 @@ fixedBodyWidth: '', sortingColumn: null, sortingProperty: null, - sortingDirection: 1 + sortingDirection: 1, + sortingCustom: false }; } }; - \ No newline at end of file +