summaryrefslogtreecommitdiff
path: root/public/assets/js/lib/views/index/threadbox.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/js/lib/views/index/threadbox.js')
-rw-r--r--public/assets/js/lib/views/index/threadbox.js26
1 files changed, 23 insertions, 3 deletions
diff --git a/public/assets/js/lib/views/index/threadbox.js b/public/assets/js/lib/views/index/threadbox.js
index 0475382..0c6a4be 100644
--- a/public/assets/js/lib/views/index/threadbox.js
+++ b/public/assets/js/lib/views/index/threadbox.js
@@ -12,10 +12,26 @@ var ThreadBox = View.extend({
load: function(data){
if (data.keyword) {
- var $row = this.parseKeyword(data.keyword)
- this.$el.append($row)
+ this.appendKeyword(data.keyword)
+ data.threads.forEach(this.appendThread.bind(this))
+ }
+ else if (this.options.latest) {
+ data.threads.sort( (a,b) => {
+ return b.lastmodified - a.lastmodified
+ }).slice(0, 50).forEach(this.appendThread.bind(this))
+ }
+ else {
+ var keywords = {}
+ data.threads.forEach((thread) => {
+ var keyword = thread.keyword || '__unsorted'
+ keywords[keyword] = keywords[keyword] || []
+ keywords[keyword].push(thread)
+ })
+ Object.keys(keywords).sort().forEach((keyword) => {
+ this.appendKeyword({ keyword })
+ keywords[keyword].forEach(this.appendThread.bind(this))
+ })
}
- data.threads.forEach(this.appendThread.bind(this))
},
parse: function(thread){
@@ -65,4 +81,8 @@ var ThreadBox = View.extend({
this.$el.append($row)
},
+ appendKeyword: function(keyword){
+ var $row = $( this.parseKeyword(keyword) )
+ this.$el.append($row)
+ },
})