},
resizePostContentTimeout: null,
components: [
- {tag: "h2", content: "What's on your mind?"},
+ {name: "helpContent", allowHtml: true, showing: false},
+ {style: "position: relative;", components: [
+ {tag: "h2", content: "What's on your mind?", style: "width: 75%;",},
+ {name: "showHelpLink", kind: "blerg.Link", onNavigate: "showHelp", content: "Help!", style: "position: absolute; right: 1pt; bottom: 1pt; font-weight: bold; font-size: large;"},
+ {name: "hideHelpLink", kind: "blerg.Link", onNavigate: "hideHelp", content: "Hide Help", style: "position: absolute; right: 1pt; bottom: 1pt; font-weight: bold; font-size: large;", showing: false}
+ ]},
{kind: "onyx.InputDecorator", components: [
{name: "postContent", classes: "content", kind: "onyx.TextArea", onkeydown: "resizePostContent", attributes: {tabindex: 4}}
]},
{classes: "buttons", components: [
- {name: "loginReminder", tag: "span", classes: "blerg-error", style: "margin-right: 8px; vertical-align: 60%", content: "You must log in before posting."},
+ {name: "loginReminder", tag: "span", classes: "blerg-error", style: "margin-right: 8px; vertical-align: 60%;", content: "You must log in before posting."},
{kind: "onyx.Button", content: "Close", onclick: "closePost", classes: "onyx-negative", attributes: {tabindex: 6}},
{name: "postButton", kind: "onyx.Button", content: "Post", onclick: "doPost", classes: "onyx-affirmative", disabled: true, attributes: {tabindex: 5}}
- ]}
+ ]},
+ {name: "api", kind: "blerg.API",
+ onPostSuccessful: "postSuccessful",
+ onPostFailed: "postFailed"}
],
create: function() {
this.inherited(arguments);
this.bubble('onPostVisibility', {showing: false});
},
doPost: function() {
- this.bubble('onPost', {data: this.getData()});
+ this.$.api.post(this.getData());
+ },
+ postSuccessful: function() {
+ this.setData('');
+ this.closePost();
+ if (location.hash != '#' + blerg.API.username) {
+ location.hash = '#' + blerg.API.username
+ this.bubble('onNavigate');
+ } else {
+ this.bubble('onReload');
+ }
+ },
+ postFailed: function() {
+ alert('Could not post!');
},
postVisibilityUpdate: function(inSender, inEvent) {
if (inEvent.showing) {
loggedOut: function() {
this.$.postButton.setDisabled(true);
this.$.loginReminder.show();
+ },
+ showHelp: function() {
+ this.$.helpContent.show();
+ this.$.showHelpLink.hide();
+ this.$.hideHelpLink.show();
+ if (this.$.helpContent.getContent() == '') {
+ var req = new enyo.Ajax({
+ url: baseURL + '/doc/post_help.html',
+ handleAs: 'text'
+ });
+ req.response(function(inSender, inResponse) {
+ this.$.helpContent.setContent(inResponse);
+ }.bind(this));
+ req.go();
+ }
+ },
+ hideHelp: function() {
+ this.$.helpContent.hide();
+ this.$.showHelpLink.show();
+ this.$.hideHelpLink.hide();
}
});