diff options
Diffstat (limited to 'public/assets/js/lib/views/profile/profile.js')
| -rw-r--r-- | public/assets/js/lib/views/profile/profile.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/public/assets/js/lib/views/profile/profile.js b/public/assets/js/lib/views/profile/profile.js new file mode 100644 index 0000000..2180532 --- /dev/null +++ b/public/assets/js/lib/views/profile/profile.js @@ -0,0 +1,37 @@ +var ProfileView = View.extend({ + + el: "#profile", + + events: { + }, + + action: "/api/user/", + + initialize: function(opt){ + this.template = this.$(".template").html() + }, + + load: function(username){ + $.get(this.action + username, this.populate.bind(this)) + }, + + populate: function(user){ + $("body").removeClass('loading') + var $table = this.$("table") + this.$("img").attr("src", "/data/profile/" + sanitize(user.username) + ".jpg") + var fields = "username realname phone location".split(" ").map((key) => { + if (! user[key]) return; + var t = this.template.replace(/{{key}}/, sanitize(key)) + .replace(/{{value}}/, sanitize(user[key])) + $table.append(t) + }) + var fields = "firstseen lastseen".split(" ").map((key) => { + if (! user[key]) return; + var date = verbose_date(user[key]) + var t = this.template.replace(/{{key}}/, sanitize(key)) + .replace(/{{value}}/, date[0] + ' <small>' + date[1] + '</small>') + $table.append(t) + }) + }, + +}) |
