diff options
Diffstat (limited to 'public/assets/js')
| -rw-r--r-- | public/assets/js/lib/views/mail/boxlist.js | 26 | ||||
| -rw-r--r-- | public/assets/js/lib/views/mail/mailbox.js | 16 |
2 files changed, 28 insertions, 14 deletions
diff --git a/public/assets/js/lib/views/mail/boxlist.js b/public/assets/js/lib/views/mail/boxlist.js new file mode 100644 index 0000000..68494ac --- /dev/null +++ b/public/assets/js/lib/views/mail/boxlist.js @@ -0,0 +1,26 @@ +var BoxList = View.extend({ + el: "#boxes", + + initialize: function(){ + this.__super__.initialize.call(this) + this.template = this.$(".template").html() + this.$table = this.$("table") + }, + + load: function(data){ + data.forEach(this.appendBox.bind(this)) + }, + + appendBox: function(box){ + var $row = $( this.parseBox(box) ) + this.$table.append($row) + }, + + parseBox: function(box){ + var t = this.template + .replace(/{{box}}/g, box.mbox.split(".")[1]) + .replace(/{{count}}/g, box.count) + return t + }, + +})
\ No newline at end of file diff --git a/public/assets/js/lib/views/mail/mailbox.js b/public/assets/js/lib/views/mail/mailbox.js index 315a713..ac66c4c 100644 --- a/public/assets/js/lib/views/mail/mailbox.js +++ b/public/assets/js/lib/views/mail/mailbox.js @@ -9,7 +9,7 @@ var MailboxView = View.extend({ initialize: function(){ this.__super__.initialize.call(this) this.template = this.$(".template").html() - this.boxTemplate = this.$(".boxTemplate").html() + this.boxlist = new BoxList () }, load: function(name){ @@ -19,17 +19,10 @@ var MailboxView = View.extend({ }, populate: function(data){ - data.boxes.forEach(this.appendBox.bind(this)) + this.boxlist.load(data.boxes) data.messages.forEach(this.appendMessage.bind(this)) }, - parseBox: function(box){ - var t = this.boxTemplate - .replace(/{{box}}/g, box.name) - .replace(/{{count}}/g, box.count) - return t - }, - parseMessage: function(message){ var datetime = verbose_date(message.date) var id = message.id @@ -46,11 +39,6 @@ var MailboxView = View.extend({ return t }, - appendBox: function(box){ - var $row = $( this.parseBox(box) ) - this.$el.append($row) - }, - appendMessage: function(message){ var $row = $( this.parseMessage(message) ) this.$el.append($row) |
