63 lines
1.9 KiB
JavaScript
63 lines
1.9 KiB
JavaScript
'use strict';
|
|
define(
|
|
[
|
|
'marionette',
|
|
'Mixins/AsModelBoundView'
|
|
], function (Marionette, AsModelBoundView) {
|
|
|
|
var view = Marionette.ItemView.extend({
|
|
template: 'Settings/MediaManagement/Naming/ViewTemplate',
|
|
|
|
ui: {
|
|
namingOptions : '.x-naming-options',
|
|
renameEpisodesCheckbox: '.x-rename-episodes',
|
|
singleEpisodeExample : '.x-single-episode-example',
|
|
multiEpisodeExample : '.x-multi-episode-example'
|
|
},
|
|
|
|
events: {
|
|
'change .x-rename-episodes': '_setNamingOptionsVisibility'
|
|
},
|
|
|
|
onRender: function(){
|
|
if(!this.model.get('renameEpisodes')){
|
|
this.ui.namingOptions.hide();
|
|
}
|
|
|
|
this.listenTo(this.model, 'change', this._buildExamples);
|
|
this._buildExamples();
|
|
},
|
|
|
|
_setNamingOptionsVisibility: function () {
|
|
var checked = this.ui.renameEpisodesCheckbox.prop('checked');
|
|
if (checked) {
|
|
this.ui.namingOptions.slideDown();
|
|
}
|
|
|
|
else {
|
|
this.ui.namingOptions.slideUp();
|
|
}
|
|
},
|
|
|
|
_buildExamples: function () {
|
|
var self = this;
|
|
|
|
var data = this.model.toJSON();
|
|
data.id = 0;
|
|
|
|
var promise = $.ajax({
|
|
type: 'POST',
|
|
url : window.ApiRoot + '/naming',
|
|
data: JSON.stringify(data)
|
|
});
|
|
|
|
promise.done(function (result) {
|
|
self.ui.singleEpisodeExample.html(result.singleEpisodeExample);
|
|
self.ui.multiEpisodeExample.html(result.multiEpisodeExample);
|
|
});
|
|
}
|
|
});
|
|
|
|
return AsModelBoundView.call(view);
|
|
});
|