You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
944 B
35 lines
944 B
var vent = require('vent');
|
|
var DeepModel = require('backbone.deepmodel');
|
|
var AsChangeTrackingModel = require('../Mixins/AsChangeTrackingModel');
|
|
var Messenger = require('../Shared/Messenger');
|
|
|
|
var model = DeepModel.extend({
|
|
|
|
initialize : function() {
|
|
this.listenTo(vent, vent.Commands.SaveSettings, this.saveSettings);
|
|
this.listenTo(this, 'destroy', this._stopListening);
|
|
},
|
|
|
|
saveSettings : function() {
|
|
if (!this.isSaved) {
|
|
var savePromise = this.save();
|
|
|
|
Messenger.monitor({
|
|
promise : savePromise,
|
|
successMessage : this.successMessage,
|
|
errorMessage : this.errorMessage
|
|
});
|
|
|
|
return savePromise;
|
|
}
|
|
|
|
return undefined;
|
|
},
|
|
|
|
_stopListening : function() {
|
|
this.stopListening(vent, vent.Commands.SaveSettings);
|
|
}
|
|
});
|
|
|
|
module.exports = AsChangeTrackingModel.call(model);
|