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.
61 lines
1.7 KiB
61 lines
1.7 KiB
'use strict';
|
|
|
|
define([
|
|
'underscore',
|
|
'jquery',
|
|
'AppLayout',
|
|
'marionette',
|
|
'Settings/Notifications/Edit/NotificationEditView'
|
|
], function (_, $, AppLayout, Marionette, EditView) {
|
|
|
|
return Marionette.ItemView.extend({
|
|
template : 'Settings/Notifications/Add/NotificationAddItemViewTemplate',
|
|
tagName : 'li',
|
|
className : 'add-thingy-item',
|
|
|
|
events: {
|
|
'click .x-preset': '_addPreset',
|
|
'click' : '_add'
|
|
},
|
|
|
|
initialize: function (options) {
|
|
this.targetCollection = options.targetCollection;
|
|
},
|
|
|
|
_addPreset: function (e) {
|
|
|
|
var presetName = $(e.target).closest('.x-preset').attr('data-id');
|
|
|
|
var presetData = _.where(this.model.get('presets'), {name: presetName})[0];
|
|
|
|
this.model.set(presetData);
|
|
|
|
this.model.set({
|
|
id : undefined,
|
|
onGrab : true,
|
|
onDownload : true,
|
|
onUpgrade : true
|
|
});
|
|
|
|
var editView = new EditView({ model: this.model, targetCollection: this.targetCollection });
|
|
AppLayout.modalRegion.show(editView);
|
|
},
|
|
|
|
_add: function (e) {
|
|
if ($(e.target).closest('.btn,.btn-group').length !== 0) {
|
|
return;
|
|
}
|
|
|
|
this.model.set({
|
|
id : undefined,
|
|
onGrab : true,
|
|
onDownload : true,
|
|
onUpgrade : true
|
|
});
|
|
|
|
var editView = new EditView({ model: this.model, targetCollection: this.targetCollection });
|
|
AppLayout.modalRegion.show(editView);
|
|
}
|
|
});
|
|
});
|