X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=www%2Fjssrc%2Fblerg%2FUser.js;h=d2d0b83e1b5927689e0ad20d4587c4df4c946157;hb=15917511e7ec895e1caf6464a7deef76ed448f76;hp=b977fa032eb3176e61570aa2521f67e7072b4e7f;hpb=65a1f7dc82554486ffa9cc03eac29a7a1642f046;p=blerg.git diff --git a/www/jssrc/blerg/User.js b/www/jssrc/blerg/User.js index b977fa0..d2d0b83 100644 --- a/www/jssrc/blerg/User.js +++ b/www/jssrc/blerg/User.js @@ -2,11 +2,31 @@ enyo.kind({ name: "blerg.User", kind: "blerg.Pager", listKind: "blerg.Record", + handlers: { + onLogin: "getStalkStatus", + onLogout: "getStalkStatus" + }, published: { username: "", permalink: false, record: null, }, + components: [ + {classes: "blerg-user-controls", components: [ + {name: "chatterLink", kind: "blerg.Link", content: "[chatter]"}, + {name: "stalkLink", kind: "blerg.Link", content: "[stalk]", showing: false, onclick: "startStalking"}, + {name: "unstalkLink", kind: "blerg.Link", content: "[stop stalking]", showing: false, onclick: "stopStalking"}, + {name: "rssLink", kind: "blerg.Link", components: [ + {noDom: true, content: "["}, + {kind: "Image", src: "/images/rss.png", attributes: {width: 16, height: 16}}, + {noDom: true, content: "RSS]"} + ]} + ]}, + {name: "records"}, + {name: "loadMoreButton", kind: "onyx.Button", onclick: "loadMore", content: "Load More"}, + {name: "api", kind: "blerg.API", + onItemsLoaded: "itemsLoaded"} + ], statics: { locationDetect: function(l) { var m = l.hash.match(/^#([A-Za-z0-9_-]+)(?:\/(\d+))?$/); @@ -29,6 +49,10 @@ enyo.kind({ this.$.records.destroyComponents(); this.lastRecord = null; this.$.loadMoreButton.hide(); + this.$.chatterLink.setHref('/#/ref/' + this.username); + this.$.rssLink.setHref('/rss/' + this.username); + this.getStalkStatus(); + if (this.permalink) { this.loadItems(this.record, this.record); } else { @@ -37,30 +61,27 @@ enyo.kind({ }, loadItems: function(from, to) { this.inherited(arguments); - - var url; - if (from != undefined && to != undefined) { - url = baseURL + '/get/' + this.username + '/' + from + '-' + to; + this.$.api.loadUserRecords(this.username, from, to); + }, + itemsLoaded: function(inSender, inEvent) { + if (this.permalink) { + this.$.loadMoreButton.hide(); } else { - url = baseURL + '/get/' + this.username; + this.$.loadMoreButton.show(); } - var req = new enyo.Ajax({ - url: url - }); - req.response(function(inSender, inResponse) { - if (this.permalink) { - this.$.loadMoreButton.hide(); - } else { - this.$.loadMoreButton.show(); - } - - for (var i = 0; i < inResponse.length; i++) { - inResponse[i].author = this.username; - } + for (var i = 0; i < inEvent.entries.length; i++) { + inEvent.entries[i].author = this.username; + } - this.addItems(inResponse); - }.bind(this)); - req.go(); + this.addItems(inEvent.entries); + }, + getStalkStatus: function() { + if (!blerg.API.loggedIn) { + this.$.stalkLink.hide(); + this.$.unstalkLink.hide(); + return; + } + // Make an API call to determine status } });