79 lines
2.0 KiB
JavaScript
79 lines
2.0 KiB
JavaScript
"use strict";
|
|
define(['app', 'Shared/SpinnerView', 'Episode/Summary/View', 'Episode/Search/Layout', 'Release/Collection'], function () {
|
|
|
|
NzbDrone.Episode.Layout = Backbone.Marionette.Layout.extend({
|
|
template: 'Episode/LayoutTemplate',
|
|
|
|
|
|
regions: {
|
|
summary : '#episode-summary',
|
|
activity: '#episode-activity',
|
|
search : '#episode-search'
|
|
},
|
|
|
|
ui: {
|
|
summary : '.x-episode-summary',
|
|
activity: '.x-episode-activity',
|
|
search : '.x-episode-search'
|
|
},
|
|
|
|
events: {
|
|
|
|
'click .x-episode-summary' : 'showSummary',
|
|
'click .x-episode-activity': 'showActivity',
|
|
'click .x-episode-search' : 'showSearch'
|
|
},
|
|
|
|
|
|
onShow: function () {
|
|
this.showSummary();
|
|
this._releaseSearchActivated = false;
|
|
},
|
|
|
|
|
|
showSummary: function (e) {
|
|
if (e) {
|
|
e.preventDefault();
|
|
}
|
|
|
|
this.ui.summary.tab('show');
|
|
this.summary.show(new NzbDrone.Episode.Summary.View({model: this.model}));
|
|
|
|
},
|
|
|
|
showActivity: function (e) {
|
|
if (e) {
|
|
e.preventDefault();
|
|
}
|
|
|
|
this.ui.activity.tab('show');
|
|
},
|
|
|
|
showSearch: function (e) {
|
|
if (e) {
|
|
e.preventDefault();
|
|
}
|
|
|
|
if (this._releaseSearchActivated) {
|
|
return;
|
|
}
|
|
|
|
var self = this;
|
|
|
|
this.ui.search.tab('show');
|
|
this.search.show(new NzbDrone.Shared.SpinnerView());
|
|
|
|
var releases = new NzbDrone.Release.Collection();
|
|
var promise = releases.fetchEpisodeReleases(this.model.id);
|
|
|
|
promise.done(function () {
|
|
if (!self.isClosed) {
|
|
self.search.show(new NzbDrone.Episode.Search.Layout({collection: releases}));
|
|
}
|
|
});
|
|
}
|
|
|
|
});
|
|
|
|
});
|