[JBoss JIRA] (RF-13278) rich:tab : label, placed in header-facet, can not be refreshed per ajax
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/RF-13278?page=com.atlassian.jira.plugin.s... ]
Juraj Húska edited comment on RF-13278 at 10/29/13 4:51 AM:
------------------------------------------------------------
I can confirm that it is a *regression* against _4.3.3.Final_.
However, it *works* again with _5.0.0-SNAPSHOT_.
* 4.3.4 reproduction bits
** [facelet|https://github.com/richfaces/richfaces-qa/blob/4.3.x/metamer/appl...]
** [bean|https://github.com/richfaces/richfaces-qa/blob/4.3.x/metamer/applica...]
** [test|https://github.com/richfaces/richfaces-qa/blob/4.3.x/metamer/ftest/s...]
* 5.0.0-SNAPSHOT
** just [facelet|https://github.com/richfaces/richfaces-qa/blob/master/metamer/app...] is different.
Steps to reproduce:
# build and deploy metamer
# load http://localhost:8080/metamer/faces/components/richTabPanel/rf-13278.xhtml
# click on the link in the first tab
# see that the header of the second tab is not updated
was (Author: jhuska):
I can confirm that it is a *regression* against _4.3.3.Final_.
However, it again *works* with _5.0.0-SNAPSHOT_.
* 4.3.4 reproduction bits
** [facelet|https://github.com/richfaces/richfaces-qa/blob/4.3.x/metamer/appl...]
** [bean|https://github.com/richfaces/richfaces-qa/blob/4.3.x/metamer/applica...]
** [test|https://github.com/richfaces/richfaces-qa/blob/4.3.x/metamer/ftest/s...]
* 5.0.0-SNAPSHOT
** just [facelet|https://github.com/richfaces/richfaces-qa/blob/master/metamer/app...] is different.
Steps to reproduce:
# build and deploy metamer
# load http://localhost:8080/metamer/faces/components/richTabPanel/rf-13278.xhtml
# click on the link in the first tab
# see that the header of the second tab is not updated
> rich:tab : label, placed in header-facet, can not be refreshed per ajax
> -----------------------------------------------------------------------
>
> Key: RF-13278
> URL: https://issues.jboss.org/browse/RF-13278
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-panels-layout-themes
> Affects Versions: 4.3.4
> Environment: java 7, tomcat 7, myfaces
> Reporter: Alexey Shakov
> Assignee: Juraj Húska
>
> I use ajax to update the header label of rich:tab. That is why label is placed in a header-facet. Since RF 4.3.4 this does not work:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
> xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j"
> xmlns:f="http://java.sun.com/jsf/core" xml:lang="en" lang="en">
> <h:head>
> </h:head>
> <h:body>
>
> <a4j:log hotkey="M" mode="popup" />
> <h:form id="form" prependId="false">
> <rich:tabPanel id="tabPanel">
> <rich:tab header="tab 1">
> <a4j:commandLink value="click me" action="#{testBean.put('clicks',testBean.clicks + 1)}" render="label" execute="@this" />
> </rich:tab>
> <rich:tab>
> <f:facet name="header">
> <h:outputText id="label" value="#{testBean.clicks} clicks" />
> </f:facet>
> </rich:tab>
> </rich:tabPanel>
> </h:form>
> </h:body>
> </html>
> {code}
> testBean is a simple session-scoped HashMap.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (RF-13278) rich:tab : label, placed in header-facet, can not be refreshed per ajax
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/RF-13278?page=com.atlassian.jira.plugin.s... ]
Juraj Húska updated RF-13278:
-----------------------------
Environment:
java 7,
tomcat 7, JBoss AS,
mojarra, myfaces
was:java 7, tomcat 7, myfaces
> rich:tab : label, placed in header-facet, can not be refreshed per ajax
> -----------------------------------------------------------------------
>
> Key: RF-13278
> URL: https://issues.jboss.org/browse/RF-13278
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-panels-layout-themes
> Affects Versions: 4.3.4
> Environment: java 7,
> tomcat 7, JBoss AS,
> mojarra, myfaces
> Reporter: Alexey Shakov
>
> I use ajax to update the header label of rich:tab. That is why label is placed in a header-facet. Since RF 4.3.4 this does not work:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
> xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j"
> xmlns:f="http://java.sun.com/jsf/core" xml:lang="en" lang="en">
> <h:head>
> </h:head>
> <h:body>
>
> <a4j:log hotkey="M" mode="popup" />
> <h:form id="form" prependId="false">
> <rich:tabPanel id="tabPanel">
> <rich:tab header="tab 1">
> <a4j:commandLink value="click me" action="#{testBean.put('clicks',testBean.clicks + 1)}" render="label" execute="@this" />
> </rich:tab>
> <rich:tab>
> <f:facet name="header">
> <h:outputText id="label" value="#{testBean.clicks} clicks" />
> </f:facet>
> </rich:tab>
> </rich:tabPanel>
> </h:form>
> </h:body>
> </html>
> {code}
> testBean is a simple session-scoped HashMap.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (RF-11365) onbeforedomupdate and oncomplete not working in Portlet environment
by Dipali Pandya (JIRA)
[ https://issues.jboss.org/browse/RF-11365?page=com.atlassian.jira.plugin.s... ]
Dipali Pandya commented on RF-11365:
------------------------------------
I am having an issue which maybe related. I am trying to use the calendar widget with a datamodel. I am using the MyFaces 2.0 container which comes with websphere application server 8. The calendar widget renders correctly however, the ajax response <extension> element id comes back prefixed with a portlet namespace. This is causing the richfaces js to not parse the response correctly I believe due to the same js snippet -
var getExtensionResponseElement = function(responseXML) {
return jQuery("partial-response extension#org\\.richfaces\\.extension", responseXML);
};
How can I get the js fix for this?
> onbeforedomupdate and oncomplete not working in Portlet environment
> -------------------------------------------------------------------
>
> Key: RF-11365
> URL: https://issues.jboss.org/browse/RF-11365
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.0.0.Final
> Reporter: Detlef Pleiss
> Fix For: 5-Future
>
>
> example page:
> {code}
> <ui:composition xmlns="http://www.w3.org/1999/xhtml"
> xmlns:ui="http://java.sun.com/jsf/facelets"
> xmlns:h="http://java.sun.com/jsf/html"
> xmlns:f="http://java.sun.com/jsf/core"
> xmlns:a4j="http://richfaces.org/a4j"
> xmlns:rich="http://richfaces.org/rich">
> <h:head/>
> <h:form>
> <h:panelGrid columns="2">
> <h:outputText value="Text:" />
> <h:inputText value="#{echoBean.text}" >
> <a4j:ajax event="keyup"
>
> onbeforesubmit="alert('beforesubmit')"
> onbegin="alert('begin')"
> onbeforedomupdate="alert('beforedomupdate')"
> oncomplete="alert('complete')"
>
> render="text,count" listener="#{echoBean.countListener}"/>
> </h:inputText>
> <h:outputText value="Echo:" />
> <h:outputText id="text" value="#{echoBean.text}" />
> <h:outputText value="Count:" />
> <h:outputText id="count" value="#{echoBean.count}" />
> </h:panelGrid>
> </h:form>
> </ui:composition>
> {code}
> The alerts for onbeforedomupdate and oncomplete do not appear in a portal environment; they do in a non-portal web environment.
> The Ajax XML response in a non portal web environment contains the tag <extension id="org.richfaces.extension"> with the Javascript code from the named attributes.
> But, in a portal environment the id gets prefixed like i.e. <extension id="A3331org.richfaces.extension">
> In fact Richfaces asks for this prefix in richfaces-core-api-4.0.0.Final-sources : org.richfaces.renderkit.util.CoreAjaxRendererUtils.java
> line 96 by calling facesContext.getExternalContext().encodeNamespace(EXTENSION_ID))
> In a Servlet environment this leaves EXTENSION_ID = "org.richfaces.extension" unchanged, but in a Portlet environment its function is to
> "Return the specified name, after prefixing it with a namespace that ensures that it will be unique within the context of a particular page" (quoted from Javadoc).
> Only, the Javascript meant to react on the extension tag is hardcoded to react on the ID "org.richfaces.extension" only without any prefix:
> META-INF/resources/richfaces.js line 333 :
> {code}
> var getExtensionResponseElement = function(responseXML) {
> return jQuery("partial-response extension#org\\.richfaces\\.extension", responseXML);
> };
> {code}
> So, in a Portlet environment the partial-response/extension is ignored due to the prefixed ID.
> A possible solution might be to have the Javascript accept any prefix in front of the ID, like:
> {code}
> var getExtensionResponseElement = function(responseXML) {
> return jQuery("partial-response extension[id$='org\\.richfaces\\.extension']", responseXML);
> };
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (RF-3878) Session memory leak
by Patrick Decat (JIRA)
[ https://issues.jboss.org/browse/RF-3878?page=com.atlassian.jira.plugin.sy... ]
Patrick Decat commented on RF-3878:
-----------------------------------
Reading the RichFaces 3.3 source code, I noticed it adds 1 to both numberOfLogicalViews and numberOfViewsInSession parameters:
{code:title=https://source.jboss.org/browse/RichFaces/tags/3.3.4.Final/framework/impl/src/main/java-jsf12/org/ajax4jsf/application/AjaxStateHolder.java?hb=true#to86}
86 instance = new AjaxStateHolder(numbersOfViewsInSession,
87 numbersOfLogicalViews);
{code}
and:
{code:title=https://source.jboss.org/browse/RichFaces/tags/3.3.4.Final/framework/impl/src/main/java-jsf12/org/ajax4jsf/application/AjaxStateHolder.java?hb=true#to53}
52 private AjaxStateHolder(int capacity, int numberOfViews) {
53 views = new LRUMap<String, LRUMap<String, StateReference>>(capacity+1);
54 this.numberOfViews = numberOfViews;
55 }
{code}
and:
{code:title=https://source.jboss.org/browse/RichFaces/tags/3.3.4.Final/framework/impl/src/main/java-jsf12/org/ajax4jsf/application/AjaxStateHolder.java?hb=true#to173}
171 // TODO - make size parameter configurable
172 viewVersions = new LRUMap<String, StateReference>(
173 this.numberOfViews+1);
174 views.put(viewId, viewVersions);
{code}
Therefore, I went one step further down and set both values to zero, effectively reaching a single view state:
{code}
<context-param>
<param-name>com.sun.faces.numberOfLogicalViews</param-name>
<param-value>0</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.numberOfViewsInSession</param-name>
<param-value>0</param-value>
</context-param>
{code}
That definitively breaks the back button support, but it saves lots of megabytes for us, dividing by 4 the peak per session memory usage...
> Session memory leak
> -------------------
>
> Key: RF-3878
> URL: https://issues.jboss.org/browse/RF-3878
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 3.2.0.SR1
> Reporter: Dmitri Voronov
> Assignee: Nick Belaevski
> Fix For: 3.3.0
>
>
> AjaxStateHolder saves all views in the session. But the same view can occur several times in this "cache"; the views from this "cache" are not reused and just fill the session. If an application has many large views and deals with many concurrent sessions, the heap can easily grow up to Gigabytes(!)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (RF-9417) a4j:ajax doesn't work with selectManyCheckbox
by John K (JIRA)
[ https://issues.jboss.org/browse/RF-9417?page=com.atlassian.jira.plugin.sy... ]
John K edited comment on RF-9417 at 10/28/13 1:04 PM:
------------------------------------------------------
doesn't work for me. I have tried a lot of different events
{noformat}
<h:dataTable value="#{bean.someList}" var="listItem">
<h:column>
<h:selectBooleanCheckbox value="#{listItem.BooleanField}" >
<f:ajax event="select" execute="@this" /> // the same for <a4j:ajax ......
</h:selectBooleanCheckbox>
</h:column>
</h:dataTable>
this piece of code does nothing : (
but in case with no iterable around , just
<h:selectBooleanCheckbox value="#{bean.BooleanField}" >
<f:ajax event="select" execute="@this" /> // the same for <a4j:ajax ......
</h:selectBooleanCheckbox>
{noformat}
this works fine
was (Author: ikos2201):
doesn't work for me. I have tried a lot of different events
<h:dataTable value="#{bean.someList}" var="listItem">
<h:column>
<h:selectBooleanCheckbox value="#{listItem.BooleanField}" >
<f:ajax event="select" execute="@this" /> // the same for <a4j:ajax ......
</h:selectBooleanCheckbox>
</h:column>
</h:dataTable>
this piece of code does nothing : (
but in case with no iterable around , just
<h:selectBooleanCheckbox value="#{bean.BooleanField}" >
<f:ajax event="select" execute="@this" /> // the same for <a4j:ajax ......
</h:selectBooleanCheckbox>
this works fine
> a4j:ajax doesn't work with selectManyCheckbox
> ---------------------------------------------
>
> Key: RF-9417
> URL: https://issues.jboss.org/browse/RF-9417
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-a4j-core
> Affects Versions: 4.0.0.Milestone3
> Environment: RichFaces 4.0.0.20101004-M3 r.19446
> Metamer 4.0.0-SNAPSHOT r.19446
> Mojarra 2.0.2-FCS
> JBoss AS 6.0.0.20100911-M5
> OpenJDK Runtime Environment 1.6.0_18-b18 @ Linux
> MSIE 8.0, MSIE 7.0 @ Windows
> Reporter: Pavol Pitonak
> Assignee: Nick Belaevski
> Fix For: 4.0.0.Milestone3
>
>
> The following h:selectManyCheckbox with a4j:ajax doesn't work in IE 7 and IE 8. It works fine in Chrome and Firefox.
> http://anonsvn.jboss.org/repos/richfaces/modules/tests/metamer/trunk/appl... (r. 19447)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month