dataScroller, missing reRender attribute handling
-------------------------------------------------
Key: RF-409
URL:
http://jira.jboss.com/jira/browse/RF-409
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.0.1
Environment: win32, tomcat5.5
<myfaces.version>1.1.4<tomahawk.version>1.1.6<facelets.version>1.1.12<ajax4jsf.version>1.1.1<richfaces.version>3.0.1
Reporter: Wojtas Koziej
Fix For: 3.1.0
in documentation we can read: attribute reRender - Id['s] (in format of call
UIComponent.findComponent()) of components, rendered in case of AjaxRequest caused by this
component. Can be single id, comma-separated list of Id's, or EL Expression with array
or Collection.
I didn't found such handling in this component. reRender doesn't work if I want
to rerender component outside the rich:dataTable.
I've tried some code modifications in UIDataScroller and it helps me:
Index:
C:/eclipse/workspace/richfaces/3_0_1/richfaces/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
===================================================================
---
C:/eclipse/workspace/richfaces/3_0_1/richfaces/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java (revision
1443)
+++
C:/eclipse/workspace/richfaces/3_0_1/richfaces/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java (working
copy)
@@ -21,6 +21,7 @@
package org.richfaces.component;
+import java.util.StringTokenizer;
import javax.faces.FacesException;
import javax.faces.component.ActionSource;
import javax.faces.component.UICommand;
@@ -95,6 +96,18 @@
AjaxRendererUtils.addRegionByName(context, this, this.getId());
AjaxRendererUtils.addRegionByName(context, this, this.getFor());
+
+ String reRenderList =
this.getAttributes().get("reRender").toString();
+ StringTokenizer tokenizer = new StringTokenizer(reRenderList
+ .replace(" ", ""), ",");
+ int tokenCnt = tokenizer.countTokens();
+ while (tokenCnt > 0) {
+ String token = tokenizer.nextToken();
+ AjaxRendererUtils.addRegionByName(context, this, token);
+ tokenCnt--;
+ }
+
MethodBinding scrollerListener = getScrollerListener();
if (scrollerListener != null) {
scrollerListener.invoke(context, new Object[] {event});
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: