You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by ms...@apache.org on 2014/11/25 13:50:16 UTC

[11/19] portals-pluto git commit: Completed demo portlet for Ajax Action funtionality. Added JavaScript compressor to Pluto build

Completed demo portlet for Ajax Action funtionality. Added JavaScript compressor to Pluto build


Project: http://git-wip-us.apache.org/repos/asf/portals-pluto/repo
Commit: http://git-wip-us.apache.org/repos/asf/portals-pluto/commit/d8f52434
Tree: http://git-wip-us.apache.org/repos/asf/portals-pluto/tree/d8f52434
Diff: http://git-wip-us.apache.org/repos/asf/portals-pluto/diff/d8f52434

Branch: refs/heads/PortletHub
Commit: d8f524343f002900afcfdbf218b82920fcf2e866
Parents: a4a6812
Author: Scott Nicklous <ms...@apache.org>
Authored: Mon Nov 24 15:50:17 2014 +0100
Committer: Scott Nicklous <ms...@apache.org>
Committed: Mon Nov 24 15:50:17 2014 +0100

----------------------------------------------------------------------
 .../java/basic/portlet/ColorSelPortlet.java     | 81 ++++++++++++--------
 pluto-portal/pom.xml                            |  5 ++
 pom.xml                                         | 18 +++++
 3 files changed, 74 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/d8f52434/PortletHubDemo/src/main/java/basic/portlet/ColorSelPortlet.java
----------------------------------------------------------------------
diff --git a/PortletHubDemo/src/main/java/basic/portlet/ColorSelPortlet.java b/PortletHubDemo/src/main/java/basic/portlet/ColorSelPortlet.java
index 541d621..903ce9d 100644
--- a/PortletHubDemo/src/main/java/basic/portlet/ColorSelPortlet.java
+++ b/PortletHubDemo/src/main/java/basic/portlet/ColorSelPortlet.java
@@ -70,35 +70,35 @@ public class ColorSelPortlet extends GenericPortlet {
       }
       
       writer.write("<FORM id='" + pid + "-setParams'  onsubmit='return false;'>");
-      writer.write("   <table><tr><td align='left'>");
-
-      writer.write("   Enter background color (public param):");
-      writer.write("   </td><td colspan=3>");
-      writer.write("   <input id='" + pid + "-color' name='" + PARAM_COLOR + "' type='text' value='" + clr + "' size='10' maxlength='10'>");
-      writer.write("   </td><td><div id='" + pid + "-putMsgHere'>");
-      writer.write("   </div></td></tr><tr><td>");
-
-      writer.write("   Select active foreground colors:");
-      writer.write("   </td><td>");
-      writer.write("   <input name='" + PARAM_FG_COLOR + "' value='" + PARAM_FG_RED + "' type='checkbox' " + r + ">");
-      writer.write("   </td><td>Red");
-      writer.write("   </td><td>");
-      writer.write("   <input name='" + PARAM_FG_COLOR + "' value='" + PARAM_FG_GREEN + "' type='checkbox' " + g + ">");
-      writer.write("   </td><td>Green");
-      writer.write("   </td><td>");
-      writer.write("   <input name='" + PARAM_FG_COLOR + "' value='" + PARAM_FG_BLUE + "' type='checkbox' " + b + ">");
-      writer.write("   </td><td>Blue");
-
-      writer.write("   </td></tr><tr><td>");
-      writer.write("   Enter message:");
-      writer.write("   </td><td colspan=6>");
-      writer.write("   <input name='" + PARAM_MSG_INPUT + "' type='text' value='' size='50' maxlength='50'>");
-      writer.write("   </td><td>");
-
-      writer.write("   </td></tr><tr><td>");
-      writer.write("   <INPUT VALUE='send' CLASS='portlet-form-button' TYPE='submit'>");
-      writer.write("   </td></tr></table>");
-      writer.write("</FORM>");
+      writer.write("   <table><tr><td align='left'>\n");
+
+      writer.write("   Enter background color (public param):\n");
+      writer.write("   </td><td colspan=3>\n");
+      writer.write("   <input id='" + pid + "-color' name='" + PARAM_COLOR + "' type='text' value='" + clr + "' size='10' maxlength='10'>\n");
+      writer.write("   </td><td><div id='" + pid + "-putMsgHere'>\n");
+      writer.write("   </div></td></tr><tr><td>\n");
+
+      writer.write("   Select active foreground colors:\n");
+      writer.write("   </td><td>\n");
+      writer.write("   <input id='" + pid + "-red' name='" + PARAM_FG_COLOR + "' value='" + PARAM_FG_RED + "' type='checkbox' " + r + ">\n");
+      writer.write("   </td><td>Red\n");
+      writer.write("   </td><td>\n");
+      writer.write("   <input id='" + pid + "-green'  name='" + PARAM_FG_COLOR + "' value='" + PARAM_FG_GREEN + "' type='checkbox' " + g + ">\n");
+      writer.write("   </td><td>Green\n");
+      writer.write("   </td><td>\n");
+      writer.write("   <input id='" + pid + "-blue'  name='" + PARAM_FG_COLOR + "' value='" + PARAM_FG_BLUE + "' type='checkbox' " + b + ">\n");
+      writer.write("   </td><td>Blue\n");
+
+      writer.write("   </td></tr><tr><td>\n");
+      writer.write("   Enter message:\n");
+      writer.write("   </td><td colspan=6>\n");
+      writer.write("   <input id='" + pid + "-msg' name='" + PARAM_MSG_INPUT + "' type='text' value='' size='50' maxlength='50'>\n");
+      writer.write("   </td><td>\n");
+
+      writer.write("   </td></tr><tr><td>\n");
+      writer.write("   <INPUT id ='" + pid + "-send' VALUE='send' TYPE='button'>\n");
+      writer.write("   </td></tr></table>\n");
+      writer.write("</FORM>\n");
       writer.write("<p><hr/></p>\n");
 
       writer.write("<script>\n");
@@ -106,6 +106,11 @@ public class ColorSelPortlet extends GenericPortlet {
       writer.write("   var pid = '" + pid + "',\n");
       writer.write("       colorEntry = '" + pid + "-color',\n");
       writer.write("       msgdiv = '" + pid + "-putMsgHere',\n");
+      writer.write("       sendbtn = '" + pid + "-send',\n");
+      writer.write("       rid = '" + pid + "-red',\n");
+      writer.write("       gid = '" + pid + "-green',\n");
+      writer.write("       bid = '" + pid + "-blue',\n");
+      writer.write("       mid = '" + pid + "-msg',\n");
       writer.write("       currState,\n");
       writer.write("       portletInit;\n");
 
@@ -136,6 +141,22 @@ public class ColorSelPortlet extends GenericPortlet {
       writer.write("   document.getElementById(colorEntry).onchange = handleEntry;\n");
       writer.write("   \n");
 
+      writer.write("   var handleSend = function () {\n");
+      writer.write("      var parms = {}, clrs = [], msg = \"\";\n");
+      writer.write("      console.log(\"CSP: sending message.\");");
+      writer.write("      parms['action'] = ['send'];\n");
+      writer.write("      if (document.getElementById(rid).checked) clrs.push(\"red\"); \n");
+      writer.write("      if (document.getElementById(gid).checked) clrs.push(\"green\"); \n");
+      writer.write("      if (document.getElementById(bid).checked) clrs.push(\"blue\"); \n");
+      writer.write("      if (clrs.length > 0) {\n");
+      writer.write("         parms['fgcolor'] = clrs;\n");
+      writer.write("      }\n");
+      writer.write("      parms['imsg'] = [document.getElementById(mid).value];\n");
+      writer.write("      portletInit.action(parms);\n");
+      writer.write("   }\n");
+      writer.write("   document.getElementById(sendbtn).onclick = handleSend;\n");
+      writer.write("   \n");
+
       writer.write("   portlet.register(pid).then(function (pi) {\n");
       writer.write("      console.log(\"CSP Color Selection Portlet: registered: \" + pid);\n");
       writer.write("      portletInit = pi;\n");
@@ -159,7 +180,7 @@ public class ColorSelPortlet extends GenericPortlet {
          throws PortletException, IOException {
       
       // pass the action params from the form submission as render parameters
-      resp.setRenderParameter(PARAM_ERRMSG, "");
+      resp.setRenderParameter(PARAM_ERRMSG, " "); // hack as Pluto does not support deleting parameters
       String val = req.getParameter(PARAM_COLOR);
       if (val != null) {
          if (val.matches("^#(?:[A-Fa-f0-9]{3}){1,2}$")) {

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/d8f52434/pluto-portal/pom.xml
----------------------------------------------------------------------
diff --git a/pluto-portal/pom.xml b/pluto-portal/pom.xml
index 2d2a0f2..239759d 100644
--- a/pluto-portal/pom.xml
+++ b/pluto-portal/pom.xml
@@ -187,6 +187,11 @@
           <skip>true</skip>
         </configuration>
       </plugin>
+      <!-- Javascript compressor plugin -->
+      <plugin>
+         <groupId>net.alchim31.maven</groupId>
+         <artifactId>yuicompressor-maven-plugin</artifactId>
+      </plugin>
     </plugins>
   </build>
 

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/d8f52434/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index f4380a5..5be1973 100644
--- a/pom.xml
+++ b/pom.xml
@@ -556,6 +556,24 @@ TODO: Check if we need all of them. -->
             <autoVersionSubmodules>true</autoVersionSubmodules>
           </configuration>
         </plugin>
+
+			<!-- Javascript compressor plugin -->
+			<plugin>
+				<groupId>net.alchim31.maven</groupId>
+				<artifactId>yuicompressor-maven-plugin</artifactId>
+				<version>1.1</version>
+				<executions>
+					<execution>
+						<id>compress-js</id>
+						<goals>
+							<goal>compress</goal>
+						</goals>
+						<configuration>
+							<jswarn>false</jswarn>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
       </plugins>
     </pluginManagement>