summaryrefslogtreecommitdiffstats
path: root/pyload/web/app/scripts/views
diff options
context:
space:
mode:
authorGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2013-12-06 18:15:24 +0100
committerGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2013-12-06 18:15:24 +0100
commit1f4c6cd6e4b712263b40de4ce1fcebe716019b4f (patch)
treed25db580032edff61a58b3be426b4681e23addf8 /pyload/web/app/scripts/views
parentfixed jshint (diff)
downloadpyload-1f4c6cd6e4b712263b40de4ce1fcebe716019b4f.tar.xz
package edit dialog
Diffstat (limited to 'pyload/web/app/scripts/views')
-rw-r--r--pyload/web/app/scripts/views/abstract/modalView.js15
-rw-r--r--pyload/web/app/scripts/views/dashboard/editPackageView.js19
-rw-r--r--pyload/web/app/scripts/views/dashboard/packageView.js12
3 files changed, 44 insertions, 2 deletions
diff --git a/pyload/web/app/scripts/views/abstract/modalView.js b/pyload/web/app/scripts/views/abstract/modalView.js
index 61016a9fb..2fd84441b 100644
--- a/pyload/web/app/scripts/views/abstract/modalView.js
+++ b/pyload/web/app/scripts/views/abstract/modalView.js
@@ -31,6 +31,11 @@ define(['jquery', 'backbone', 'underscore', 'omniwindow'], function($, Backbone,
}
},
+ // Class method that will show a temporary instance
+ display: function() {
+
+ },
+
// TODO: whole modal stuff is not very elegant
render: function() {
this.$el.html(this.template(this.renderContent()));
@@ -110,8 +115,14 @@ define(['jquery', 'backbone', 'underscore', 'omniwindow'], function($, Backbone,
},
confirm: function() {
- if (this.confirmCallback)
- this.confirmCallback.apply();
+ // Call the confirms given or from extended class
+ if (this.confirmCallback) {
+ if (this.confirmCallback.apply() === false)
+ return;
+ } else if (_.isFunction(this.constructor.prototype.confirmCallback)) {
+ if (this.constructor.prototype.confirmCallback.call(this) === false)
+ return;
+ }
this.hide();
},
diff --git a/pyload/web/app/scripts/views/dashboard/editPackageView.js b/pyload/web/app/scripts/views/dashboard/editPackageView.js
new file mode 100644
index 000000000..45b0c6ddf
--- /dev/null
+++ b/pyload/web/app/scripts/views/dashboard/editPackageView.js
@@ -0,0 +1,19 @@
+define(['jquery', 'underscore', 'app', 'views/abstract/modalView', 'hbs!tpl/dialogs/editPackage'],
+ function($, _, App, modalView, template) {
+ 'use strict';
+
+ return modalView.extend({
+ template: template,
+ onHideDestroy: true,
+
+ confirmCallback: function() {
+ var self = this;
+ this.$el.find('.input').each(function(i, el) {
+ self.model.set($(el).data('attr'), $(el).val());
+ });
+ this.model.save();
+ }
+
+ });
+
+ }); \ No newline at end of file
diff --git a/pyload/web/app/scripts/views/dashboard/packageView.js b/pyload/web/app/scripts/views/dashboard/packageView.js
index 382615212..89972f284 100644
--- a/pyload/web/app/scripts/views/dashboard/packageView.js
+++ b/pyload/web/app/scripts/views/dashboard/packageView.js
@@ -15,6 +15,8 @@ define(['jquery', 'app', 'views/abstract/itemView', 'underscore', 'hbs!tpl/dashb
'click .select': 'select',
'click .icon-chevron-down': 'loadMenu',
'click .btn-delete': 'deleteItem',
+ 'click .btn-edit': 'edit',
+ 'click .btn-add': 'add',
'click .dropdown-submenu a': 'invokeAddon'
},
@@ -80,6 +82,16 @@ define(['jquery', 'app', 'views/abstract/itemView', 'underscore', 'hbs!tpl/dashb
App.vent.trigger('package:selection');
},
+ edit: function() {
+ var model = this.model;
+ _.requireOnce(['views/dashboard/editPackageView'], function(ModalView) {
+ new ModalView({model: model}).show();
+ });
+ },
+
+ add: function() {
+ },
+
loadMenu: function() {
App.addons.getForType(true, null, _.bind(this.renderSubmenu, this));
},