diff --git a/NzbDrone.Core/Tv/EpisodeRepository.cs b/NzbDrone.Core/Tv/EpisodeRepository.cs index a539ba78a..e15c6bed8 100644 Binary files a/NzbDrone.Core/Tv/EpisodeRepository.cs and b/NzbDrone.Core/Tv/EpisodeRepository.cs differ diff --git a/UI/Missing/MissingLayout.js b/UI/Missing/MissingLayout.js index 08fc99b12..2955f168e 100644 --- a/UI/Missing/MissingLayout.js +++ b/UI/Missing/MissingLayout.js @@ -49,12 +49,6 @@ define([ editable : false, cell : 'airDate', headerCell: 'nzbDrone' -// headerCell: Backgrid.NzbDroneHeaderCell.extend({ -// initialize: function(options) { -// this.constructor.__super__.initialize.apply(this, [options]); -// this.direction('descending'); -// } -// }) }, { name : 'edit', diff --git a/UI/Mixins/backbone.Backgrid.mixin.js b/UI/Mixins/backbone.Backgrid.mixin.js index e89645285..25343ea83 100644 --- a/UI/Mixins/backbone.Backgrid.mixin.js +++ b/UI/Mixins/backbone.Backgrid.mixin.js @@ -25,6 +25,25 @@ Backgrid.NzbDroneHeaderCell = Backgrid.HeaderCell.extend({ if (this.column.get('sortable')) { this.$el.append(" "); + + if (this.collection.state) { + var sortKey = this.collection.state.sortKey; + var sortDir = this._convertIntToDirection(this.collection.state.order); + + if (sortKey === this.column.get('name')) { + this.$el.children('i').addClass(this._convertDirectionToIcon(sortDir)); + this._direction = sortDir; + } + } + else if (this.collection.defaultSortKey) { + var sortKey = this.collection.defaultSortKey; + var sortDir = this._convertIntToDirection(this.collection.defaultSortDir); + + if (sortKey === this.column.get('name')) { + this.$el.children('i').addClass(this._convertDirectionToIcon(sortDir)); + this._direction = sortDir; + } + } } this.delegateEvents(); return this; @@ -57,9 +76,6 @@ Backgrid.NzbDroneHeaderCell = Backgrid.HeaderCell.extend({ return 1; }); } - else if (this.direction() === "descending") { - this.sort(columnName, "ascending"); - } else { this.sort(columnName, "ascending", function (left, right) { var leftVal = left.get(columnName); @@ -80,6 +96,14 @@ Backgrid.NzbDroneHeaderCell = Backgrid.HeaderCell.extend({ } return 'icon-sort-down'; + }, + + _convertIntToDirection: function (dir) { + if (dir === '-1') { + return 'ascending'; + } + + return 'descending'; } }); diff --git a/UI/Series/SeriesCollection.js b/UI/Series/SeriesCollection.js index 5f56714d4..6d1eb1409 100644 --- a/UI/Series/SeriesCollection.js +++ b/UI/Series/SeriesCollection.js @@ -1,6 +1,13 @@ define(['app', 'Series/SeriesModel'], function () { NzbDrone.Series.SeriesCollection = Backbone.Collection.extend({ url : NzbDrone.Constants.ApiRoot + '/series', - model: NzbDrone.Series.SeriesModel + model: NzbDrone.Series.SeriesModel, + + defaultSortKey: 'title', + defaultSortDir: '-1', + + comparator: function (model) { + return model.get(this.defaultSortKey); + } }); }); \ No newline at end of file