[JBoss JIRA] Created: (RF-2393) Tree nested inside node of an outer tree has strange behaviour on ajax submit when there are validation errors
by Mike Hanafey (JIRA)
Tree nested inside node of an outer tree has strange behaviour on ajax submit when there are validation errors
--------------------------------------------------------------------------------------------------------------
Key: RF-2393
URL: http://jira.jboss.com/jira/browse/RF-2393
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.1.4
Environment: Glassfish v2, JSF RI 1.2
Reporter: Mike Hanafey
Attachments: NestedTree.war
I have situation where there is an outer tree whose nodes have an inner tree. Specifically, the outer tree is over DNA sequences, and each DNA sequence may have a tree of comments attached to it.
Both the inner and outer trees have a couple of faces, one is used when a node is in display mode, and the other when it is in edit mode.
If the inner tree is put into edit mode at a node (via an ajax request) and a validation error occurs on a second ajax request to submit the edits, the whole inner tree for that node disappears. It can be recovered by doing a browser redisplay. If there is no validation error, the edit works as expected
Looking at the XmlHttpRequest response when there is a validation error shows that the response does not contain the expected tree nodes.
When this same comment tree code (both the backing beans and the facelets views) is applied on an unnested tree this problem does not occur.
A test war is attached (the war is big only because it includes the library dependencies -- the test code itself is small).
To demonstrate, deploy the war and look at the top page.
Click on the + next to "Comments" (this is the un-nested tree). Click "Ajax Save". Observe the "Value is required" messages.
Enter something into the first textfield, and do the "Ajax Save". Now a custom validation message appears.
Now for the first strangeness. Enter something in both the textfield and the textarea. The custom validation message appears on both inputs, but now the inputs just made are erased. When only one of these fields have data, the data entered in the other field is preserved, and I believe the clearing of input data is another error, but not the one in the title of this this issue.
To see the main issue, open the tree labeled "Sequences". This has a comments tree just like the one above nested inside the sequence node.
Click on the + next the "Comments" under "Sequences".
Click on "Ajax Save". Now instead of seeing the "Value is required" error, the inner tree node collapses. Click on the "Submit" button, an reopen the "Sequences" tree to see that the inner tree is in fact still intact.
Click on "Ajax Immediate". Now the tree does not collapse. The only difference is this button is immediate, so the validation steps are not done.
Finally, clicking on "Plain Save" shows the expected validation errors (now the Sequence tree collapses after the submit so it must be manually opened, but I guess this is expected behavior because the open / close state is not maintained across the request). The problem where the inputs that fail validation are erased remains even with this non-ajax update mode).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 10 months
[JBoss JIRA] Created: (RF-1710) ajax4jsf version of tidy parser removes "redunant" whitespace in selection option id's and values
by Rajeev Chandrasekaran (JIRA)
ajax4jsf version of tidy parser removes "redunant" whitespace in selection option id's and values
-------------------------------------------------------------------------------------------------
Key: RF-1710
URL: http://jira.jboss.com/jira/browse/RF-1710
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.1.3
Reporter: Rajeev Chandrasekaran
The tidy parser seems to remove whitespace characters in select option id's and values. In my case, I had a value like "my company" where there are 2 spaces between "my" and "company". Although the 2 spaces were properly rendered when the page was first rendered, after submitting the page (which had other validation errors), the same page rendered again (because of the validation errors) but with 2 spaces between "my" and "company" consolidated down to just a single space.
If I set the following property (literal-attributes=true) in a user-specific tidy.properties in the classpath, the problem goes away. I noticed that this property is commented out in the tidy.properties that ships with richfaces.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 10 months
[JBoss JIRA] Created: (RF-2772) Make panelBarItem accordion functionality work with a4j:repeat
by Adam Jenkins (JIRA)
Make panelBarItem accordion functionality work with a4j:repeat
--------------------------------------------------------------
Key: RF-2772
URL: http://jira.jboss.com/jira/browse/RF-2772
Project: RichFaces
Issue Type: Feature Request
Affects Versions: 3.1.4
Environment: Tomcat 5.5, Java 5, Exadel Studio 4.0.4a
Reporter: Adam Jenkins
Hi All,
I'm trying to build a dynamic accordion (rich:panelBar) by enclosing the panelBarItems in an a4j:repeat tag....it renders the panelBarItems, however the accordion functionality doesn't work (IE 6). If I do a standard (static) accordion it works fine, and, if I have a panelBar with static panelBarItems, followed by dynamic panelBarItems (inside an a4j:repeat) the static panelBarItems work fine, but the others don't (snippet below). Is this a limitation of this component or a bug?
In the below code, the panelBarItems labelled 'test' work perfectly, however the ones labelled 'some div' don't work at all.
<t:panelGroup colspan="2">
<rich:panelBar id="claim-panel-bar">
<rich:panelBarItem id="bar1" label="test"></rich:panelBarItem>
<rich:panelBarItem id="bar2" label="test"></rich:panelBarItem>
<rich:panelBarItem id="bar3" label="test"></rich:panelBarItem>
<rich:panelBarItem id="bar4" label="test"></rich:panelBarItem>
<a4j:repeat id="claim-history-repeat" value="#{generalInformation.myItems}" var="item" binding="#{generalInformation.myItemsRepeat}">
<rich:panelBarItem id="claim-panel" label="some div">
some stuff
</rich:panelBarItem>
</a4j:repeat>
</rich:panelBar>
</t:panelGroup>
Is this a limitation of the component, a bug, or am I doing something wrong here?
Cheers
Adam
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 10 months
[JBoss JIRA] Created: (RF-3702) rich:orderingList doesn't update the correct instance when
by Zied Hamdi (JIRA)
rich:orderingList doesn't update the correct instance when
-----------------------------------------------------------
Key: RF-3702
URL: http://jira.jboss.com/jira/browse/RF-3702
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.2.0
Environment: facelets 1.1.14
Reporter: Zied Hamdi
The 'selection' attribute of 'rich:orederingList' doesn't update the binded object when in a loop (ui:repeat, a4j:repeat, h:dataTable), but the first element instead.
See the log output that demonstrates the problem:
Initialized ListHolder with : [my, first]
Initialized ListHolder with : [my, last]
Initialized ListHolder with : [my, everything]
selected set on '[my, first]'
Button clicked on '[my, last]'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:rich="http://richfaces.org/rich"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:c="http://java.sun.com/jstl/core">
<f:view>
<body style="margin: 0; padding: 0;">
<h:form id="mainForm">
<h:messages title="errors"/>
<ui:repeat value="#{testController.listHolders}" var="listHolder">
<rich:panel id="panel" header="#{listHolder.entries}">
<rich:orderingList id="orderingList" value="#{listHolder.entries}" var="entry"
selection="#{listHolder.selected}">
<rich:column>
<h:outputText id="outputText" value="#{entry}" />
</rich:column>
</rich:orderingList>
<h:commandButton id="button" actionListener="#{listHolder.doItLstr}"
value="do it" />
</rich:panel>
</ui:repeat>
</h:form>
</body>
</f:view>
</html>
public class TestController {
protected List<ListHolder> listHolders = new ArrayList<ListHolder>();
{
listHolders.add(new ListHolder("my first"));
listHolders.add(new ListHolder("my last"));
listHolders.add(new ListHolder("my everything"));
}
public class ListHolder {
List<String> entries = new ArrayList<String>();
Set<String> selected;
public ListHolder(String value) {
entries = Arrays.asList(value.split(" "));
System.out.println("Initialized ListHolder with : " + entries);
}
public void doItLstr(ActionEvent actionEvent) {
System.out.println("Button clicked on '" + entries + "'");
}
public List<String> getEntries() {
return entries;
}
public void setEntries(List<String> entries) {
this.entries = entries;
}
public Set<String> getSelected() {
return selected;
}
public void setSelected(Set<String> selected) {
System.out.println("selected set on '" + entries + "'");
this.selected = selected;
}
}
public List<ListHolder> getListHolders() {
return listHolders;
}
public void setListHolders(List<ListHolder> listHolders) {
this.listHolders = listHolders;
}
}
----------------------------------------- workaround attempt -----------------------------
I've tried to do a binding on each row but it doesn't work too: I have an error as if ui:repeat was performed at compile time, but I'm almost sure it is a render-time tag (it doesn't work with a h:dataTable too)
Caused by: javax.el.PropertyNotFoundException: /test/orderingList.xhtml @21,78 binding="#{listHolder.orderingList}": Target Unreachable, identifier 'listHolder' resolved to null
at com.sun.facelets.el.TagValueExpression.setValue(TagValueExpression.java:95)
at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:248)
at com.sun.facelets.tag.jsf.ComponentHandler.createComponent(ComponentHandler.java:224)
at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:139)
at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:109)
at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:524)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:567)
at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 10 months
[JBoss JIRA] Created: (RF-3341) rich:dataTable encodes its childs if this isn't nesessary
by Ilya Shaikovsky (JIRA)
rich:dataTable encodes its childs if this isn't nesessary
---------------------------------------------------------
Key: RF-3341
URL: http://jira.jboss.com/jira/browse/RF-3341
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.2.1
Reporter: Ilya Shaikovsky
Assigned To: Nick Belaevski
<rich:tabPanel switchType="ajax">
<rich:tab label="First">
<h:form>
<h:inputText value="#{userBean.name}">
<a4j:support event="onkeyup" reRender="out1"/>
</h:inputText>
<h:outputText id="out1" value="#{userBean.name}"/>
</h:form>
</rich:tab>
<rich:tab label="Second" >
<h:form>
<h:inputText value="#{userBean.job}">
<a4j:support event="onkeyup" reRender="out2"/>
</h:inputText>
<h:outputText id="out2" value="#{userBean.job}"/>
<rich:dataTable value="#{capitalsBean.capitals}" var="cap">
<rich:column>
<h:outputText value="#{cap.name}"/>
</rich:column>
</rich:dataTable>
</h:form>
</rich:tab>
<rich:tab label="Third">
Here is tab #3
</rich:tab>
</rich:tabPanel>
input some letters to input on tab 1
getters and setters for name property called - OK
getters and setters for job property doesn't called - OK
getter for capitals list called. - WRONG
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 10 months
[JBoss JIRA] Created: (RF-3720) Wrong adjustment of a dataFilterSlider's right end
by Juergen Zimmermann (JIRA)
Wrong adjustment of a dataFilterSlider's right end
--------------------------------------------------
Key: RF-3720
URL: http://jira.jboss.com/jira/browse/RF-3720
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.2.1
Environment: JSF RI 1.2_09-BETA1, IE 7 and FF 3.0RC3
Reporter: Juergen Zimmermann
I have this definition for dataFilterSlider:
<rich:dataFilterSlider id="dataFilterSlider"
binding="#{kv.dataFilterSlider}"
sliderListener="#{kv.sliderListener}"
for="kundenTabelle"
forValRef="kv.gefundeneKunden"
filterBy="getKategorie"
startRange="2"
endRange="6"
increment="1"
handleValue="6"
manualInput="true"
onslide="true"
onchange="true"
storeResults="true"
trailer="true"/>
However, the value 5 cannot be reached via dragging the slider. When doing a manual input of 5, this value is positioned at the right end, too. Just like the upper boundary (being the value 6).
This happens with IE 7. A screenshot will be provided. Using FF 3.0RC3 the value 5 even cannot be entered manually.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 10 months