parent
cec479923f
commit
874e98b408
@ -0,0 +1,53 @@
|
||||
'use strict';
|
||||
|
||||
define(
|
||||
['Config'],
|
||||
function (Config) {
|
||||
|
||||
return function () {
|
||||
|
||||
var originalInit = this.prototype.initialize;
|
||||
|
||||
this.prototype.initialize = function () {
|
||||
|
||||
if (!this.tableName) {
|
||||
throw 'tableName is required';
|
||||
}
|
||||
|
||||
_setState.call(this);
|
||||
|
||||
this.on('backgrid:sort', _storeState, this);
|
||||
|
||||
if (originalInit) {
|
||||
originalInit.call(this);
|
||||
}
|
||||
};
|
||||
|
||||
var _setState = function () {
|
||||
var key = Config.getValue('{0}.sortKey'.format(this.tableName), this.state.sortKey);
|
||||
var direction = Config.getValue('{0}.sortDirection'.format(this.tableName), this.state.order);
|
||||
var order = parseInt(direction, 10);
|
||||
|
||||
this.state.sortKey = key;
|
||||
this.state.order = order;
|
||||
};
|
||||
|
||||
var _storeState = function (sortKey, sortDirection) {
|
||||
var order = _convertDirectionToInt(sortDirection);
|
||||
|
||||
Config.setValue('{0}.sortKey'.format(this.tableName), sortKey);
|
||||
Config.setValue('{0}.sortDirection'.format(this.tableName), order);
|
||||
};
|
||||
|
||||
var _convertDirectionToInt = function (dir) {
|
||||
if (dir === 'ascending') {
|
||||
return '-1';
|
||||
}
|
||||
|
||||
return '1';
|
||||
};
|
||||
|
||||
return this;
|
||||
};
|
||||
}
|
||||
);
|
Loading…
Reference in new issue