Ended overrides not monitored and sorting separates by monitored state

This commit is contained in:
Mark McDowall
2013-08-17 23:10:18 -07:00
parent 2d2c6f866c
commit 82378a8628
3 changed files with 73 additions and 8 deletions

View File

@@ -0,0 +1,58 @@
'use strict';
define(
[
'backgrid',
'Shared/Grid/HeaderCell'
], function (Backgrid, NzbDroneHeaderCell) {
Backgrid.SeriesStatusHeaderCell = NzbDroneHeaderCell.extend({
events: {
'click': 'onClick'
},
onClick: function (e) {
e.preventDefault();
var self = this;
var columnName = this.column.get('name');
if (this.column.get('sortable')) {
if (this.direction() === 'ascending') {
this.sort(columnName, 'descending', function (left, right) {
var leftVal = self._getStatus(left);
var rightVal = self._getStatus(right);
return self._comparator(leftVal, rightVal)
});
}
else {
this.sort(columnName, 'ascending', function (left, right) {
var leftVal = self._getStatus(left);
var rightVal = self._getStatus(right);
return self._comparator(rightVal, leftVal)
});
}
}
},
_comparator: function (leftVal, rightVal) {
if (leftVal === rightVal) {
return 0;
}
if (leftVal > rightVal) {
return -1;
}
return 1;
},
_getStatus: function (obj) {
return obj.get('statusWeight');
}
});
return Backgrid.SeriesStatusHeaderCell;
});