summaryrefslogtreecommitdiff
path: root/public/assets/js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/js')
-rw-r--r--public/assets/js/lib/views/mail/boxlist.js26
-rw-r--r--public/assets/js/lib/views/mail/mailbox.js16
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)