[JBoss JIRA] (RF-12025) [rich:tabPanel] Switching tabs doesn't work correctly
by Artur Mioduszewski (JIRA)
Artur Mioduszewski created RF-12025:
---------------------------------------
Summary: [rich:tabPanel] Switching tabs doesn't work correctly
Key: RF-12025
URL: https://issues.jboss.org/browse/RF-12025
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 4.2.0.Final, 4.1.0.Final
Environment: JDK1.6,
JBoss 6.0.Final,
richfaces 4.1.0.Final/4.2.0.Final
Reporter: Artur Mioduszewski
STEPS TO REPRODUCE A PROBLEM:
1. Switch tab: UserDataTab -> UserEmailTab (look on JBoss console)
2. Switch tab: UserEmailTab -> UserDataTab (look on JBoss console)
3. Switch tab: UserDataTab -> UserEmailTab (look on JBoss console)
4. Switch tab: UserEmailTab -> UserDataTab (look on JBoss console)
5. Switch tab: UserDataTab -> UserEmailTab (look on JBoss console)
6. Switch tab: UserEmailTab -> UserDataTab (look on JBoss console)
...
Every tab switching caused more (perhaps 2 times more) calling of logger.debug("----preRenderHomeView");
==============================================================================================================================
------------------------- XHTML FILE CODE EXTRACT: ---------------------------------------------------------------------------
<ui:define name="metadata">
<f:metadata>
<f:event type="preRenderView" listener="#{homeAction.preRenderHomeView}"/>
</f:metadata>
</ui:define>
<rich:tabPanel id="homeUserTabs" switchType="ajax" activeItem="#{homeAction.selectedUserHomeTab}" itemChangeListener="#{homeAction.selectedUserHomeTabChanged}" immediate="true">
<rich:tab header="#{bundles.messages.tab_userMyDataTab}" id="UserDataTab" render="ajaxFlowPanel">
<ui:include src="/WEB-INF/content-pages/userAccount/userAccountDataTab.xhtml"/>
</rich:tab>
<rich:tab header="#{bundles.messages.tab_userEmailTab}" id="UserEmailTab" render="ajaxFlowPanel">
<ui:include src="/WEB-INF/content-pages/userAccount/userEmailDataTab.xhtml"/>
</rich:tab>
</rich:tabPanel>
--------------------------------------------------------------------------------------------------------
HomeAction:
public void preRenderHomeView()
{
logger.debug("----preRenderHomeView");
}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months
[JBoss JIRA] (RF-12011) Gradient configuration in ecss
by Dupont Dupont (JIRA)
Dupont Dupont created RF-12011:
----------------------------------
Summary: Gradient configuration in ecss
Key: RF-12011
URL: https://issues.jboss.org/browse/RF-12011
Project: RichFaces
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Reporter: Dupont Dupont
For the moment, gradients are :
# configured in resource-mappings.properties (i.e. https://github.com/richfaces/components/blob/develop/input/ui/src/main/re...)
{noformat}
org.richfaces.images\:autocompleteButtonGradient.png=org.richfaces.renderkit.html.images.AutocompleteGradient\
{topColorParam=headerGradientColor ,bottomColorParam=headerBackgroundColor}
{noformat}
# and then used in ecss files (i.e. https://github.com/richfaces/components/blob/develop/input/ui/src/main/re...).
{noformat}
background-image: "url(#{resource['org.richfaces.images:autocompleteButtonGradient.png']})";
{noformat}
A simpler solution could be allowing gradient configuration directly in the ecss file, e.g.
{noformat}
background-image:"url(#{resource['org.richfaces.dynamic:org.richfaces.renderkit.html.images.AutocompleteGradient?topColorParam=headerGradientColor&bottomColorParam=headerBackgroundColor']})";
{noformat}
org.richfaces.dynamic being a special library name telling Richfaces to instantiate AutocompleteGradient and configure it on the fly.
This would enable to get rid of resource-mappings.properties for simple use cases.
N.B. : a control must be implemented to control which classes can be dynamically instantiated (i.e. only allow classes implementing Java2DUserResource).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months
[JBoss JIRA] (RF-12024) rich:dataGrid component and a4j:status don't cooperate together
by Artur Mioduszewski (JIRA)
Artur Mioduszewski created RF-12024:
---------------------------------------
Summary: rich:dataGrid component and a4j:status don't cooperate together
Key: RF-12024
URL: https://issues.jboss.org/browse/RF-12024
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 4.2.0.Final, 4.1.0.Final
Environment: JDK1.6,
JBoss 6.0.Final,
richfaces 4.1.Final/4.2.Final
Reporter: Artur Mioduszewski
rich:dataGrid component and a4j:status don't cooperate together.
1. PROBLEM: After clicking a4j:commandLink inside rich:dataGrid, rich:dataGrid behaves properly, but a4j:status component is not able to hide.
2. When I remove a4j:status component, everything is OK (but rerendering rich:dataGrid is taking a while, so I would like to get a4j:status component functionality on page)
3. a4j:commandButton present at that page (not shown in below code extract) cooperate to a4j:status corectly
------------------------- EXTRACT OF MY CODE: ---------------------------------------------------------------------------
<a4j:status onstart="#{rich:component('waitPane')}.show()" onstop="#{rich:component('waitPane')}.hide()"/>
<rich:dataGrid id="pricePanel" rendered="#{componentManager.visiblePricePlanTable}" value="#{componentManager.pricelistHourItems}" var="hour" iterationStatusVar="it"
columns="7" elements="168" styleClass="noPaddings">
<h:panelGrid columns="2" rendered="#{componentManager.editMode}">
<a4j:commandLink styleClass="no-decor" render="pricePanel" execute="pricePanel" rendered="#{not hour.selected}" action="#{componentManager.activateHourPrice}">
<h:graphicImage value="/images/icons/new-small-ic.gif" alt="Activate"/>
<a4j:param value="#{it.index}" assignTo="#{componentManager.currentPricelistHourItemIndex}"/>
<f:setPropertyActionListener target="#{componentManager.editedPricelistHourItem}" value="#{hour}"/>
</a4j:commandLink>
</h:panelGrid>
<h:panelGrid columns="2" rendered="#{not componentManager.editMode}">
<h:outputText value="#{hour.price}" rendered="#{hour.selected}"/>
<h:graphicImage value="/images/spacer.gif" width="48px" height="0px" rendered="#{not hour.selected}"/>
</h:panelGrid>
</rich:dataGrid>
-----------------------------------------------------------------------------------------------------------------------
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months
[JBoss JIRA] (RF-12012) rich:contextMenu re-render problem
by Philip Maes (JIRA)
Philip Maes created RF-12012:
--------------------------------
Summary: rich:contextMenu re-render problem
Key: RF-12012
URL: https://issues.jboss.org/browse/RF-12012
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: component-menu
Affects Versions: 4.2.0.Final
Environment: Apache Tomcat/7.0.23 , Mojarra 2.1.5, RichFaces 4.2.0.Final
Reporter: Philip Maes
Priority: Critical
I have a extendedDataTable with a contextMenu attached to it.
When the selection changes on the extendedDataTable, a a4j:jsFunction is called. This jsFunction renders the contextMenu.
{quote}
<rich:extendedDataTable id="dtLivingCosts"
onselectionchange="selChange('dtLivingCosts')"
...
</rich:extendedDataTable>
...
<a4j:jsFunction name="selChange" execute="@form"
action="#{fhIndBean.selectionListener()}"
status="none" render="dtLivingCosts, contextMenu_dtLivingCosts">
<a4j:param name="comp" assignTo="#{fhIndBean.tableId}" />
</a4j:jsFunction>
...
<rich:contextMenu id="contextMenu_dtLivingCosts" target="dtLivingCosts"
attached="true" mode="ajax" >
...
</rich:contextMenu>
{quote}
The problem is that as soon as I right-click, the contextMenu appears, the ajax request is sent and received, the view is partially updated (dtLivingCosts, contextMenu_dtLivingCosts) and then the contextMenu disappears and won't appear anymore.
I noticed that the javascript code generated by RichFaces for the contextMenu is not rerendered as you can see on these two screenshots. The first one shows the code when the page is generated for the first time. The second one, when a right-click has been done on a row in the extendedDataTable:
http://img848.imageshack.us/img848/8876/cm1j.png
http://img19.imageshack.us/img19/5170/cm2c.png
A possible workaround is to refresh only menuItems of the contextMenu (https://issues.jboss.org/browse/RF-11973).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months
[JBoss JIRA] (RF-11801) ClientValidatorImpl ClssCastException in restoreState (StateHolderSaver not an Object[])
by Giovanni Pelosi (Created) (JIRA)
ClientValidatorImpl ClssCastException in restoreState (StateHolderSaver not an Object[])
----------------------------------------------------------------------------------------
Key: RF-11801
URL: https://issues.jboss.org/browse/RF-11801
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 4.1.0.CR1
Reporter: Giovanni Pelosi
when i do an ajax submit on a form with <rich:validator /> inputs fields (h:inputText)
(defined in a composite component), i got this exception:
ClassCastException
in org.richfaces.component.behavior.ClientValidatorImpl.restoreState at line 357
@Override
public void restoreState(FacesContext context, Object state) {
if (context == null) {
throw new NullPointerException();
}
if (state != null) {
==> Object[] values = (Object[]) state;
super.restoreState(context, values[0]);
if (values.length != 1) {
groups = (Class<?>[]) values[1];
// If we saved state last time, save state again next time.
clearInitialState();
}
}
}
because state is an instance of javax.faces.component.StateHolderSaver
RF 4.1CR1
MOJARRA 2.1.3
JBoss 7.0.2
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months
[JBoss JIRA] (RF-12067) Load order of external JavaScript files referenced in AJAX responses
by Nicholas Oxhøj (JIRA)
Nicholas Oxhøj created RF-12067:
-----------------------------------
Summary: Load order of external JavaScript files referenced in AJAX responses
Key: RF-12067
URL: https://issues.jboss.org/browse/RF-12067
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 3.3.3.Final
Reporter: Nicholas Oxhøj
Hi,
I think there is a problem with the way that RichFaces loads external JavaScript files, referenced in AJAX responses. The way it is done at the moment, the files are loaded *and parsed* asynchronously/in parallel. This is a problem if the files depend on being loaded in the correct order.
As an example, I have a page with an OpenFaces DataTable which is not initially rendered, but can be later rendered using the "reRender" attribute of an AJAX action. The Openfaces DataTable requires two OpenFaces JavaScript files, util.js & ajaxUtil.js, where the second depends on the first being loaded first. These files are included in the <head> section of the AJAX response, in the correct order. But since they are then loaded asynchronously, things will break if ajaxUtil.js finishes loading first.
I think you need to ensure, that the files are parsed in the same order as they appear in the response.
The problem is mainly in the function _appendNewElements() in AJAX.js.
For HTML5 capable browsers, you should just be able to add set the "async" property to "false" on the script element, before appending it to head as described here: [HTML5 Async Scripts|http://ie.microsoft.com/testdrive/Performance/AsyncScripts/Defaul...]
For non-HTML5 browsers, the only solution would probably be to modify the functionality a bit, such that you would only generate and insert a new script tag, when the previous script finished loading. Since appendNewHeadElements() already uses the scripts "onload" and "onreadystatechange" to find out when _all_ scripts have loaded, I suspect that it should be a relatively minor change to initially just insert the _first_ script tag and then use these functions to insert the _next_ script tag when the first has finished loading.
For an in-depth discussion of the problems and different solution strategies, see WHATWGs [Dynamic Script Execution Order|http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order]
Regards,
Nicholas Oxhøj
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months