|
|
|
@ -6,97 +6,123 @@ var SeriesCollection = require('../Series/SeriesCollection');
|
|
|
|
|
var Messenger = require('../Shared/Messenger');
|
|
|
|
|
|
|
|
|
|
module.exports = Marionette.Layout.extend({
|
|
|
|
|
className : 'modal-lg',
|
|
|
|
|
template : 'Episode/EpisodeDetailsLayoutTemplate',
|
|
|
|
|
regions : {
|
|
|
|
|
className : 'modal-lg',
|
|
|
|
|
template : 'Episode/EpisodeDetailsLayoutTemplate',
|
|
|
|
|
|
|
|
|
|
regions : {
|
|
|
|
|
summary : '#episode-summary',
|
|
|
|
|
activity : '#episode-activity',
|
|
|
|
|
search : '#episode-search'
|
|
|
|
|
},
|
|
|
|
|
ui : {
|
|
|
|
|
|
|
|
|
|
ui : {
|
|
|
|
|
summary : '.x-episode-summary',
|
|
|
|
|
activity : '.x-episode-activity',
|
|
|
|
|
search : '.x-episode-search',
|
|
|
|
|
monitored : '.x-episode-monitored'
|
|
|
|
|
},
|
|
|
|
|
events : {
|
|
|
|
|
"click .x-episode-summary" : '_showSummary',
|
|
|
|
|
"click .x-episode-activity" : '_showActivity',
|
|
|
|
|
"click .x-episode-search" : '_showSearch',
|
|
|
|
|
"click .x-episode-monitored" : '_toggleMonitored'
|
|
|
|
|
|
|
|
|
|
events : {
|
|
|
|
|
|
|
|
|
|
'click .x-episode-summary' : '_showSummary',
|
|
|
|
|
'click .x-episode-activity' : '_showActivity',
|
|
|
|
|
'click .x-episode-search' : '_showSearch',
|
|
|
|
|
'click .x-episode-monitored' : '_toggleMonitored'
|
|
|
|
|
},
|
|
|
|
|
templateHelpers : {},
|
|
|
|
|
initialize : function(options){
|
|
|
|
|
|
|
|
|
|
templateHelpers : {},
|
|
|
|
|
|
|
|
|
|
initialize : function(options) {
|
|
|
|
|
this.templateHelpers.hideSeriesLink = options.hideSeriesLink;
|
|
|
|
|
|
|
|
|
|
this.series = SeriesCollection.get(this.model.get('seriesId'));
|
|
|
|
|
this.templateHelpers.series = this.series.toJSON();
|
|
|
|
|
this.openingTab = options.openingTab || 'summary';
|
|
|
|
|
|
|
|
|
|
this.listenTo(this.model, 'sync', this._setMonitoredState);
|
|
|
|
|
},
|
|
|
|
|
onShow : function(){
|
|
|
|
|
this.searchLayout = new SearchLayout({model : this.model});
|
|
|
|
|
if(this.openingTab === 'search') {
|
|
|
|
|
|
|
|
|
|
onShow : function() {
|
|
|
|
|
this.searchLayout = new SearchLayout({ model : this.model });
|
|
|
|
|
|
|
|
|
|
if (this.openingTab === 'search') {
|
|
|
|
|
this.searchLayout.startManualSearch = true;
|
|
|
|
|
this._showSearch();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
this._showSummary();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this._setMonitoredState();
|
|
|
|
|
if(this.series.get('monitored')) {
|
|
|
|
|
|
|
|
|
|
if (this.series.get('monitored')) {
|
|
|
|
|
this.$el.removeClass('series-not-monitored');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
this.$el.addClass('series-not-monitored');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
_showSummary : function(e){
|
|
|
|
|
if(e) {
|
|
|
|
|
|
|
|
|
|
_showSummary : function(e) {
|
|
|
|
|
if (e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.ui.summary.tab('show');
|
|
|
|
|
this.summary.show(new SummaryLayout({
|
|
|
|
|
model : this.model,
|
|
|
|
|
series : this.series
|
|
|
|
|
}));
|
|
|
|
|
},
|
|
|
|
|
_showActivity : function(e){
|
|
|
|
|
if(e) {
|
|
|
|
|
|
|
|
|
|
_showActivity : function(e) {
|
|
|
|
|
if (e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.ui.activity.tab('show');
|
|
|
|
|
this.activity.show(new EpisodeActivityLayout({
|
|
|
|
|
model : this.model,
|
|
|
|
|
series : this.series
|
|
|
|
|
}));
|
|
|
|
|
},
|
|
|
|
|
_showSearch : function(e){
|
|
|
|
|
if(e) {
|
|
|
|
|
|
|
|
|
|
_showSearch : function(e) {
|
|
|
|
|
if (e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.ui.search.tab('show');
|
|
|
|
|
this.search.show(this.searchLayout);
|
|
|
|
|
},
|
|
|
|
|
_toggleMonitored : function(){
|
|
|
|
|
if(!this.series.get('monitored')) {
|
|
|
|
|
|
|
|
|
|
_toggleMonitored : function() {
|
|
|
|
|
if (!this.series.get('monitored')) {
|
|
|
|
|
|
|
|
|
|
Messenger.show({
|
|
|
|
|
message : 'Unable to change monitored state when series is not monitored',
|
|
|
|
|
type : 'error'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var name = 'monitored';
|
|
|
|
|
this.model.set(name, !this.model.get(name), {silent : true});
|
|
|
|
|
this.model.set(name, !this.model.get(name), { silent : true });
|
|
|
|
|
|
|
|
|
|
this.ui.monitored.addClass('icon-spinner icon-spin');
|
|
|
|
|
this.model.save();
|
|
|
|
|
},
|
|
|
|
|
_setMonitoredState : function(){
|
|
|
|
|
|
|
|
|
|
_setMonitoredState : function() {
|
|
|
|
|
this.ui.monitored.removeClass('icon-spin icon-spinner');
|
|
|
|
|
if(this.model.get('monitored')) {
|
|
|
|
|
|
|
|
|
|
if (this.model.get('monitored')) {
|
|
|
|
|
this.ui.monitored.addClass('icon-bookmark');
|
|
|
|
|
this.ui.monitored.removeClass('icon-bookmark-empty');
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
} else {
|
|
|
|
|
this.ui.monitored.addClass('icon-bookmark-empty');
|
|
|
|
|
this.ui.monitored.removeClass('icon-bookmark');
|
|
|
|
|
}
|
|
|
|
|