naming samples no longer use promises to load

This commit is contained in:
Mark McDowall 2013-10-07 20:07:16 -07:00
parent ee2973efe7
commit 4dfe201019
4 changed files with 25 additions and 18 deletions

View File

@ -3,7 +3,7 @@
define(
[
'marionette',
'Settings/MediaManagement/Naming/View',
'Settings/MediaManagement/Naming/NamingView',
'Settings/MediaManagement/Sorting/View',
'Settings/MediaManagement/FileManagement/FileManagementView'
], function (Marionette, NamingView, SortingView, FileManagementView) {

View File

@ -0,0 +1,10 @@
'use strict';
define(
[
'backbone'
], function (Backbone) {
return Backbone.Model.extend({
url: window.NzbDrone.ApiRoot + '/config/naming/samples'
});
});

View File

@ -2,11 +2,12 @@
define(
[
'marionette',
'Settings/MediaManagement/Naming/NamingSampleModel',
'Mixins/AsModelBoundView'
], function (Marionette, AsModelBoundView) {
], function (Marionette, NamingSampleModel, AsModelBoundView) {
var view = Marionette.ItemView.extend({
template: 'Settings/MediaManagement/Naming/ViewTemplate',
template: 'Settings/MediaManagement/Naming/NamingViewTemplate',
ui: {
namingOptions : '.x-naming-options',
@ -24,8 +25,11 @@ define(
this.ui.namingOptions.hide();
}
this.listenTo(this.model, 'change', this._updateExamples);
this._updateExamples();
this.namingSampleModel = new NamingSampleModel();
this.listenTo(this.model, 'change', this._updateSamples);
this.listenTo(this.namingSampleModel, 'sync', this._showSamples);
this._updateSamples();
},
_setNamingOptionsVisibility: function () {
@ -39,20 +43,13 @@ define(
}
},
_updateExamples: function () {
//TODO: make this use events/listeners
var self = this;
_updateSamples: function () {
this.namingSampleModel.fetch({ data: this.model.toJSON() });
},
var promise = $.ajax({
type: 'GET',
url : window.NzbDrone.ApiRoot + '/config/naming/samples',
data: this.model.toJSON()
});
promise.done(function (result) {
self.ui.singleEpisodeExample.html(result.singleEpisodeExample);
self.ui.multiEpisodeExample.html(result.multiEpisodeExample);
});
_showSamples: function () {
this.ui.singleEpisodeExample.html(this.namingSampleModel.get('singleEpisodeExample'));
this.ui.multiEpisodeExample.html(this.namingSampleModel.get('multiEpisodeExample'));
}
});