From cbd4f4b5375f89362733e10a9b98e5a74c2a5734 Mon Sep 17 00:00:00 2001 From: RaNaN Date: Fri, 31 Aug 2012 23:25:26 +0200 Subject: first js models/views --- module/web/static/js/views/packageTreeView.js | 54 +++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 module/web/static/js/views/packageTreeView.js (limited to 'module/web/static/js/views/packageTreeView.js') diff --git a/module/web/static/js/views/packageTreeView.js b/module/web/static/js/views/packageTreeView.js new file mode 100644 index 000000000..79527b394 --- /dev/null +++ b/module/web/static/js/views/packageTreeView.js @@ -0,0 +1,54 @@ +define(['jquery', 'backbone', 'underscore', 'models/TreeCollection'], function($, Backbone, _, TreeCollection){ + + // Renders whole PackageView + return Backbone.View.extend({ + + el: '#content', + + events: { + + }, + + initialize: function() { + _.bindAll(this, 'render'); + + this.tree = new TreeCollection(); + + }, + + init: function() { + var self = this; + this.tree.fetch({success: function(){ + self.render(); + }}); + }, + + + render: function() { + + var packs = this.tree.get('packages'), + files = this.tree.get('files'), + html = 'Root: ' + this.tree.get('root').get('name') + '
'; + + html += 'Packages: ' + packs.size(); + html += '

Files: ' + files.size() + '
'; + + + this.$el.html(html); + + return this; + } + + }); +}); \ No newline at end of file -- cgit v1.2.3 From a03ece96ae83e8fedb27fdb297c52a8e6b111d55 Mon Sep 17 00:00:00 2001 From: RaNaN Date: Sat, 1 Sep 2012 21:00:38 +0200 Subject: some functionality for the views --- module/web/static/js/views/packageTreeView.js | 134 +++++++++++++++----------- 1 file changed, 80 insertions(+), 54 deletions(-) (limited to 'module/web/static/js/views/packageTreeView.js') diff --git a/module/web/static/js/views/packageTreeView.js b/module/web/static/js/views/packageTreeView.js index 79527b394..91768ec04 100644 --- a/module/web/static/js/views/packageTreeView.js +++ b/module/web/static/js/views/packageTreeView.js @@ -1,54 +1,80 @@ -define(['jquery', 'backbone', 'underscore', 'models/TreeCollection'], function($, Backbone, _, TreeCollection){ - - // Renders whole PackageView - return Backbone.View.extend({ - - el: '#content', - - events: { - - }, - - initialize: function() { - _.bindAll(this, 'render'); - - this.tree = new TreeCollection(); - - }, - - init: function() { - var self = this; - this.tree.fetch({success: function(){ - self.render(); - }}); - }, - - - render: function() { - - var packs = this.tree.get('packages'), - files = this.tree.get('files'), - html = 'Root: ' + this.tree.get('root').get('name') + '
'; - - html += 'Packages: ' + packs.size(); - html += '

Files: ' + files.size() + '
'; - - - this.$el.html(html); - - return this; - } - - }); -}); \ No newline at end of file +define(['jquery', 'backbone', 'underscore', 'models/TreeCollection', 'views/packageView', 'views/fileView'], + function($, Backbone, _, TreeCollection, packageView, fileView) { + + // Renders whole PackageView + return Backbone.View.extend({ + + el: '#content', + + events: { + 'click #add': 'addPackage', + 'keypress #name': 'addOnEnter' + }, + + initialize: function() { + _.bindAll(this, 'render'); + + this.tree = new TreeCollection(); + + }, + + init: function() { + var self = this; + this.tree.fetch({success: function() { + self.render(); + }}); + }, + + render: function() { + + this.$el.html("
"); + + var packs = this.tree.get('packages'), + files = this.tree.get('files'); + + this.$el.append($('Root: ' + this.tree.get('root').get('name') + ' ')); + this.$el.append($('')); + this.$el.append($(' Add
')); + + var ul = $(''); + packs.each(function(pack) { + ul.append(new packageView({model: pack}).render().el); + }); + + this.$el.append(ul); + this.$el.append($('
Files: ' + files.size() + '
')); + + ul = $(''); + files.each(function(file) { + ul.append(new fileView({model: file}).render().el); + }); + + this.$el.append(ul); + + return this; + }, + + addOnEnter: function(e) { + if (e.keyCode != 13) return; + this.addPackage(e); + }, + + addPackage: function() { + var self = this; + var settings = { + data: { + name: '"' + $('#name').val() + '"', + links: '["some link"]' + }, + success: function() { + self.tree.fetch({success: function() { + self.render(); + }}); + } + }; + + $.ajax('api/addPackage', settings); + $('#name').val(''); + } + }); + }); \ No newline at end of file -- cgit v1.2.3 From 288b6190121618090107b3c0bb4f9e3539608d3b Mon Sep 17 00:00:00 2001 From: RaNaN Date: Sun, 2 Sep 2012 19:22:48 +0200 Subject: modal dialog --- module/web/static/js/views/packageTreeView.js | 3 --- 1 file changed, 3 deletions(-) (limited to 'module/web/static/js/views/packageTreeView.js') diff --git a/module/web/static/js/views/packageTreeView.js b/module/web/static/js/views/packageTreeView.js index 91768ec04..e26924db2 100644 --- a/module/web/static/js/views/packageTreeView.js +++ b/module/web/static/js/views/packageTreeView.js @@ -12,8 +12,6 @@ define(['jquery', 'backbone', 'underscore', 'models/TreeCollection', 'views/pack }, initialize: function() { - _.bindAll(this, 'render'); - this.tree = new TreeCollection(); }, @@ -26,7 +24,6 @@ define(['jquery', 'backbone', 'underscore', 'models/TreeCollection', 'views/pack }, render: function() { - this.$el.html("
"); var packs = this.tree.get('packages'), -- cgit v1.2.3 From 68f1510f5a6ab632db19fc63f29c0475de9feb9d Mon Sep 17 00:00:00 2001 From: RaNaN Date: Mon, 17 Sep 2012 15:46:42 +0200 Subject: nav + search bar for dashboard --- module/web/static/js/views/packageTreeView.js | 2 -- 1 file changed, 2 deletions(-) (limited to 'module/web/static/js/views/packageTreeView.js') diff --git a/module/web/static/js/views/packageTreeView.js b/module/web/static/js/views/packageTreeView.js index e26924db2..30f159cf7 100644 --- a/module/web/static/js/views/packageTreeView.js +++ b/module/web/static/js/views/packageTreeView.js @@ -24,8 +24,6 @@ define(['jquery', 'backbone', 'underscore', 'models/TreeCollection', 'views/pack }, render: function() { - this.$el.html("
"); - var packs = this.tree.get('packages'), files = this.tree.get('files'); -- cgit v1.2.3