|
|
|
@ -25,6 +25,7 @@ var Config = require('../Config');
|
|
|
|
|
|
|
|
|
|
module.exports = Marionette.Layout.extend({
|
|
|
|
|
template : 'Settings/SettingsLayoutTemplate',
|
|
|
|
|
|
|
|
|
|
regions : {
|
|
|
|
|
mediaManagement : '#media-management',
|
|
|
|
|
profiles : '#profiles',
|
|
|
|
@ -37,6 +38,7 @@ module.exports = Marionette.Layout.extend({
|
|
|
|
|
uiRegion : '#ui',
|
|
|
|
|
loading : '#loading-region'
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
ui : {
|
|
|
|
|
mediaManagementTab : '.x-media-management-tab',
|
|
|
|
|
profilesTab : '.x-profiles-tab',
|
|
|
|
@ -49,28 +51,33 @@ module.exports = Marionette.Layout.extend({
|
|
|
|
|
uiTab : '.x-ui-tab',
|
|
|
|
|
advancedSettings : '.x-advanced-settings'
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
events : {
|
|
|
|
|
"click .x-media-management-tab" : '_showMediaManagement',
|
|
|
|
|
"click .x-profiles-tab" : '_showProfiles',
|
|
|
|
|
"click .x-quality-tab" : '_showQuality',
|
|
|
|
|
"click .x-indexers-tab" : '_showIndexers',
|
|
|
|
|
"click .x-download-client-tab" : '_showDownloadClient',
|
|
|
|
|
"click .x-notifications-tab" : '_showNotifications',
|
|
|
|
|
"click .x-metadata-tab" : '_showMetadata',
|
|
|
|
|
"click .x-general-tab" : '_showGeneral',
|
|
|
|
|
"click .x-ui-tab" : '_showUi',
|
|
|
|
|
"click .x-save-settings" : '_save',
|
|
|
|
|
"change .x-advanced-settings" : '_toggleAdvancedSettings'
|
|
|
|
|
'click .x-media-management-tab' : '_showMediaManagement',
|
|
|
|
|
'click .x-profiles-tab' : '_showProfiles',
|
|
|
|
|
'click .x-quality-tab' : '_showQuality',
|
|
|
|
|
'click .x-indexers-tab' : '_showIndexers',
|
|
|
|
|
'click .x-download-client-tab' : '_showDownloadClient',
|
|
|
|
|
'click .x-notifications-tab' : '_showNotifications',
|
|
|
|
|
'click .x-metadata-tab' : '_showMetadata',
|
|
|
|
|
'click .x-general-tab' : '_showGeneral',
|
|
|
|
|
'click .x-ui-tab' : '_showUi',
|
|
|
|
|
'click .x-save-settings' : '_save',
|
|
|
|
|
'change .x-advanced-settings' : '_toggleAdvancedSettings'
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
initialize : function(options) {
|
|
|
|
|
if (options.action) {
|
|
|
|
|
this.action = options.action.toLowerCase();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.listenTo(vent, vent.Hotkeys.SaveSettings, this._save);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onRender : function() {
|
|
|
|
|
this.loading.show(new LoadingView());
|
|
|
|
|
var self = this;
|
|
|
|
|
|
|
|
|
|
this.mediaManagementSettings = new MediaManagementSettingsModel();
|
|
|
|
|
this.namingSettings = new NamingModel();
|
|
|
|
|
this.indexerSettings = new IndexerSettingsModel();
|
|
|
|
@ -78,7 +85,8 @@ module.exports = Marionette.Layout.extend({
|
|
|
|
|
this.notificationCollection = new NotificationCollection();
|
|
|
|
|
this.generalSettings = new GeneralSettingsModel();
|
|
|
|
|
this.uiSettings = new UiSettingsModel();
|
|
|
|
|
Backbone.$.when(this.mediaManagementSettings.fetch(), this.namingSettings.fetch(), this.indexerSettings.fetch(), this.downloadClientSettings.fetch(), this.notificationCollection.fetch(), this.generalSettings.fetch(), this.uiSettings.fetch()).done(function(){
|
|
|
|
|
Backbone.$.when(this.mediaManagementSettings.fetch(), this.namingSettings.fetch(), this.indexerSettings.fetch(), this.downloadClientSettings.fetch(),
|
|
|
|
|
this.notificationCollection.fetch(), this.generalSettings.fetch(), this.uiSettings.fetch()).done(function() {
|
|
|
|
|
if (!self.isClosed) {
|
|
|
|
|
self.loading.$el.hide();
|
|
|
|
|
self.mediaManagement.show(new MediaManagementLayout({
|
|
|
|
@ -95,8 +103,10 @@ module.exports = Marionette.Layout.extend({
|
|
|
|
|
self.uiRegion.show(new UiView({ model : self.uiSettings }));
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this._setAdvancedSettingsState();
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onShow : function() {
|
|
|
|
|
switch (this.action) {
|
|
|
|
|
case 'profiles':
|
|
|
|
@ -130,48 +140,61 @@ module.exports = Marionette.Layout.extend({
|
|
|
|
|
this._showMediaManagement();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_showMediaManagement : function(e) {
|
|
|
|
|
if (e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.ui.mediaManagementTab.tab('show');
|
|
|
|
|
this._navigate('settings/mediamanagement');
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_showProfiles : function(e) {
|
|
|
|
|
if (e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.ui.profilesTab.tab('show');
|
|
|
|
|
this._navigate('settings/profiles');
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_showQuality : function(e) {
|
|
|
|
|
if (e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.ui.qualityTab.tab('show');
|
|
|
|
|
this._navigate('settings/quality');
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_showIndexers : function(e) {
|
|
|
|
|
if (e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.ui.indexersTab.tab('show');
|
|
|
|
|
this._navigate('settings/indexers');
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_showDownloadClient : function(e) {
|
|
|
|
|
if (e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.ui.downloadClientTab.tab('show');
|
|
|
|
|
this._navigate('settings/downloadclient');
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_showNotifications : function(e) {
|
|
|
|
|
if (e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.ui.notificationsTab.tab('show');
|
|
|
|
|
this._navigate('settings/connect');
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_showMetadata : function(e) {
|
|
|
|
|
if (e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
@ -179,6 +202,7 @@ module.exports = Marionette.Layout.extend({
|
|
|
|
|
this.ui.metadataTab.tab('show');
|
|
|
|
|
this._navigate('settings/metadata');
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_showGeneral : function(e) {
|
|
|
|
|
if (e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
@ -186,6 +210,7 @@ module.exports = Marionette.Layout.extend({
|
|
|
|
|
this.ui.generalTab.tab('show');
|
|
|
|
|
this._navigate('settings/general');
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_showUi : function(e) {
|
|
|
|
|
if (e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
@ -193,29 +218,34 @@ module.exports = Marionette.Layout.extend({
|
|
|
|
|
this.ui.uiTab.tab('show');
|
|
|
|
|
this._navigate('settings/ui');
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_navigate : function(route) {
|
|
|
|
|
Backbone.history.navigate(route, {
|
|
|
|
|
trigger : false,
|
|
|
|
|
replace : true
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_save : function() {
|
|
|
|
|
vent.trigger(vent.Commands.SaveSettings);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_setAdvancedSettingsState : function() {
|
|
|
|
|
var checked = Config.getValueBoolean(Config.Keys.AdvancedSettings);
|
|
|
|
|
this.ui.advancedSettings.prop('checked', checked);
|
|
|
|
|
|
|
|
|
|
if (checked) {
|
|
|
|
|
$('body').addClass('show-advanced-settings');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_toggleAdvancedSettings : function() {
|
|
|
|
|
var checked = this.ui.advancedSettings.prop('checked');
|
|
|
|
|
Config.setValue(Config.Keys.AdvancedSettings, checked);
|
|
|
|
|
|
|
|
|
|
if (checked) {
|
|
|
|
|
$('body').addClass('show-advanced-settings');
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
} else {
|
|
|
|
|
$('body').removeClass('show-advanced-settings');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|