Author: chris.laprun(a)jboss.com
Date: 2009-03-06 19:29:06 -0500 (Fri, 06 Mar 2009)
New Revision: 12991
Modified:
tags/JBoss_Portal_2_7_2/core-samples/src/main/org/jboss/portal/core/samples/basic/PortletSessionPortlet.java
tags/JBoss_Portal_2_7_2/theme/src/bin/portal-ajax-war/dyna/dyna.js
tags/JBoss_Portal_2_7_2/theme/src/bin/portal-ajax-war/dyna/prototype.js
Log:
- JBPORTAL-2336: update from trunk, only downside is that it requires patching
prototype...
Modified:
tags/JBoss_Portal_2_7_2/core-samples/src/main/org/jboss/portal/core/samples/basic/PortletSessionPortlet.java
===================================================================
---
tags/JBoss_Portal_2_7_2/core-samples/src/main/org/jboss/portal/core/samples/basic/PortletSessionPortlet.java 2009-03-07
00:09:26 UTC (rev 12990)
+++
tags/JBoss_Portal_2_7_2/core-samples/src/main/org/jboss/portal/core/samples/basic/PortletSessionPortlet.java 2009-03-07
00:29:06 UTC (rev 12991)
@@ -44,8 +44,7 @@
{
String name = req.getParameter("name");
String value = req.getParameter("value");
- String scope = req.getParameter("scope");
- boolean portletScope = "portlet".equals(scope);
+ boolean portletScope = req.getParameter("portlet") != null;
if (name != null && value != null)
{
req.getPortletSession().setAttribute(name, value, portletScope ?
PortletSession.PORTLET_SCOPE : PortletSession.APPLICATION_SCOPE);
@@ -86,19 +85,19 @@
}
//
- writer.println("<script type='text/javascript'>\n" +
- "function processForm(value) {" +
- "var form = document.getElementById('sessionForm');\n" +
- "var hidden = document.getElementById('sessionHidden');\n" +
- "hidden.value = value;\n" +
- "form.submit();}\n" +
- "</script>");
+// writer.println("<script type='text/javascript'>\n" +
+// "function processForm(value) {" +
+// "var form = document.getElementById('sessionForm');\n" +
+// "var hidden = document.getElementById('sessionHidden');\n"
+
+// "hidden.value = value;\n" +
+// "form.submit();}\n" +
+// "</script>");
writer.println("<form id='sessionForm' action=\"" +
purl.toString() + "\" method=\"post\">");
writer.println("<input type=\"text\"
name=\"name\"/>");
writer.println("<input type=\"text\"
name=\"value\"/>");
- writer.println("<input type=\"button\" name=\"portlet\"
value=\"Add to portlet scope\"
onclick=\"processForm('portlet')\"/>");
- writer.println("<input type=\"button\"
name=\"application\" value=\"Add to application scope\"
onclick=\"processForm('application')\"/>");
- writer.println("<input id='sessionHidden' name='scope'
type='hidden'/>");
+ writer.println("<input type=\"submit\" name=\"portlet\"
value=\"Add to portlet scope\" />");
+ writer.println("<input type=\"submit\"
name=\"application\" value=\"Add to application scope\" />");
+ // writer.println("<input id='sessionHidden' name='scope'
type='hidden'/>");
writer.println("</form><br/>");
//
Modified: tags/JBoss_Portal_2_7_2/theme/src/bin/portal-ajax-war/dyna/dyna.js
===================================================================
--- tags/JBoss_Portal_2_7_2/theme/src/bin/portal-ajax-war/dyna/dyna.js 2009-03-07 00:09:26
UTC (rev 12990)
+++ tags/JBoss_Portal_2_7_2/theme/src/bin/portal-ajax-war/dyna/dyna.js 2009-03-07 00:29:06
UTC (rev 12991)
@@ -21,6 +21,8 @@
* 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
******************************************************************************/
+var currentSubmit;
+
function sendData(action, windowId, fromPos, fromRegionId, toPos, toRegionId)
{
var options = {
@@ -41,7 +43,7 @@
onLoading: function(t)
{
}
- }
+ };
new Ajax.Request(server_base_url + "/ajax", options);
}
@@ -106,6 +108,11 @@
var source = Event.element(event);
var container = Element.up(source, "div.dyna-window");
+ //attach onclick observer to all submit buttons
+ $$('input[type=submit]').invoke('observe', 'click',
function(e) {
+ currentSubmit = e.findElement();
+ });
+
// We found the window
if (container != null)
{
@@ -158,7 +165,6 @@
// Check we can handle this URL
if (isURLAccepted(current.action))
{
-
// Set URL
url = current.action;
@@ -166,7 +172,7 @@
options.enctype = enctype;
options.asynchronous = false;
options.method = "post"
- options.postBody = Form.serialize(current);
+ options.postBody =
Form.serialize(current,'',currentSubmit);
}
}
}
Modified: tags/JBoss_Portal_2_7_2/theme/src/bin/portal-ajax-war/dyna/prototype.js
===================================================================
--- tags/JBoss_Portal_2_7_2/theme/src/bin/portal-ajax-war/dyna/prototype.js 2009-03-07
00:09:26 UTC (rev 12990)
+++ tags/JBoss_Portal_2_7_2/theme/src/bin/portal-ajax-war/dyna/prototype.js 2009-03-07
00:29:06 UTC (rev 12991)
@@ -2609,7 +2609,9 @@
"FORM": Object.clone(Form.Methods),
"INPUT": Object.clone(Form.Element.Methods),
"SELECT": Object.clone(Form.Element.Methods),
- "TEXTAREA": Object.clone(Form.Element.Methods)
+ "TEXTAREA": Object.clone(Form.Element.Methods),
+ //[SERIALIZE_ERROR]
+ "BUTTON": Object.clone(Form.Element.Methods)
});
}
@@ -3475,8 +3477,21 @@
};
Form.Methods = {
- serialize: function(form, options) {
- return Form.serializeElements(Form.getElements(form), options);
+ serialize: function(form, options, buttonPressed) {
+ //[SERIALIZE_ERROR] Implements additional functionality to support <button> and
ensure other button-type
+ // <inputs> are not serialized
+ var elements = Form.getElements(form);
+ if (buttonPressed) {
+ elements = elements.findAll(
+ function(element) {
+ return element == $(buttonPressed) ||
+ (element.tagName.toLowerCase() != "button" &&
+ (element.tagName.toLowerCase() != "input" ||
+ (element.type != "submit" && element.type !=
"button" && element.type != "image" && element.type !=
"reset")));
+ }
+ );
+ };
+ return Form.serializeElements(elements, options);
},
getElements: function(form) {
@@ -3657,6 +3672,11 @@
else element.value = value;
},
+ //[SERIALIZE_ERROR]
+ button: function(element) {
+ return element.value;
+ },
+
select: function(element, value) {
if (Object.isUndefined(value))
return this[element.type == 'select-one' ?