Lidarr/src/UI/Settings/SettingsModelBase.js

35 lines
944 B
JavaScript
Raw Normal View History

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);