Allow series grid sorting by episodes (percent downloaded)

This commit is contained in:
Mark McDowall 2013-08-18 16:32:27 -07:00
parent 0a7401c180
commit 59c033dd68
3 changed files with 40 additions and 11 deletions

View File

@ -0,0 +1,33 @@
'use strict';
define(
[
'marionette',
'Cells/NzbDroneCell'
], function (Marionette, NzbDroneCell) {
return NzbDroneCell.extend({
className: 'episode-progress-cell',
template : 'Cells/EpisodeProgressCellTemplate',
render: function () {
var episodeCount = this.model.get('episodeCount');
var episodeFileCount = this.model.get('episodeFileCount');
var percent = 100;
if (episodeCount > 0) {
percent = episodeFileCount / episodeCount * 100;
}
this.model.set('percentOfEpisodes', percent);
this.templateFunction = Marionette.TemplateCache.get(this.template);
var data = this.model.toJSON();
var html = this.templateFunction(data);
this.$el.html(html);
return this;
}
});
});

View File

@ -10,14 +10,13 @@ define(
'Cells/SeriesTitleCell',
'Cells/TemplatedCell',
'Cells/QualityProfileCell',
'Cells/EpisodeProgressCell',
'Shared/Grid/DateHeaderCell',
'Series/Index/Table/SeriesStatusCell',
'Series/Index/Table/SeriesStatusHeaderCell',
'Series/Index/Table/Row',
'Series/Index/FooterView',
'Series/Index/FooterModel',
'Shared/Toolbar/ToolbarLayout',
'Shared/LoadingView'
'Shared/Toolbar/ToolbarLayout'
], function (Marionette,
PosterCollectionView,
ListCollectionView,
@ -27,14 +26,13 @@ define(
SeriesTitleCell,
TemplatedCell,
QualityProfileCell,
EpisodeProgressCell,
DateHeaderCell,
SeriesStatusCell,
SeriesStatusHeaderCell,
SeriesIndexRow,
FooterView,
FooterModel,
ToolbarLayout,
LoadingView) {
ToolbarLayout) {
return Marionette.Layout.extend({
template: 'Series/Index/SeriesIndexLayoutTemplate',
@ -79,11 +77,9 @@ define(
headerCell: DateHeaderCell
},
{
name : 'this',
label : 'Episodes',
sortable: false,
template: 'Series/EpisodeProgressTemplate',
cell : TemplatedCell,
name : 'percentOfEpisodes',
label : 'Episodes',
cell : EpisodeProgressCell,
className: 'episode-progress-cell'
},
{