diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2017-12-15 06:52:54 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2017-12-15 06:52:54 +0100 |
| commit | a1b33089877660ba33331d76281e68790f35ae44 (patch) | |
| tree | 168692d34f8af123ef2bab505a3cdbe4d1d57229 /public/assets/js/lib | |
| parent | 7ad469291c015b33a2d20587db26b9621ed82d00 (diff) | |
keywords list
Diffstat (limited to 'public/assets/js/lib')
| -rw-r--r-- | public/assets/js/lib/router.js | 10 | ||||
| -rw-r--r-- | public/assets/js/lib/views/details/details.js (renamed from public/assets/js/lib/views/details/index.js) | 0 | ||||
| -rw-r--r-- | public/assets/js/lib/views/keywords/keywords.js | 72 |
3 files changed, 80 insertions, 2 deletions
diff --git a/public/assets/js/lib/router.js b/public/assets/js/lib/router.js index da5149a..9ac6336 100644 --- a/public/assets/js/lib/router.js +++ b/public/assets/js/lib/router.js @@ -13,6 +13,8 @@ var SiteRouter = Router.extend({ "/details/:id/settings": 'threadSettings', "/post": 'post', "/post/:keyword": 'post', + "/comment/:id/edit": 'editComment', + "/keywords": 'keywords', "/search": 'search', "/mail": 'mailbox', "/mail/:mailbox": 'mailbox', @@ -20,7 +22,6 @@ var SiteRouter = Router.extend({ "/mail/compose/:username": 'compose', "/mail/read/:id": 'message', "/mail/reply/:id": 'compose', - "/comment/:id/edit": 'editComment', "/profile": 'profile', "/profile/:username": 'profile', "/profile/:username/edit": 'editProfile', @@ -62,7 +63,12 @@ var SiteRouter = Router.extend({ app.view = new EditCommentForm () app.view.load(id) }, - + + keywords: function(){ + app.view = new KeywordsView () + app.view.load() + }, + mailbox: function(box){ app.view = new MailboxView () app.view.load(box) diff --git a/public/assets/js/lib/views/details/index.js b/public/assets/js/lib/views/details/details.js index 1b67b92..1b67b92 100644 --- a/public/assets/js/lib/views/details/index.js +++ b/public/assets/js/lib/views/details/details.js diff --git a/public/assets/js/lib/views/keywords/keywords.js b/public/assets/js/lib/views/keywords/keywords.js new file mode 100644 index 0000000..acb76f1 --- /dev/null +++ b/public/assets/js/lib/views/keywords/keywords.js @@ -0,0 +1,72 @@ +var KeywordsView = View.extend({ + + el: "#keyword_list", + + events: { + }, + + action: "/api/keywords/statistics", + + initialize: function(opt){ + this.template = this.$(".template").html() + console.log(this.$(".template")) + }, + + load: function(){ + $.get(this.action, this.populate.bind(this)) + }, + + populate: function(data){ + console.log(data) + var keywordThreads = {} + data.threadGroups.forEach(kw => { + keywordThreads[kw.keyword] = kw + }) + data.keywords + .map(a => [parseInt((keywordThreads[a.keyword] || {})['sum(`viewed`)']) || 0, a]) + .sort((b,a) => cmp(a[0], b[0])) + .map(a => a[1]) + .forEach(keyword => { + var thread = keywordThreads[keyword.keyword.toLowerCase()] || { + title: '', + } + // { + // keyword: "warez", + // sum(`viewed`): "498", + // id: 701, + // title: "EMS SYNTHI PLUG FOR MAC", + // lastmodified: 1192401724 + // }, + console.log(keyword, thread) + var viewed = thread['sum(`viewed`)'] + var views = viewed ? hush_views(viewed) : ['',''] + var dot = privacy_dot(thread.privacy) + var datetime = verbose_date(keyword.createdate) + var age = get_age(thread.lastmodified) + var id = thread.id + get_revision(thread) + var t = this.template + .replace(/{{keyword}}/g, sanitize(keyword.keyword)) + .replace(/{{id}}/g, id) + .replace(/{{username}}/g, keyword.username) + .replace(/{{privacy_dot}}/g, dot) + .replace(/{{title}}/g, thread.title) + .replace(/{{date}}/g, datetime[0]) + .replace(/{{time}}/g, datetime[1]) + .replace(/{{date_class}}/g, carbon_date(thread.lastmodified) ) + .replace(/{{views}}/g, views[1]) +// .replace(/{{comments}}/g, comments[1]) +// .replace(/{{files}}/g, files[1]) +// .replace(/{{size}}/g, size[1] ) + .replace(/{{views_class}}/g, views[0]) +// .replace(/{{comments_class}}/g, comments[0]) +// .replace(/{{files_class}}/g, files[0]) +// .replace(/{{show_files}}/g, thread.file_count == 0 ? "hidden" : "") +// .replace(/{{size_class}}/g, size[0] ) + .replace(/{{color}}/g, thread.color || "blue" ) + + this.$el.append(t) + }) + $("body").removeClass('loading') + }, + +})
\ No newline at end of file |
