From 52e10c2b6e7e934e6d4dccf762f99490d04ec0b9 Mon Sep 17 00:00:00 2001 From: Chris Alfano Date: Wed, 31 Jan 2018 19:15:27 -0500 Subject: [PATCH] Add support for configurable function to extract code from item for sorting --- src/sorter/Code.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/sorter/Code.js b/src/sorter/Code.js index f33d9fe..08f74d2 100644 --- a/src/sorter/Code.js +++ b/src/sorter/Code.js @@ -6,11 +6,17 @@ Ext.define('Slate.sorter.Code', { numberRe: /^\d+$/, numberDelim: '.', + codeFn: function(item) { + return item.get('Code'); + }, + sorterFn: function(a, b) { - var codeA = a.get('Code').toLowerCase(), - codeB = b.get('Code').toLowerCase(), - numberRe = this._numberRe, // eslint-disable-line no-underscore-dangle - numberDelim = this._numberDelim, // eslint-disable-line no-underscore-dangle + var me = this, + codeFn = me._codeFn, // eslint-disable-line no-underscore-dangle + numberRe = me._numberRe, // eslint-disable-line no-underscore-dangle + numberDelim = me._numberDelim, // eslint-disable-line no-underscore-dangle + codeA = codeFn(a).toLowerCase(), + codeB = codeFn(b).toLowerCase(), dotIndexA, dotIndexB, numberA, numberB; @@ -37,4 +43,8 @@ Ext.define('Slate.sorter.Code', { } }, + + constructor: function(config) { + this.initConfig(config); + } }); \ No newline at end of file