Save and add, notif settings cleanup

This commit is contained in:
Mark McDowall 2013-06-27 18:55:45 -07:00
commit f7c340d795
15 changed files with 151 additions and 43 deletions

View file

@ -40,5 +40,16 @@
<button class="btn btn-danger pull-left x-remove">delete</button>
{{/if}}
<button class="btn" data-dismiss="modal">cancel</button>
<button class="btn btn-primary x-save">save</button>
<div class="btn-group">
<button class="btn btn-primary x-save">save</button>
<button class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li class="save-and-add x-save-and-add">
save and add
</li>
</ul>
</div>
</div>

View file

@ -2,23 +2,54 @@
define(
[
'app',
'marionette',
'Mixins/AsModelBoundView'
], function (Marionette, AsModelBoundView) {
], function (App, Marionette, AsModelBoundView) {
var view = Marionette.ItemView.extend({
template: 'Settings/Indexers/EditTemplate',
events: {
'click .x-save': 'save'
'click .x-save': '_save',
'click .x-save-and-add': '_saveAndAdd'
},
initialize: function (options) {
this.indexerCollection = options.indexerCollection;
},
save: function () {
this.model.saveSettings();
_save: function () {
var self = this;
var promise = this.model.saveSettings();
if (promise) {
promise.done(function () {
self.indexerCollection.add(self.model, { merge: true });
App.modalRegion.closeModal();
});
}
},
_saveAndAdd: function () {
var self = this;
var promise = this.model.saveSettings();
if (promise) {
promise.done(function () {
self.indexerCollection.add(self.model, { merge: true });
self.model.set({
id: undefined,
name: '',
enable: false
});
_.each(self.model.get('fields'), function (value, key, list) {
self.model.set('fields.' + key +'.value', '');
});
});
}
}
});