|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
|
|
define([
|
|
|
|
|
'app', 'marionette', 'Mixins/AsModelBoundView', 'bootstrap'
|
|
|
|
|
|
|
|
|
|
], function (App, Marionette, AsModelBoundView) {
|
|
|
|
|
|
|
|
|
|
var view = Marionette.ItemView.extend({
|
|
|
|
|
template : 'Settings/DownloadClient/DownloadClientTemplate',
|
|
|
|
|
className: 'form-horizontal',
|
|
|
|
|
|
|
|
|
|
ui: {
|
|
|
|
|
bsSwitch : '.switch',
|
|
|
|
|
tooltip : '.help-inline i',
|
|
|
|
|
pathInput : '.x-path',
|
|
|
|
|
sabConfig : '.x-sab-config',
|
|
|
|
|
blackholeConfig : '.x-blackhole-config',
|
|
|
|
|
pneumaticConfig : '.x-pneumatic-config',
|
|
|
|
|
nzbGetConfig : '.x-nzbget-config',
|
|
|
|
|
downloadClientSelect: '.x-download-client'
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
events: {
|
|
|
|
|
'change .x-download-client': 'downloadClientChanged'
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onRender: function () {
|
|
|
|
|
this.ui.pathInput.autoComplete('/directories');
|
|
|
|
|
this.refreshUIVisibility(this.model.get('downloadClient'));
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
downloadClientChanged: function () {
|
|
|
|
|
var clientId = this.ui.downloadClientSelect.val();
|
|
|
|
|
this.refreshUIVisibility(clientId);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
refreshUIVisibility: function (clientId) {
|
|
|
|
|
|
|
|
|
|
if (!clientId) {
|
|
|
|
|
clientId = "sabnzbd";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
switch (clientId.toString()) {
|
|
|
|
|
case "sabnzbd":
|
|
|
|
|
this.ui.sabConfig.show();
|
|
|
|
|
this.ui.blackholeConfig.hide();
|
|
|
|
|
this.ui.pneumaticConfig.hide();
|
|
|
|
|
this.ui.nzbGetConfig.hide();
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case "blackhole":
|
|
|
|
|
this.ui.sabConfig.hide();
|
|
|
|
|
this.ui.blackholeConfig.show();
|
|
|
|
|
this.ui.pneumaticConfig.hide();
|
|
|
|
|
this.ui.nzbGetConfig.hide();
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case "pneumatic":
|
|
|
|
|
this.ui.sabConfig.hide();
|
|
|
|
|
this.ui.blackholeConfig.hide();
|
|
|
|
|
this.ui.pneumaticConfig.show();
|
|
|
|
|
this.ui.nzbGetConfig.hide();
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case "nzbget":
|
|
|
|
|
this.ui.sabConfig.hide();
|
|
|
|
|
this.ui.blackholeConfig.hide();
|
|
|
|
|
this.ui.pneumaticConfig.hide();
|
|
|
|
|
this.ui.nzbGetConfig.show();
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default :
|
|
|
|
|
throw "unknown download client id" + clientId;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return AsModelBoundView.call(view);
|
|
|
|
|
});
|