Add reply functionality to new post widget
[blerg.git] / www / jssrc / blerg / Post.js
index 2aa7c3a..064db00 100644 (file)
@@ -15,8 +15,8 @@ enyo.kind({
         {name: "toolbar", kind: "FittableColumns", classes: "toolbar", components: [
             {classes: "switcher", components: [
                 {kind: "onyx.RadioGroup", onActivate: "switchBottomPanel", components: [
-                    {content: "Replying to"},
-                    {content: "Preview"},
+                    {name: "replyButton", content: "Replying to", showing: false},
+                    {name: "previewButton", content: "Preview"},
                     {content: "Help"}
                 ]}
             ]},
@@ -27,7 +27,9 @@ enyo.kind({
             ]},
         ]},
         {name: "bottomPanel", kind: "Panels", classes: "bottom-panel", draggable: false, fit: true, components: [
-            {content: "In reply to:"},
+            {kind: "Scroller", components: [
+                {name: "replyView", classes: "record", allowHtml: true},
+            ]},
             {kind: "Scroller", components: [
                 {name: "preview", classes: "record", allowHtml: true},
             ]},
@@ -70,14 +72,26 @@ enyo.kind({
     postVisibilityUpdate: function(inSender, inEvent) {
         if (inEvent.showing) {
             this.show();
-            // Need to reflow manually because this is hidden by default
-            this.$.toolbar.reflow();
-            this.reflow();
             this.$.postContent.focus();
+
             if (inEvent.data && this.getData() == "") {
                 this.setData(inEvent.data);
                 this.$.postContent.node.setSelectionRange(inEvent.data.length, inEvent.data.length);
+                this.updatePreview();
             }
+
+            if (inEvent.replyto) {
+                this.$.replyButton.show();
+                this.$.replyButton.setActive(true);
+                this.$.replyView.setContent(inEvent.replyto);
+            } else {
+                this.$.replyButton.hide();
+                this.$.previewButton.setActive(true);
+            }
+
+            // Need to reflow manually because this is hidden by default
+            this.$.toolbar.reflow();
+            this.reflow();
         } else {
             this.hide();
         }