mirror of https://github.com/Sonarr/Sonarr
160 lines
5.4 KiB
JavaScript
160 lines
5.4 KiB
JavaScript
|
define([
|
|||
|
'app',
|
|||
|
'Quality/QualityProfileCollection',
|
|||
|
'Settings/Naming/NamingView',
|
|||
|
'Settings/Quality/QualityView',
|
|||
|
'Settings/Indexers/IndexersView',
|
|||
|
'Settings/DownloadClient/DownloadClientView',
|
|||
|
'Settings/Notifications/NotificationsView',
|
|||
|
'Settings/System/SystemView',
|
|||
|
'Settings/Misc/MiscView'
|
|||
|
],
|
|||
|
function (app, qualityProfileCollection) {
|
|||
|
NzbDrone.Settings.SettingsLayout = Backbone.Marionette.Layout.extend({
|
|||
|
template: 'Settings/SettingsLayoutTemplate',
|
|||
|
|
|||
|
regions: {
|
|||
|
naming: '#naming',
|
|||
|
quality: '#quality',
|
|||
|
indexers: '#indexers',
|
|||
|
downloadClient: '#download-client',
|
|||
|
notifications: '#notifications',
|
|||
|
system: '#system',
|
|||
|
misc: '#misc'
|
|||
|
},
|
|||
|
|
|||
|
ui: {
|
|||
|
namingTab: '.x-naming-tab',
|
|||
|
qualityTab: '.x-quality-tab',
|
|||
|
indexersTab: '.x-indexers-tab',
|
|||
|
downloadClientTab: '.x-download-client-tab',
|
|||
|
notificationsTab: '.x-notifications-tab',
|
|||
|
systemTab: '.x-system-tab',
|
|||
|
miscTab: '.x-misc-tab'
|
|||
|
},
|
|||
|
|
|||
|
events: {
|
|||
|
'click .x-naming-tab': 'showNaming',
|
|||
|
'click .x-quality-tab': 'showQuality',
|
|||
|
'click .x-indexers-tab': 'showIndexers',
|
|||
|
'click .x-download-client-tab': 'showDownloadClient',
|
|||
|
'click .x-notifications-tab': 'showNotifications',
|
|||
|
'click .x-system-tab': 'showSystem',
|
|||
|
'click .x-misc-tab': 'showMisc'
|
|||
|
},
|
|||
|
|
|||
|
showNaming: function (e) {
|
|||
|
if (e) {
|
|||
|
e.preventDefault();
|
|||
|
}
|
|||
|
|
|||
|
this.ui.namingTab.tab('show');
|
|||
|
NzbDrone.Router.navigate('settings/naming');
|
|||
|
},
|
|||
|
|
|||
|
showQuality: function (e) {
|
|||
|
if (e) {
|
|||
|
e.preventDefault();
|
|||
|
}
|
|||
|
|
|||
|
this.ui.qualityTab.tab('show');
|
|||
|
NzbDrone.Router.navigate('settings/quality');
|
|||
|
},
|
|||
|
|
|||
|
showIndexers: function (e) {
|
|||
|
if (e) {
|
|||
|
e.preventDefault();
|
|||
|
}
|
|||
|
|
|||
|
this.ui.indexersTab.tab('show');
|
|||
|
NzbDrone.Router.navigate('settings/indexers');
|
|||
|
},
|
|||
|
|
|||
|
showDownloadClient: function (e) {
|
|||
|
if (e) {
|
|||
|
e.preventDefault();
|
|||
|
}
|
|||
|
|
|||
|
this.ui.downloadClientTab.tab('show');
|
|||
|
NzbDrone.Router.navigate('settings/downloadclient');
|
|||
|
},
|
|||
|
|
|||
|
showNotifications: function (e) {
|
|||
|
if (e) {
|
|||
|
e.preventDefault();
|
|||
|
}
|
|||
|
|
|||
|
this.ui.notificationsTab.tab('show');
|
|||
|
NzbDrone.Router.navigate('settings/notifications');
|
|||
|
},
|
|||
|
|
|||
|
showSystem: function (e) {
|
|||
|
if (e) {
|
|||
|
e.preventDefault();
|
|||
|
}
|
|||
|
|
|||
|
this.ui.systemTab.tab('show');
|
|||
|
NzbDrone.Router.navigate('settings/system');
|
|||
|
},
|
|||
|
|
|||
|
showMisc: function (e) {
|
|||
|
if (e) {
|
|||
|
e.preventDefault();
|
|||
|
}
|
|||
|
|
|||
|
this.ui.miscTab.tab('show');
|
|||
|
NzbDrone.Router.navigate('settings/misc');
|
|||
|
},
|
|||
|
|
|||
|
initialize: function (context, action, query, settings) {
|
|||
|
this.settings = settings;
|
|||
|
|
|||
|
if (action) {
|
|||
|
this.action = action.toLowerCase();
|
|||
|
}
|
|||
|
|
|||
|
if (query) {
|
|||
|
this.query = query.toLowerCase();
|
|||
|
}
|
|||
|
},
|
|||
|
|
|||
|
onRender: function () {
|
|||
|
qualityProfileCollection.fetch();
|
|||
|
|
|||
|
this.naming.show(new NzbDrone.Settings.Naming.NamingView({model: this.settings}));
|
|||
|
this.quality.show(new NzbDrone.Settings.Quality.QualityView({model: this.settings}));
|
|||
|
this.indexers.show(new NzbDrone.Settings.Indexers.IndexersView({model: this.settings}));
|
|||
|
this.downloadClient.show(new NzbDrone.Settings.DownloadClient.DownloadClientView({model: this.settings}));
|
|||
|
this.notifications.show(new NzbDrone.Settings.Notifications.NotificationsView({model: this.settings}));
|
|||
|
this.system.show(new NzbDrone.Settings.System.SystemView({model: this.settings}));
|
|||
|
this.misc.show(new NzbDrone.Settings.Misc.MiscView({model: this.settings}));
|
|||
|
},
|
|||
|
|
|||
|
onShow: function () {
|
|||
|
switch (this.action) {
|
|||
|
case 'quality':
|
|||
|
this.showQuality();
|
|||
|
break;
|
|||
|
case 'indexers':
|
|||
|
this.showIndexers();
|
|||
|
break;
|
|||
|
case 'downloadclient':
|
|||
|
this.showDownloadClient();
|
|||
|
break;
|
|||
|
case 'notifications':
|
|||
|
this.showNotifications();
|
|||
|
break;
|
|||
|
case 'system':
|
|||
|
this.showSystem();
|
|||
|
break;
|
|||
|
case 'misc':
|
|||
|
this.showMisc();
|
|||
|
break;
|
|||
|
default:
|
|||
|
this.showNaming();
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
|