From 556daf426cc0ec87c378f3754b4b3320a8fd697d Mon Sep 17 00:00:00 2001 From: RaNaN Date: Mon, 24 Dec 2012 12:53:22 +0100 Subject: connected link add dialog, improved tree rendering --- module/web/static/js/views/linkGrabberModal.js | 31 +++++++++-- module/web/static/js/views/packageTreeView.js | 73 ++++++++++++-------------- 2 files changed, 61 insertions(+), 43 deletions(-) (limited to 'module/web/static/js/views') diff --git a/module/web/static/js/views/linkGrabberModal.js b/module/web/static/js/views/linkGrabberModal.js index b5c91baa6..13900f222 100644 --- a/module/web/static/js/views/linkGrabberModal.js +++ b/module/web/static/js/views/linkGrabberModal.js @@ -1,9 +1,11 @@ -define(['jquery', 'underscore', 'views/abstract/modalView', 'text!tpl/default/linkgrabber.html'], - function($, _, modalView, template) { - +define(['jquery', 'underscore', 'app', 'views/abstract/modalView', 'text!tpl/default/linkgrabber.html'], + function($, _, App, modalView, template) { + // Modal dialog for package adding - triggers package:added when package was added return modalView.extend({ events: { + 'click .btn-success': 'addPackage', + 'keypress #inputPackageName': 'addOnEnter' }, template: _.compile(template), @@ -15,6 +17,29 @@ define(['jquery', 'underscore', 'views/abstract/modalView', 'text!tpl/default/li renderContent: function() { return $('

Content!

'); + }, + + addOnEnter: function(e) { + if (e.keyCode != 13) return; + this.addPackage(e); + }, + + addPackage: function(e) { + var self = this; + var settings = { + type: 'POST', + data: { + name: JSON.stringify($('#inputPackageName').val()), + links: JSON.stringify(['http://download.pyload.org/random.bin', 'invalid link']) + }, + success: function() { + App.vent.trigger('package:added'); + self.hide(); + } + }; + + $.ajax('api/addPackage', settings); + $('#inputPackageName').val(''); } }); diff --git a/module/web/static/js/views/packageTreeView.js b/module/web/static/js/views/packageTreeView.js index 92e4d78a0..7491a285e 100644 --- a/module/web/static/js/views/packageTreeView.js +++ b/module/web/static/js/views/packageTreeView.js @@ -1,5 +1,5 @@ -define(['jquery', 'backbone', 'underscore', 'models/TreeCollection', 'views/packageView', 'views/fileView'], - function($, Backbone, _, TreeCollection, packageView, fileView) { +define(['jquery', 'backbone', 'underscore', 'app', 'models/TreeCollection', 'views/packageView', 'views/fileView'], + function($, Backbone, _, App, TreeCollection, packageView, fileView) { // Renders whole PackageView return Backbone.View.extend({ @@ -7,20 +7,37 @@ define(['jquery', 'backbone', 'underscore', 'models/TreeCollection', 'views/pack el: '#content', events: { - 'click #add': 'addPackage', - 'keypress #name': 'addOnEnter', 'click #show_active': 'filter' }, + //