[JBoss JIRA] Created: (RF-6450) DataTable: add ajax sort event/request customization
by Gerrit Brehmer (JIRA)
DataTable: add ajax sort event/request customization
----------------------------------------------------
Key: RF-6450
URL: https://jira.jboss.org/jira/browse/RF-6450
Project: RichFaces
Issue Type: Feature Request
Affects Versions: 3.2.2
Environment: JSF Sun RI 1.2_12, RichFaces 3.2.2
Reporter: Gerrit Brehmer
We need the common RichFaces ajax-request parameters like ajaxSingle or onSubmit for column sorting feature. Otherwise we get thread-safety problems, because if i click sort icon on one column and right after that (before response from first click arrived) click on another column-sort-icon. Because we have input fields in some columns, the values will be set to the wrong entries, because generated client-ids which will be sent by the second request are generated before response and new ids of the first request are applied to the table on client side. But during the second request, the table is already sorted (first column) in the backend. If we can drop applying table values or show a modalPanel on submit, we could avoid this thread/concurrent request related problems.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] Created: (RF-4524) Rich data table commits entire form when sorting is used.
by Sergey Halipov (JIRA)
Rich data table commits entire form when sorting is used.
---------------------------------------------------------
Key: RF-4524
URL: https://jira.jboss.org/jira/browse/RF-4524
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.2.1
Reporter: Sergey Halipov
<h:form>
<h:inputText required="true" id="test" value="#{bean.test}" />
<rich:message for="test" />
<rich:dataTable value="#{product.vehicleInfos}" var="vehicle" styleClass="width100proc"
style="text-align: center;" id="vehicleList"
reRender="vehicleList" ajaxSingle="true" >
<rich:column style="width: 40%;" sortBy="#{vehicle.model}" >
<f:facet name="header" >
<h:outputText value="${msg['transferBestOffer.result.vehicleModel']}" />
</f:facet>
#{vehicle.model}
</rich:column>
.................
</rich:dataTable>
</h:form>
When I click column header table is resorted as expected but entire form is submitted so there are unneeded validation messages for required inputs outside dataTable.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] Created: (RF-8271) org.richfaces.model.selection.Selection interface has no JavaDoc / API doc, and it is not very user-friendly
by Ian Springer (JIRA)
org.richfaces.model.selection.Selection interface has no JavaDoc / API doc, and it is not very user-friendly
------------------------------------------------------------------------------------------------------------
Key: RF-8271
URL: https://jira.jboss.org/jira/browse/RF-8271
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: component-tables
Affects Versions: 3.3.2.SR1
Reporter: Ian Springer
This interface is used by rich:extendedDataTable's selection attribute, and possibly by some of the other dataTable components. It currently has no JavaDoc whatsoever, which is especially bad because it is not intuitive what some of the methods return:
1) public Iterator<Object> getKeys()
Does this return just the keys of the selected items, or does it return the keys for all items on the current page (the presence of the isSelected() method seems to suggest the latter)? Why provide just the keys of the selected items, rather than the entire Objects? 90% of the time, the GUI developer's going to want to get at the Objects themselves to do some sort of CRUD on them. Why not save them the trouble of having to map the key to the actual Object, when RF can do it for them?
2) public int size()
Does this return just the number of selected items, or does it return the size of the current page (the presence of the isSelected() method seems to suggest the latter)?
3) public boolean isSelected(Object rowKey)
What's the idea behind this method - to also provide easy access to what rows are *not* selected? If so, wouldn't an easier to use API be:
List getSelectedRows()
List getUnselectedRows()
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] Created: (RF-6947) NullPointerException when uploading with rich:fileUpload
by Jan Ziegler (JIRA)
NullPointerException when uploading with rich:fileUpload
--------------------------------------------------------
Key: RF-6947
URL: https://jira.jboss.org/jira/browse/RF-6947
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.3.1
Environment: tomcat 6.0.18
facelets 1.1.14
myfaces 1.2.6
Reporter: Jan Ziegler
When using rich:fileUpload in the current 3.3.1 Snapshot (20090427) a nullpinter occurs when performing the upload:
javax.faces.FacesException: Exception while decoding component : {Component-Path : [Class: org.ajax4jsf.component.AjaxViewRoot,ViewId: /examples/fileUpload/index.xhtml][Class: org.richfaces.component.html.HtmlTabPanel,Id: j_id71][Class: org.richfaces.component.html.HtmlTab,Id: j_id72][Class: javax.faces.component.html.HtmlForm,Id: j_id74][Class: org.richfaces.component.html.HtmlFileUpload,Id: j_id75]}
at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:583)
at javax.faces.component.UIInput.decode(UIInput.java:231)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:709)
at javax.faces.component.UIInput.processDecodes(UIInput.java:149)
at javax.faces.component.UIForm.processDecodes(UIForm.java:65)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:705)
at org.richfaces.component.UISwitchablePanel.processDecodes(UISwitchablePanel.java:170)
at org.richfaces.component.UITabPanel.processDecodes(UITabPanel.java:155)
at org.ajax4jsf.component.AjaxViewRoot$1.invokeContextCallback(AjaxViewRoot.java:392)
at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:238)
at org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:409)
at org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:32)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:151)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at de.solseit.framework.base.lifecyle.FrameworkFilter.doFilter(FrameworkFilter.java:265)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:344)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:347)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at org.richfaces.renderkit.FileUploadRendererBase.doDecode(FileUploadRendererBase.java:140)
at org.ajax4jsf.renderkit.RendererBase.decode(RendererBase.java:75)
at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:579)
... 45 more
the component is used in this very simple way (no listener-binding, for simplicity):
<rich:fileUpload
maxFilesQuantity="3"
immediateUpload="false"
acceptedTypes="jpg" />
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] Created: (RF-2560) It's not possible to create menu items with the help of <a4j:repeat />
by Bj?rn Weinbrenner (JIRA)
It's not possible to create menu items with the help of <a4j:repeat />
----------------------------------------------------------------------
Key: RF-2560
URL: http://jira.jboss.com/jira/browse/RF-2560
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.1.4
Environment: windows, jboss, ff/ie, jsf ri
Reporter: Bj?rn Weinbrenner
It seems that its not possible to use <ui:repeat /> or <a4j:repeat /> to create menus. if you iterate to add menuItems to a a menu e.g. contextmenu they won't appear.
That seems to depend on the implementation of org.richfaces.renderkit.html.AbstractMenuRenderer
Only direct children are search for items. Repeat-Components are ignored and their childs aren't found.
public void encodeItems(FacesContext context, UIComponent component) throws IOException {
List kids = component.getChildren();
Iterator it = kids.iterator();
while (it.hasNext()) {
UIComponent kid = (UIComponent)it.next();
if (kid instanceof UIMenuGroup || kid instanceof UIMenuItem || kid instanceof UIMenuSeparator) {
renderChild(context, kid);
}
}
}
--
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
13 years, 10 months
[JBoss JIRA] Created: (RF-6456) SuggestionAction called twice during request if usingSuggestObjects = true
by Gerrit Brehmer (JIRA)
SuggestionAction called twice during request if usingSuggestObjects = true
--------------------------------------------------------------------------
Key: RF-6456
URL: https://jira.jboss.org/jira/browse/RF-6456
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.3.0
Reporter: Gerrit Brehmer
SuggestionAction is called twice, if usingSuggestObjects is activated. I looked into the sourcecode and found the two calls:
# Action with value from request/input field (method setupValue - setValue(suggestingAction.invoke(context.getELContext(), new Object[]{submittedValue}));)
# Action with "null" as string (method getRequestValuesData - setValue(suggestingAction.invoke(context.getELContext(), new Object[]{requestedValue}));)
(SourceCode from UiSuggestionAction.java Tag 3.3.0)
Is the second call really necessary? Because we call an expensive backend method (200ms - 7000ms for address suggest) this makes a noticable delay for the user
Our workaround is to return an empty list for the second call, which doesn't change the behaviour
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months