X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=www%2Fjssrc%2Fblerg%2FPost.js;h=c1b889c1ab198edd8a78d93f727b0cff92776a86;hb=c3a777f760bedf3f196571612a7f3a1b3c707dbf;hp=112a4971b8946845ed1cb2013c95fcc767ace11f;hpb=4720a1f90f7d42f3611f064cc5ba3d768a92b5c6;p=blerg.git diff --git a/www/jssrc/blerg/Post.js b/www/jssrc/blerg/Post.js index 112a497..c1b889c 100644 --- a/www/jssrc/blerg/Post.js +++ b/www/jssrc/blerg/Post.js @@ -9,15 +9,23 @@ enyo.kind({ }, 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); @@ -32,7 +40,20 @@ enyo.kind({ 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) { @@ -73,5 +94,25 @@ enyo.kind({ 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(); } });