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>