2015-02-07 18:30:02 +00:00
|
|
|
var vent = require('vent');
|
2015-02-03 01:18:45 +00:00
|
|
|
var DeepModel = require('backbone.deepmodel');
|
|
|
|
var AsChangeTrackingModel = require('../Mixins/AsChangeTrackingModel');
|
|
|
|
var Messenger = require('../Shared/Messenger');
|
|
|
|
|
2015-07-28 05:56:44 +00:00
|
|
|
var model = DeepModel.extend({
|
2015-02-13 23:37:11 +00:00
|
|
|
|
|
|
|
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;
|
2015-02-03 01:18:45 +00:00
|
|
|
}
|
2015-02-13 23:37:11 +00:00
|
|
|
|
|
|
|
return undefined;
|
|
|
|
},
|
|
|
|
|
|
|
|
_stopListening : function() {
|
|
|
|
this.stopListening(vent, vent.Commands.SaveSettings);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
module.exports = AsChangeTrackingModel.call(model);
|