[JBoss JIRA] (RF-13691) EDT in uiRepeat - selection corrupted in multiple paged table
by Brian Leathem (JIRA)
[ https://issues.jboss.org/browse/RF-13691?page=com.atlassian.jira.plugin.s... ]
Brian Leathem resolved RF-13691.
--------------------------------
Resolution: Done
> EDT in uiRepeat - selection corrupted in multiple paged table
> -------------------------------------------------------------
>
> Key: RF-13691
> URL: https://issues.jboss.org/browse/RF-13691
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-tables
> Affects Versions: 4.5.0.Alpha3
> Reporter: Juraj Húska
> Assignee: Brian Leathem
> Labels: regression
> Fix For: 4.5.0.Alpha3
>
> Original Estimate: 4 hours
> Remaining Estimate: 4 hours
>
> When {{EDT}} is in {{uiRepeat}} and has multiple pages, then selection of rows functionality does not work as expected.
> It seems that there is a problem with row indices. Please see steps to reproduce.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 12 months
[JBoss JIRA] (RF-11093) UIDataAdaptor context variable backup broken (reentrance problem)
by Brian Leathem (JIRA)
[ https://issues.jboss.org/browse/RF-11093?page=com.atlassian.jira.plugin.s... ]
Brian Leathem commented on RF-11093:
------------------------------------
I adapted the PR to the correct repo with this commit: https://github.com/richfaces/richfaces/commit/a5ee6651647f2f07ca89aca6946...
Thanks for following up on this patch [~yvalot]!
> UIDataAdaptor context variable backup broken (reentrance problem)
> -----------------------------------------------------------------
>
> Key: RF-11093
> URL: https://issues.jboss.org/browse/RF-11093
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-tables
> Affects Versions: 4.0.0.Final
> Environment: Windows XP, Java 6, Tomcat 6.0.24, Mojarra 2.0.2.
> Reporter: Yannick Valot
> Assignee: Yannick Valot
> Fix For: 4.5.0.Alpha3
>
> Attachments: UIDataAdaptor.java.patch
>
> Original Estimate: 1 hour
> Remaining Estimate: 1 hour
>
> I am encountering a reentrance problem with org.richfaces.component.UIDataAdaptor (using it as a dataTable).
> I need to perform a visit of the component tree while executing an action on a command link in one row of the same table.
> {code}
> <rich:dataTable value="#{listOfItems}" var="myItem" >
> ... some stuff here ...
> <commandLink here>
> ... some stuff here ...
> </rich:dataTable>
> {code}
> After the action on the command link has visited the component tree, myItem is no longer available in context.
> When the UIDataAdaptor sets or resets the "myItem" context variable, it backs up any previous value by calling captureOrigValue(FacesContext), and later restores it by calling restoreOrigValue(FacesContext), but it looks as if the visit backs the variable up twice (in a nested fashion), and it erases myItem between the two backups :
> - backup variable (old value is correctly backed up) (in visitTree(VisitContext visitContext, VisitCallback callback))
> - erase variable (setRowKey(facesContext, null) in same function)
> - erase variable (doVisitChildren(VisitContext context, boolean visitRows))
> - erase variable (visitTree(VisitContext visitContext, VisitCallback callback))
> - backup variable (erases backed up value) (walk(FacesContext faces, DataVisitor visitor, Object argument))
> - ...
> - restore value (restores null) (walk(FacesContext faces, DataVisitor visitor, Object argument))
> - restore value (restores null) (in visitTree(VisitContext visitContext, VisitCallback callback))
> etc.
> The problem can be solved by *stacking* backed up variables, instead of storing them in a simple attribute, to allow for any kind of reentrance.
> (I do not say that this is the best possible patch, but it has solved the problem for me).
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 12 months
[JBoss JIRA] (RF-11782) [rich:tabPanel] switching tabs doesn't work correctly with switchtype="ajax"
by Pavol Pitonak (JIRA)
[ https://issues.jboss.org/browse/RF-11782?page=com.atlassian.jira.plugin.s... ]
Pavol Pitonak commented on RF-11782:
------------------------------------
No, it still doesn't work in 4.5.0-SNAPSHOT.
> [rich:tabPanel] switching tabs doesn't work correctly with switchtype="ajax"
> ----------------------------------------------------------------------------
>
> Key: RF-11782
> URL: https://issues.jboss.org/browse/RF-11782
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-panels-layout-themes
> Affects Versions: 4.1.0.CR1
> Environment: mojarra-2.1.4, RF-CR1
> Reporter: Rene O
> Assignee: Brian Leathem
> Labels: lazy-loaded
> Fix For: 5-Tracking
>
> Attachments: jsf2testcase.war
>
>
> A testcase to reproduce this issue is attached:
> http://localhost:8080/jsf2testcase/tabswitchtest.jsf
> Steps to reproduce the issue:
> 1. switch to 'Tab 3' -> console/server-log shows 'getTestListA' and 'getTestListB' -> this is a bug, expected is only 'getTestListB', because tab3 has only one table with testListB
> 2. switch to 'Tab 1' -> console/server-log shows 'getTestListB' -> this is a bug, expected is nothing new in console/server-log, because tab1 has no table
> {code:title=xhtml}
> ...
> <h:form id="testform">
> <rich:tabPanel id="tabpanel" switchType="ajax" activeItem="#{dataBean.activeTab}">
> <rich:tab id="tab1" header="Tab 1">
> Here is tab #1
> </rich:tab>
> <rich:tab id="tab2" header="Tab 2">
> <rich:dataTable value="#{dataBean.testListA}" var="item" rows="10">
> <rich:column >
> <f:facet name="header">
> List A
> </f:facet>
> <h:outputText value="#{item.a}"/>
> </rich:column>
> </rich:dataTable>
> </rich:tab>
> <rich:tab id="tab3" header="Tab 3">
> <rich:dataTable value="#{dataBean.testListB}" var="item" rows="10">
> <rich:column >
> <f:facet name="header">
> List B
> </f:facet>
> <h:outputText value="#{item.a}"/>
> </rich:column>
> </rich:dataTable>
> </rich:tab>
> </rich:tabPanel>
> </h:form>
> ...
> {code}
> {code:title=java}
> ...
> public List<TestObject> getTestListA() {
> System.out.println("getTestListA");
> return testListA;
> }
> ...
> public List<TestObject> getTestListB() {
> System.out.println("getTestListB");
> return testListB;
> }
> ...
> {code}
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 12 months
[JBoss JIRA] (RF-13715) <rich:tooltip> not working inside <rich:tab> header facet
by Martin Höller (JIRA)
Martin Höller created RF-13715:
----------------------------------
Summary: <rich:tooltip> not working inside <rich:tab> header facet
Key: RF-13715
URL: https://issues.jboss.org/browse/RF-13715
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: component-output
Affects Versions: 4.3.7
Environment: Firefox 26, Chromium 31, Opera 12.16
Reporter: Martin Höller
A tooltip doesn't show up, when it's used in a header-facet of a <rich:tab> component. The following code demonstrates the problem:
{code:xml}
<rich:tabPanel>
<rich:tab>
<f:facet name="header">
<h:panelGroup id="foo">
myTab
<rich:tooltip>
some tooltip
</rich:tooltip>
</h:panelGroup>
</f:facet>
tab content
</rich:tab>
</rich:tabPanel>
{code}
The same tooltip works in the tab's content.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 12 months
[JBoss JIRA] (RF-13706) dequeued Ajax request not processed correctly if its source element has been updated
by Pavol Pitonak (JIRA)
[ https://issues.jboss.org/browse/RF-13706?page=com.atlassian.jira.plugin.s... ]
Pavol Pitonak reopened RF-13706:
--------------------------------
[~bleathem], the last commit breaks unit tests in core module:
{code}
Failed tests:
QUnitTest.testEvent:123->runTest:62->runTest:101 Failures:
33. richfaces-queue-request
1. failedExpected: 500Result: 1500Diff: 500 1500
3. newTime2 is undefined
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)
QUnitTest.testQueueSubmitFirst:153->runTest:62->runTest:101 Failures:
33. richfaces-queue-request
1. failedExpected: 500Result: 1500Diff: 500 1500
3. newTime2 is undefined
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)
QUnitTest.testBaseComponent:158->runTest:62->runTest:101 Failures:
33. richfaces-queue-request
1. failedExpected: 500Result: 1500Diff: 500 1500
3. newTime2 is undefined
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)
QUnitTest.testQueueGetSize:138->runTest:62->runTest:101 Failures:
33. richfaces-queue-request
1. failedExpected: 500Result: 1500Diff: 500 1500
3. newTime2 is undefined
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)
QUnitTest.testQueueClear:148->runTest:62->runTest:101 Failures:
33. richfaces-queue-request
1. failedExpected: 500Result: 1500Diff: 500 1500
3. newTime2 is undefined
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)
QUnitTest.testQueueEmpty:143->runTest:62->runTest:101 Failures:
33. richfaces-queue-request
1. failedExpected: 500Result: 1500Diff: 500 1500
3. newTime2 is undefined
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)
QUnitTest.testPosition:128->runTest:62->runTest:101 Failures:
33. richfaces-queue-request
1. failedExpected: 500Result: 1500Diff: 500 1500
3. newTime2 is undefined
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)
QUnitTest.testQueueRequest:133->runTest:62->runTest:101 Failures:
33. richfaces-queue-request
1. failedExpected: 500Result: 1500Diff: 500 1500
3. newTime2 is undefined
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)
Tests run: 237, Failures: 8, Errors: 0, Skipped: 2
{code}
> dequeued Ajax request not processed correctly if its source element has been updated
> ------------------------------------------------------------------------------------
>
> Key: RF-13706
> URL: https://issues.jboss.org/browse/RF-13706
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: core
> Affects Versions: 4.3.7
> Reporter: Marcel Kolsteren
> Assignee: Marcel Kolsteren
> Fix For: 4.3.8, 4.5.0.Alpha3
>
> Attachments: queuetest-javaee6.zip, queuetest.zip, richfaces-core-4.3.8-SNAPSHOT.patch.zip
>
> Original Estimate: 1 hour
> Remaining Estimate: 1 hour
>
> I found a problem in the RichFaces Ajax queuing mechanism, which can cause all JavaScript execution to stop, leaving the end user with an unresponsive page.
> The problem occurs when a request in the queue rerenders an area that includes the source element of the next request in the queue, but does not include the form of that source element. When the next request is fetched from the queue, JSF tries to find the correct form by climbing the DOM tree, starting at the source element of the event. However, because the source element has been rerendered, the path to its form is broken, and in that case JSF falls back to the first form of the page (see JavaScript function getForm that is called by jsf.ajax.request in jsf.js). If that form is not the form belonging to the rerendered version of the element, nasty things will happen.
> To illustrate this, I created a very simple Java EE 7 web application (see attached Maven project) and deployed it in WildFly 8.1.0.Final. It contains a page with one clickable link that rerenders itself when clicked:
> {noformat}
> <!DOCTYPE html>
> <html xmlns="http://www.w3.org/1999/xhtml"
> xmlns:h="http://java.sun.com/jsf/html"
> xmlns:a4j="http://richfaces.org/a4j">
> <h:head/>
> <h:body>
> <form action="http://www.meandi.nl"/>
> <h:form>
> <a4j:commandLink action="#{richBean.waitThreeSeconds}" value="Click Me" render="@this"/>
> </h:form>
> </h:body>
> </html>
> {noformat}
> The method "waitThreeSeconds" does nothing but waiting for three seconds. When the link is double clicked, you'll observe that the first click is handled correctly, but that the second click results in an Ajax request posted to the URL of the first form, leading to access denied errors (because of cross domain scripting). The used RichFaces version is 4.3.7.
> The problem can be fixed by changing the RichFaces JavaScript code, so that after completion of an Ajax request, stale elements are removed from the queue. I created a patch for RichFaces 4.3.7, and verified that it works (see attachment). Another solution strategy would be to try to find the new DOM element that corresponds to the stale source of the event, and fetch the form from that element. My thought was that removing the stale request would be better, because (1) it is kind of dangerous to process a user action on an element that has already been replaced and (2) the element might have been removed from the DOM tree by the previous rerender.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 12 months
[JBoss JIRA] (RF-13714) DropDownMenu not working inside tab-header
by Martin Höller (JIRA)
[ https://issues.jboss.org/browse/RF-13714?page=com.atlassian.jira.plugin.s... ]
Martin Höller commented on RF-13714:
------------------------------------
Hm, maybe I should explain my use-case in more detail, because I don't really see why this should be limited to client-switchType. What I want is a <rich:tabPanel>, where every tab has a header-text and an additional menu-icon (just like Firefox' tabs but with a menu-icon instead of the close-icon). Clicking the header-text switches the tab, regardless of the switchType. Clicking the menu-icon opens the menu with its menuItems. No tab-switching should take place when the menu is opened or a a menuItem is clicked.
This was possible with RF3.
> DropDownMenu not working inside tab-header
> ------------------------------------------
>
> Key: RF-13714
> URL: https://issues.jboss.org/browse/RF-13714
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-menu
> Affects Versions: 4.3.7
> Environment: Wildfly 8.1.0.GA => JSF 2.2
> Tested with recent Firefox and Chromium versions.
> Reporter: Martin Höller
> Labels: dropDownMenu, tabPanel
> Fix For: 4.5-Tracking
>
> Attachments: tabPanel.png
>
>
> The <rich:dropDownMenu> component seems broken, when used in the header-fact of a <rich:tab>. The menu simply doesn't open. Here is simplified example-code to reproduce:
> {code:xml}
> <rich:tabPanel switchType="client">
> <rich:tab>
> <f:facet name="header">
> <rich:dropDownMenu showEvent="mouseover" label="menu" mode="client">
> <rich:menuItem>
> <a4j:commandLink value="menuItem" />
> </rich:menuItem>
> </rich:dropDownMenu>
> </f:facet>
> </rich:tab>
> </rich:tabPanel>
> {code}
> If I use the same menu-code in the <rich:tab> but outside the header-facet, it works.
> This did work with Richfaces 3.3!
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 12 months
[JBoss JIRA] (RF-13682) Stateless view: CSS stylesheets not included in head after form submit
by Brian Leathem (JIRA)
[ https://issues.jboss.org/browse/RF-13682?page=com.atlassian.jira.plugin.s... ]
Brian Leathem commented on RF-13682:
------------------------------------
On further investigation, it seems that the _RestoreViewPhase#execute_ method believes the submission is a _postback_. The view is then not created anew, despite the subsequemt response consisting of the full page html.
Whether or not the submission is a _postback_ is determined by the _[ResponseStateManagerImpl|https://github.com/jboss/mojarra/blob/2.2.7-jb...:
{code}
public boolean isPostback(FacesContext context) {
return context.getExternalContext().getRequestParameterMap().
containsKey(ResponseStateManager.VIEW_STATE_PARAM);
}
{code}
The _requestParameterMap_ contains the {{VIEW_STATE_PARAM}} value _stateless_. It seems this was added in RF-13093.
[~lfryc] can you comment on the addition of this request parameter? Since it's causing difficulties elsewhere, can you suggest an alternate resolution for RF-13093?
> Stateless view: CSS stylesheets not included in head after form submit
> ----------------------------------------------------------------------
>
> Key: RF-13682
> URL: https://issues.jboss.org/browse/RF-13682
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.3.7
> Environment: OpenSuse 13.1 x64
> OpenJDK 1.7.0_51
> Apache Tomcat 8.0.8
> JSF: org.glassfish:javax.faces:2.1.28
> Reporter: Tony Cramer
> Assignee: Brian Leathem
> Fix For: 4.5.0.Alpha3
>
> Attachments: rf-demo-skinning.zip, rf-demo-skinning_and_style.zip
>
> Original Estimate: 4 hours
> Remaining Estimate: 4 hours
>
> If view is stateless <f:view transient="true"...
> Issue 1. skinning.css is not included after submitting a form at all.
> Issue 2. Any other stylesheets manually included with h:outputStylesheet are not included in head but in body after submit.
> Maven project reproducing the issue attached.
> Please use "rf-demo-skinning_and_style.zip" - reproduces both issues.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 12 months
[JBoss JIRA] (RF-13682) Stateless view: CSS stylesheets not included in head after form submit
by Brian Leathem (JIRA)
[ https://issues.jboss.org/browse/RF-13682?page=com.atlassian.jira.plugin.s... ]
Brian Leathem updated RF-13682:
-------------------------------
Comment: was deleted
(was: [~tony.cramer] / [~jhuska] given that this is only a problem when {{h:commandButton}} is used, are you able to reproduce this behaviour with a standalone JSF application (without RichFaces present on the class path?))
> Stateless view: CSS stylesheets not included in head after form submit
> ----------------------------------------------------------------------
>
> Key: RF-13682
> URL: https://issues.jboss.org/browse/RF-13682
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.3.7
> Environment: OpenSuse 13.1 x64
> OpenJDK 1.7.0_51
> Apache Tomcat 8.0.8
> JSF: org.glassfish:javax.faces:2.1.28
> Reporter: Tony Cramer
> Assignee: Brian Leathem
> Fix For: 4.5.0.Alpha3
>
> Attachments: rf-demo-skinning.zip, rf-demo-skinning_and_style.zip
>
> Original Estimate: 4 hours
> Remaining Estimate: 4 hours
>
> If view is stateless <f:view transient="true"...
> Issue 1. skinning.css is not included after submitting a form at all.
> Issue 2. Any other stylesheets manually included with h:outputStylesheet are not included in head but in body after submit.
> Maven project reproducing the issue attached.
> Please use "rf-demo-skinning_and_style.zip" - reproduces both issues.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
9 years, 12 months