You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Sonarr/UI/Controller.js

120 lines
3.6 KiB

'use strict';
define(
[
'app',
'marionette',
'History/HistoryLayout',
'Settings/SettingsLayout',
'AddSeries/AddSeriesLayout',
'Series/Index/SeriesIndexLayout',
'Series/Details/SeriesDetailsLayout',
'Series/SeriesCollection',
'Missing/MissingLayout',
'Calendar/CalendarLayout',
'Release/Layout',
'System/SystemLayout',
'SeasonPass/SeasonPassLayout',
'System/Update/UpdateLayout',
'Shared/NotFoundView',
'Shared/Modal/Region'
], function (App,
Marionette,
HistoryLayout,
SettingsLayout,
AddSeriesLayout,
SeriesIndexLayout,
SeriesDetailsLayout,
SeriesCollection,
MissingLayout,
CalendarLayout,
ReleaseLayout,
SystemLayout,
SeasonPassLayout,
UpdateLayout,
NotFoundView) {
return Marionette.Controller.extend({
series: function () {
this._setTitle('NzbDrone');
App.mainRegion.show(new SeriesIndexLayout());
},
seriesDetails: function (query) {
var series = SeriesCollection.where({titleSlug: query});
if (series.length !== 0) {
var targetSeries = series[0];
this._setTitle(targetSeries.get('title'));
App.mainRegion.show(new SeriesDetailsLayout({ model: targetSeries }));
}
else {
this.notFound();
}
},
addSeries: function (action) {
this._setTitle('Add Series');
App.mainRegion.show(new AddSeriesLayout({action: action}));
},
calendar: function () {
this._setTitle('Calendar');
App.mainRegion.show(new CalendarLayout());
},
settings: function (action) {
this._setTitle('Settings');
App.mainRegion.show(new SettingsLayout({ action: action }));
},
missing: function () {
this._setTitle('Missing');
App.mainRegion.show(new MissingLayout());
},
history: function () {
this._setTitle('History');
App.mainRegion.show(new HistoryLayout());
},
rss: function () {
this._setTitle('RSS');
App.mainRegion.show(new ReleaseLayout());
},
system: function (action) {
this._setTitle('System');
App.mainRegion.show(new SystemLayout({ action: action }));
},
seasonPass: function () {
this._setTitle('Season Pass');
App.mainRegion.show(new SeasonPassLayout());
},
update: function () {
this._setTitle('Updates');
App.mainRegion.show(new UpdateLayout());
},
notFound: function () {
this._setTitle('Not Found');
App.mainRegion.show(new NotFoundView(this));
},
_setTitle: function (title) {
//$('#title-region').html(title);
if (title.toLocaleLowerCase() === 'nzbdrone') {
window.document.title = 'NzbDrone';
}
else {
window.document.title = title + ' - NzbDrone';
}
}
});
});