1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2024-11-01 00:12:30 +01:00
Sonarr/UI/Controller.js

118 lines
3.6 KiB
JavaScript
Raw Normal View History

"use strict";
2013-05-22 05:33:35 +02:00
define(['app',
2013-06-19 03:02:23 +02:00
'Settings/SettingsLayout',
2013-05-22 05:33:35 +02:00
'Form/FormBuilder',
'AddSeries/AddSeriesLayout',
'Series/Index/SeriesIndexLayout',
2013-06-07 07:33:01 +02:00
'Calendar/CalendarLayout',
2013-05-22 05:33:35 +02:00
'Shared/NotificationView',
'Shared/NotFoundView',
'MainMenuView',
'Series/Details/SeriesDetailsLayout',
2013-05-22 05:33:35 +02:00
'Series/EpisodeCollection',
2013-06-05 02:49:53 +02:00
'Logs/Layout',
'Release/Layout',
2013-05-22 05:33:35 +02:00
'Missing/MissingLayout',
2013-06-07 04:39:12 +02:00
'History/HistoryLayout',
'Shared/FormatHelpers',
2013-06-15 06:02:40 +02:00
'Shared/TemplateHelpers',
'Shared/Footer/View'],
2013-06-19 03:02:23 +02:00
function (App, SettingsLayout) {
var controller = Backbone.Marionette.Controller.extend({
series : function () {
this._setTitle('NzbDrone');
2013-06-19 03:02:23 +02:00
App.mainRegion.show(new NzbDrone.Series.Index.SeriesIndexLayout());
},
seriesDetails: function (query) {
var self = this;
this._setTitle('Loading Series');
var series = new NzbDrone.Series.SeriesModel({ id: query });
series.fetch({
success: function (seriesModel) {
self._setTitle(seriesModel.get('title'));
2013-06-19 03:02:23 +02:00
App.mainRegion.show(new NzbDrone.Series.Details.SeriesDetailsLayout({ model: seriesModel }));
}
});
},
addSeries: function (action) {
this._setTitle('Add Series');
2013-06-19 03:02:23 +02:00
App.mainRegion.show(new NzbDrone.AddSeries.AddSeriesLayout({action: action}));
},
calendar: function () {
this._setTitle('Calendar');
2013-06-19 03:02:23 +02:00
App.mainRegion.show(new NzbDrone.Calendar.CalendarLayout());
},
settings: function (action) {
this._setTitle('Settings');
2013-06-19 03:02:23 +02:00
App.mainRegion.show(new SettingsLayout({action: action}));
},
missing: function () {
this._setTitle('Missing');
2013-06-19 03:02:23 +02:00
App.mainRegion.show(new NzbDrone.Missing.MissingLayout());
},
2013-05-03 08:53:32 +02:00
history: function () {
this._setTitle('History');
2013-06-19 03:02:23 +02:00
App.mainRegion.show(new NzbDrone.History.HistoryLayout());
2013-05-03 08:53:32 +02:00
},
rss: function () {
this._setTitle('RSS');
2013-06-19 03:02:23 +02:00
App.mainRegion.show(new NzbDrone.Release.Layout());
},
2013-06-05 02:49:53 +02:00
logs: function () {
this._setTitle('logs');
2013-06-19 03:02:23 +02:00
App.mainRegion.show(new NzbDrone.Logs.Layout());
2013-06-05 02:49:53 +02:00
},
notFound: function () {
this._setTitle('Not Found');
2013-06-19 03:02:23 +02:00
App.mainRegion.show(new NzbDrone.Shared.NotFoundView(this));
},
2013-06-05 02:49:53 +02:00
_setTitle: function (title) {
//$('#title-region').html(title);
if (title.toLocaleLowerCase() === 'nzbdrone') {
window.document.title = 'NzbDrone';
2013-03-02 20:13:23 +01:00
}
else {
window.document.title = title + ' - NzbDrone';
2013-03-04 01:09:43 +01:00
}
2013-05-28 08:03:25 +02:00
this._clearCookies();
},
_clearCookies: function () {
if (!document.cookie) {
return;
}
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
var eqPos = cookie.indexOf("=");
var name = eqPos > -1 ? cookie.substr(0, eqPos) :cookie;
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}
}
});
2013-02-16 00:38:53 +01:00
return new controller();
2013-02-16 01:49:25 +01:00
});
2013-02-16 00:38:53 +01:00