Season Search added to series details

This commit is contained in:
Mark McDowall 2013-06-23 21:37:55 -07:00
parent 56cf3555a6
commit a34e6f3c70
4 changed files with 54 additions and 4 deletions

View File

@ -4,7 +4,7 @@ define(['app'], function () {
NzbDrone.Commands.Execute = function (name, properties) {
var data = { command: name };
if (!properties) {
if (properties) {
$.extend(data, properties);
}

View File

@ -4,11 +4,20 @@ define([
'Cells/EpisodeStatusCell',
'Cells/EpisodeTitleCell',
'Cells/AirDateCell',
'Cells/ToggleCell'],
function (App, EpisodeStatusCell, EpisodeTitleCell, AirDateCell, ToggleCell) {
'Cells/ToggleCell',
'Shared/Messenger'],
function (App, EpisodeStatusCell, EpisodeTitleCell, AirDateCell, ToggleCell, Messenger) {
return Backbone.Marionette.Layout.extend({
template: 'Series/Details/SeasonLayoutTemplate',
ui: {
seasonSearch: '.x-season-search'
},
events: {
'click .x-season-search': '_seasonSearch'
},
regions: {
episodeGrid: '#x-episode-grid'
},
@ -63,6 +72,40 @@ define([
collection: this.episodeCollection,
className : 'table table-hover season-grid'
}));
},
_seasonSearch: function () {
var command = 'seasonSearch';
this.idle = false;
this.ui.seasonSearch.addClass('icon-spinner icon-spin');
var properties = {
seriesId: this.model.get('seriesId'),
seasonNumber: this.model.get('seasonNumber')
};
var self = this;
var commandPromise = App.Commands.Execute(command, properties);
commandPromise.fail(function (options) {
if (options.readyState === 0 || options.status === 0) {
return;
}
Messenger.show({
message: 'Season search failed',
type : 'error'
});
});
commandPromise.always(function () {
if (!self.isClosed) {
self.ui.seasonSearch.removeClass('icon-spinner icon-spin');
self.idle = true;
}
});
}
});
});

View File

@ -1,4 +1,4 @@
<div class="series-season">
<h2>{{seasonTitle}}</h2>
<h2>{{seasonTitle}} <i class="icon-search pull-right season-search x-season-search" /></h2>
<div id="x-episode-grid"/>
</div>

View File

@ -1,3 +1,5 @@
@import "../shared/Styles/clickable.less";
.series-season {
.episode-number-cell {
width: 22px;
@ -34,3 +36,8 @@
width: 10px;
}
}
.season-search {
.clickable;
font-size: 24px;
}