summaryrefslogtreecommitdiffstats
path: root/pyload/web/app/scripts/views/accounts/accountListView.js
diff options
context:
space:
mode:
authorGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2013-06-09 18:10:22 +0200
committerGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2013-06-09 18:10:23 +0200
commit16af85004c84d0d6c626b4f8424ce9647669a0c1 (patch)
tree025d479862d376dbc17e934f4ed20031c8cd97d1 /pyload/web/app/scripts/views/accounts/accountListView.js
parentadapted to jshint config (diff)
downloadpyload-16af85004c84d0d6c626b4f8424ce9647669a0c1.tar.xz
moved everything from module to pyload
Diffstat (limited to 'pyload/web/app/scripts/views/accounts/accountListView.js')
-rw-r--r--pyload/web/app/scripts/views/accounts/accountListView.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/pyload/web/app/scripts/views/accounts/accountListView.js b/pyload/web/app/scripts/views/accounts/accountListView.js
new file mode 100644
index 000000000..4eb5bfe7d
--- /dev/null
+++ b/pyload/web/app/scripts/views/accounts/accountListView.js
@@ -0,0 +1,52 @@
+define(['jquery', 'underscore', 'backbone', 'app', 'collections/AccountList', './accountView',
+ 'hbs!tpl/accounts/layout', 'hbs!tpl/accounts/actionbar'],
+ function($, _, Backbone, App, AccountList, accountView, template, templateBar) {
+ 'use strict';
+
+ // Renders settings over view page
+ return Backbone.Marionette.CollectionView.extend({
+
+ itemView: accountView,
+ template: template,
+
+ collection: null,
+ modal: null,
+
+ initialize: function() {
+ this.actionbar = Backbone.Marionette.ItemView.extend({
+ template: templateBar,
+ events: {
+ 'click .btn': 'addAccount'
+ },
+ addAccount: _.bind(this.addAccount, this)
+ });
+
+ this.collection = new AccountList();
+ this.update();
+
+ this.listenTo(App.vent, 'accounts:updated', this.update);
+ },
+
+ update: function() {
+ this.collection.fetch();
+ },
+
+ onBeforeRender: function() {
+ this.$el.html(template());
+ },
+
+ appendHtml: function(collectionView, itemView, index) {
+ this.$('.account-list').append(itemView.el);
+ },
+
+ addAccount: function() {
+ var self = this;
+ _.requireOnce(['views/accounts/accountModal'], function(Modal) {
+ if (self.modal === null)
+ self.modal = new Modal();
+
+ self.modal.show();
+ });
+ }
+ });
+ }); \ No newline at end of file