12 {name: "data", tag: null, allowHtml: true},
13 {classes: "info", components: [
14 {tag: null, content: "Posted "},
15 {name: "date", tag: null},
16 {tag: null, content: ". "},
17 {name: "permalink", kind: "blerg.Link", content: "[permalink]"},
18 {tag: null, content: " "},
19 {name: "reply", kind: "blerg.Link", content: "[reply]", onNavigate: "postPopup"}
23 this.inherited(arguments);
25 this.timestampChanged();
28 dataChanged: function() {
29 this.$.data.setContent(blerg.Util.blergFormat(this.data));
31 timestampChanged: function() {
32 this.$.date.setContent(new Date(this.timestamp * 1000).toString());
34 authorChanged: function() {
37 recordChanged: function() {
40 updateLinks: function() {
41 this.$.permalink.setHref(baseURL + enyo.macroize("/#{$author}/{$record}", this));
43 postPopup: function() {
44 this.bubble('onPostVisibility', {
46 data: enyo.macroize("@{$author}/{$record}: ", this)
53 name: "blerg.TagRecord",
56 {name: "data", tag: null, allowHtml: true},
57 {classes: "info", components: [
58 {tag: null, content: "Posted by "},
59 {name: "author", kind: "blerg.Link", classes: "author ref"},
60 {tag: null, content: " at "},
61 {name: "date", tag: null},
62 {tag: null, content: ". "},
63 {name: "permalink", kind: "blerg.Link", content: "[permalink]"},
64 {tag: null, content: " "},
65 {name: "reply", kind: "blerg.Link", content: "[reply]", onNavigate: "postPopup"}
68 updateLinks: function() {
69 this.inherited(arguments);
70 this.$.author.setContent('@' + this.author);
71 this.$.author.setHref('/#' + this.author);
76 name: "blerg.BriefRecord",
79 {name: "authorlink", kind: "blerg.Link", classes: "author ref"},
80 {tag: null, content: " "},
81 {name: "data", tag: null}
83 dataChanged: function() {
84 var d = this.data.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
85 this.$.data.setContent(d);
87 timestampChanged: function() { },
88 updateLinks: function() {
89 this.$.authorlink.setHref(baseURL + '/#' + this.author);
90 this.$.authorlink.setContent('@' + this.author);