summaryrefslogtreecommitdiff
path: root/public/assets
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets')
-rw-r--r--public/assets/js/lib/router.js8
-rw-r--r--public/assets/js/lib/views/keywords/keywords.js13
-rw-r--r--public/assets/js/lib/views/users/users.js76
3 files changed, 92 insertions, 5 deletions
diff --git a/public/assets/js/lib/router.js b/public/assets/js/lib/router.js
index b6eff73..f856283 100644
--- a/public/assets/js/lib/router.js
+++ b/public/assets/js/lib/router.js
@@ -22,7 +22,8 @@ var SiteRouter = Router.extend({
"/mail/compose/:username": 'compose',
"/mail/read/:id": 'message',
"/mail/reply/:id": 'compose',
- "/profile": 'profile',
+ "/users": 'users',
+ "/profile": 'profile',
"/profile/:username": 'profile',
"/profile/:username/edit": 'editProfile',
"/adminz": 'adminz',
@@ -85,6 +86,11 @@ var SiteRouter = Router.extend({
app.view.load(keyword || "")
},
+ users: function(username){
+ app.view = new UsersView ()
+ app.view.load()
+ },
+
profile: function(username){
app.view = new ProfileView ()
app.view.load(username || auth.user.username)
diff --git a/public/assets/js/lib/views/keywords/keywords.js b/public/assets/js/lib/views/keywords/keywords.js
index 12bd5a8..c5a9491 100644
--- a/public/assets/js/lib/views/keywords/keywords.js
+++ b/public/assets/js/lib/views/keywords/keywords.js
@@ -19,16 +19,21 @@ var KeywordsView = View.extend({
populate: function(data){
// console.log(data)
var keywordThreads = {}
- data.threadGroups.forEach(kw => {
+ var keywordStats = {}
+ data.threads.forEach(kw => {
keywordThreads[kw.keyword] = kw
})
+ data.threadGroups.forEach(kw => {
+ keywordStats[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: '',
+ }
+ var stats = keywordStats[keyword.keyword.toLowerCase()] || {
}
// {
// keyword: "warez",
@@ -38,9 +43,9 @@ var KeywordsView = View.extend({
// lastmodified: 1192401724
// },
// console.log(keyword, thread)
- var viewed = thread['sum(`viewed`)']
+ var viewed = stats['sum(`viewed`)']
var views = viewed ? hush_views(viewed) : ['','']
- var threadCountNum = thread['count(*)']
+ var threadCountNum = stats['count(*)']
var threadCount = threadCountNum ? hush_threads(threadCountNum) : ['','']
var dot = privacy_dot(thread.privacy)
var datetime = verbose_date(keyword.createdate)
diff --git a/public/assets/js/lib/views/users/users.js b/public/assets/js/lib/views/users/users.js
new file mode 100644
index 0000000..f3c0ef5
--- /dev/null
+++ b/public/assets/js/lib/views/users/users.js
@@ -0,0 +1,76 @@
+var UsersView = View.extend({
+
+ el: "#users_list",
+
+ events: {
+ },
+
+ action: "/api/users",
+
+ initialize: function(opt){
+ this.template = this.$(".template").html()
+ this.form = new NewKeywordForm ({ parent: this })
+ },
+
+ 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 threadCountNum = thread['count(*)']
+ var threadCount = threadCountNum ? hush_threads(threadCountNum) : ['','']
+ 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, sanitizeHTML(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(/{{threadcount}}/, threadCount[1])
+ .replace(/{{threadcount_class}}/, threadCount[0])
+// .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')
+ },
+
+})