From fc5b9f1f68322c876b331c049749f113eb0271f7 Mon Sep 17 00:00:00 2001 From: Chip Black Date: Fri, 25 May 2012 13:41:37 -0700 Subject: [PATCH] Add post functionality --- www/jssrc/blerg/API.js | 23 +++++++++++++++++++++++ www/jssrc/blerg/Post.js | 15 +++++++++++++-- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/www/jssrc/blerg/API.js b/www/jssrc/blerg/API.js index a5aa965..30dc7b5 100644 --- a/www/jssrc/blerg/API.js +++ b/www/jssrc/blerg/API.js @@ -222,4 +222,27 @@ enyo.kind({ username: blerg.API.username }); }, + post: function(data) { + var req = new enyo.Ajax({ + url: baseURL + '/put', + method: 'POST' + }); + req.response(function(inSender, inResponse) { + if (inResponse && inResponse.status == 'success') { + this.bubble('onPostSuccessful', { + username: blerg.API.username, + data: data + }); + } else { + this.bubble('onPostFailed', { + username: blerg.API.username, + data: data + }); + } + }.bind(this)); + req.go({ + username: blerg.API.username, + data: data + }); + } }); diff --git a/www/jssrc/blerg/Post.js b/www/jssrc/blerg/Post.js index 112a497..ee537f2 100644 --- a/www/jssrc/blerg/Post.js +++ b/www/jssrc/blerg/Post.js @@ -17,7 +17,10 @@ enyo.kind({ {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 +35,15 @@ 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(); + this.href = '#' + blerg.API.username; + }, + postFailed: function() { + alert('Could not post!'); }, postVisibilityUpdate: function(inSender, inEvent) { if (inEvent.showing) { -- 2.25.1