1
0
Fork 0
mirror of https://github.com/Sonarr/Sonarr synced 2025-03-04 02:28:21 +00:00
Sonarr/UI/Episode/Search/Layout.js

79 lines
2.2 KiB
JavaScript
Raw Normal View History

2013-06-21 23:24:24 -07:00
'use strict';
define(
[
'app',
'marionette',
'Episode/Search/ButtonsView',
'Episode/Search/ManualLayout',
'Release/Collection',
'Series/SeriesCollection',
2013-09-10 23:33:47 -07:00
'Commands/CommandController',
'Shared/LoadingView'
], function (App, Marionette, ButtonsView, ManualSearchLayout, ReleaseCollection, SeriesCollection,CommandController, LoadingView) {
return Marionette.Layout.extend({
template: 'Episode/Search/LayoutTemplate',
regions: {
main: '#episode-search-region'
},
2013-06-09 19:16:48 -07:00
events: {
'click .x-search-auto' : '_searchAuto',
'click .x-search-manual': '_searchManual',
'click .x-search-back' : '_showButtons'
},
initialize: function () {
this.mainView = new ButtonsView();
},
onShow: function () {
this._showMainView();
},
_searchAuto: function (e) {
if (e) {
e.preventDefault();
}
2013-09-10 23:33:47 -07:00
CommandController.Execute('episodeSearch', {
episodeId: this.model.get('id')
});
2013-07-23 18:15:58 -07:00
App.vent.trigger(App.Commands.CloseModalCommand);
},
_searchManual: function (e) {
if (e) {
e.preventDefault();
}
var self = this;
2013-08-21 21:04:03 -07:00
this.mainView = new LoadingView();
this._showMainView();
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 () {
this.main.show(this.mainView);
},
_showButtons: function () {
this.mainView = new ButtonsView();
this._showMainView();
}
});
});