'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._updateExamples); this._updateExamples(); }, _setNamingOptionsVisibility: function () { var checked = this.ui.renameEpisodesCheckbox.prop('checked'); if (checked) { this.ui.namingOptions.slideDown(); } else { this.ui.namingOptions.slideUp(); } }, _updateExamples: function () { var self = this; var promise = $.ajax({ type: 'GET', url : window.ApiRoot + '/config/naming/samples', data: this.model.toJSON() }); promise.done(function (result) { self.ui.singleEpisodeExample.html(result.singleEpisodeExample); self.ui.multiEpisodeExample.html(result.multiEpisodeExample); }); } }); return AsModelBoundView.call(view); });