Episode details uses listenTo instead of promises
This commit is contained in:
parent
78a5dbe097
commit
86ea33b638
|
@ -40,6 +40,8 @@ define(
|
||||||
this.series = SeriesCollection.find({ id: this.model.get('seriesId') });
|
this.series = SeriesCollection.find({ id: this.model.get('seriesId') });
|
||||||
this.templateHelpers.series = this.series.toJSON();
|
this.templateHelpers.series = this.series.toJSON();
|
||||||
this.openingTab = options.openingTab || 'summary';
|
this.openingTab = options.openingTab || 'summary';
|
||||||
|
|
||||||
|
this.listenTo(this.model, 'sync', this._setMonitoredState);
|
||||||
},
|
},
|
||||||
|
|
||||||
onShow: function () {
|
onShow: function () {
|
||||||
|
@ -85,17 +87,11 @@ define(
|
||||||
},
|
},
|
||||||
|
|
||||||
_toggleMonitored: function () {
|
_toggleMonitored: function () {
|
||||||
var self = this;
|
|
||||||
var name = 'monitored';
|
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.ui.monitored.addClass('icon-spinner icon-spin');
|
||||||
|
this.model.save();
|
||||||
var promise = this.model.save();
|
|
||||||
|
|
||||||
promise.always(function () {
|
|
||||||
self._setMonitoredState();
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_setMonitoredState: function () {
|
_setMonitoredState: function () {
|
||||||
|
|
|
@ -26,6 +26,9 @@ define(
|
||||||
|
|
||||||
initialize: function () {
|
initialize: function () {
|
||||||
this.mainView = new ButtonsView();
|
this.mainView = new ButtonsView();
|
||||||
|
this.releaseCollection = new ReleaseCollection();
|
||||||
|
|
||||||
|
this.listenTo(this.releaseCollection, 'sync', this._showSearchResults);
|
||||||
},
|
},
|
||||||
|
|
||||||
onShow: function () {
|
onShow: function () {
|
||||||
|
@ -55,20 +58,9 @@ define(
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
var self = this;
|
|
||||||
|
|
||||||
this.mainView = new LoadingView();
|
this.mainView = new LoadingView();
|
||||||
this._showMainView();
|
this._showMainView();
|
||||||
|
this.releaseCollection.fetchEpisodeReleases(this.model.id);
|
||||||
var releases = new ReleaseCollection();
|
|
||||||
var promise = releases.fetchEpisodeReleases(this.model.id);
|
|
||||||
|
|
||||||
promise.done(function () {
|
|
||||||
if (!self.isClosed) {
|
|
||||||
self.mainView = new ManualSearchLayout({collection: releases});
|
|
||||||
self._showMainView();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_showMainView: function () {
|
_showMainView: function () {
|
||||||
|
@ -78,7 +70,11 @@ define(
|
||||||
_showButtons: function () {
|
_showButtons: function () {
|
||||||
this.mainView = new ButtonsView();
|
this.mainView = new ButtonsView();
|
||||||
this._showMainView();
|
this._showMainView();
|
||||||
|
},
|
||||||
|
|
||||||
|
_showSearchResults: function () {
|
||||||
|
this.mainView = new ManualSearchLayout({ collection: this.releaseCollection });
|
||||||
|
this._showMainView();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue