Author: amarkhel
Date: 2010-12-29 09:01:34 -0500 (Wed, 29 Dec 2010)
New Revision: 20838
Modified:
trunk/ui/common/ui/src/main/java/org/richfaces/renderkit/util/RendererUtils.java
trunk/ui/misc/ui/src/main/java/org/richfaces/renderkit/ComponentControlBehaviorRenderer.java
trunk/ui/misc/ui/src/main/java/org/richfaces/taglib/ComponentControlHandler.java
Log:
RF-9639 hashParam: not works properly with popupPanel (seems need to revise in general)
Modified:
trunk/ui/common/ui/src/main/java/org/richfaces/renderkit/util/RendererUtils.java
===================================================================
---
trunk/ui/common/ui/src/main/java/org/richfaces/renderkit/util/RendererUtils.java 2010-12-29
13:18:33 UTC (rev 20837)
+++
trunk/ui/common/ui/src/main/java/org/richfaces/renderkit/util/RendererUtils.java 2010-12-29
14:01:34 UTC (rev 20838)
@@ -146,6 +146,33 @@
}
}
+ /**
+ * Returns value of the parameter. If parameter is instance of
+ * <code>JavaScriptParameter</code>, <code>NoEcape</code>
attribute is applied.
+ * @param parameter instance of <code>UIParameter</code>
+ * @return <code>Object</code> parameter value
+ */
+ public Object createParameterValue(UIParameter parameter) {
+ Object value = parameter.getValue();
+ boolean escape = true;
+
+ if (parameter instanceof JavaScriptParameter) {
+ JavaScriptParameter actionParam = (JavaScriptParameter) parameter;
+
+ escape = !actionParam.isNoEscape();
+ }
+
+ if (escape) {
+ if (value == null) {
+ value = "";
+ }
+ } else {
+ value = new JSReference(value.toString());
+ }
+
+ return value;
+ }
+
public Map<String, Object> createParametersMap(FacesContext context,
UIComponent component) {
Map<String, Object> parameters = new LinkedHashMap<String,
Object>();
@@ -154,33 +181,12 @@
if (child instanceof UIParameter) {
UIParameter parameter = (UIParameter) child;
String name = parameter.getName();
- Object value = parameter.getValue();
+ Object value = createParameterValue(parameter);
if (null == name) {
throw new
IllegalArgumentException(Messages.getMessage(Messages.UNNAMED_PARAMETER_ERROR,
component.getClientId(context)));
}
-
- boolean escape = true;
-
- if (child instanceof JavaScriptParameter) {
- JavaScriptParameter actionParam = (JavaScriptParameter) child;
-
- escape = !actionParam.isNoEscape();
- }
-
- if (escape) {
- if (value == null) {
- value = "";
- }
- } else {
- value = new JSReference(value.toString());
-
- // if(it.hasNext()){onEvent.append(',');};
- // renderAjaxLinkParameter( name,
- // value, onClick, jsForm, nestingForm);
- }
-
parameters.put(name, value);
}
}
Modified:
trunk/ui/misc/ui/src/main/java/org/richfaces/renderkit/ComponentControlBehaviorRenderer.java
===================================================================
---
trunk/ui/misc/ui/src/main/java/org/richfaces/renderkit/ComponentControlBehaviorRenderer.java 2010-12-29
13:18:33 UTC (rev 20837)
+++
trunk/ui/misc/ui/src/main/java/org/richfaces/renderkit/ComponentControlBehaviorRenderer.java 2010-12-29
14:01:34 UTC (rev 20838)
@@ -125,8 +125,8 @@
for (UIComponent child : children) {
if (child instanceof UIParameter) {
UIParameter parameter = (UIParameter) child;
- Object value = parameter.getValue();
-
+ Object value =
RendererUtils.getInstance().createParameterValue(parameter);
+
if (value != null) {
elements.add(value);
}
@@ -135,7 +135,9 @@
if (child instanceof UIHashParameter) {
UIHashParameter parameter = (UIHashParameter) child;
String name = parameter.getName();
- Map<String, Object> value = parameter.getValue();
+
+ Map<String, Object> value =
+
RendererUtils.getInstance().createParametersMap(FacesContext.getCurrentInstance(),
child);
if (value != null) {
if (name != null) {
Modified:
trunk/ui/misc/ui/src/main/java/org/richfaces/taglib/ComponentControlHandler.java
===================================================================
---
trunk/ui/misc/ui/src/main/java/org/richfaces/taglib/ComponentControlHandler.java 2010-12-29
13:18:33 UTC (rev 20837)
+++
trunk/ui/misc/ui/src/main/java/org/richfaces/taglib/ComponentControlHandler.java 2010-12-29
14:01:34 UTC (rev 20838)
@@ -38,6 +38,7 @@
import javax.faces.view.facelets.FaceletContext;
import javax.faces.view.facelets.FaceletHandler;
+import org.richfaces.component.AbstractParameter;
import org.richfaces.component.UIHashParameter;
import org.richfaces.component.behavior.ComponentControlBehavior;
import org.richfaces.view.facelets.html.CustomBehaviorHandler;
@@ -108,7 +109,9 @@
}
private boolean isUIParameter(String type) {
- return (UIParameter.COMPONENT_TYPE.equals(type) ||
UIHashParameter.COMPONENT_TYPE.equals(type));
+ return (UIParameter.COMPONENT_TYPE.equals(type) ||
+ UIHashParameter.COMPONENT_TYPE.equals(type) ||
+ AbstractParameter.COMPONENT_TYPE.equals(type));
}
@Override
Show replies by date