[JBoss JIRA] (RF-13456) The toggle panel components should allow the user to prevent rendering the active tab when the tab header is clicked.
by Brian Leathem (JIRA)
Brian Leathem created RF-13456:
----------------------------------
Summary: The toggle panel components should allow the user to prevent rendering the active tab when the tab header is clicked.
Key: RF-13456
URL: https://issues.jboss.org/browse/RF-13456
Project: RichFaces
Issue Type: Enhancement
Security Level: Public (Everyone can see)
Components: component-output
Reporter: Brian Leathem
Fix For: 5.0.0.Alpha3
The TogglePanelRenderer currently implicitly adds the tabPanel@active metacomponent to the list of rendered ids when a tab panel is clicked.
See:
https://github.com/richfaces/richfaces/blob/master/framework/src/main/jav...
{code}
PartialViewContext pvc = context.getPartialViewContext();
pvc.getRenderIds().add(component.getClientId(context) + MetaComponentResolver.META_COMPONENT_SEPARATOR_CHAR + AbstractTogglePanel.ACTIVE_ITEM_META_COMPONENT);
{code}
Rather than adding the meta component id like this, the meta component id should be treated as the default value of the toggle panel's render attribute. specifying a value for the render attribute would override this default value, and require the user to explicitly call for a render of the active item by adding the meta component id to the render attribute.
--
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
10 years, 3 months
[JBoss JIRA] (RF-13455) The rich:tabPanel no longer visits tab header facets while rendering a response.
by Brian Leathem (JIRA)
[ https://issues.jboss.org/browse/RF-13455?page=com.atlassian.jira.plugin.s... ]
Brian Leathem edited comment on RF-13455 at 1/2/14 8:50 PM:
------------------------------------------------------------
Since commits were already made against RF-13278 (after I hijacked it) I've cloned the issue to track the original reported regression of not visiting the tab header facets.
was (Author: bleathem):
Since commits were already made against RF-13278 (after I hijacked it) I've cloned the original issue to track the original issue of not visiting the tab header facets.
> The rich:tabPanel no longer visits tab header facets while rendering a response.
> --------------------------------------------------------------------------------
>
> Key: RF-13455
> URL: https://issues.jboss.org/browse/RF-13455
> 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
> chrome, firefox
> Reporter: Alexey Shakov
> Assignee: Brian Leathem
> Labels: regression
> Fix For: 5.0.0.Alpha3
>
> Original Estimate: 2 hours
> Remaining Estimate: 2 hours
>
> 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
10 years, 3 months
[JBoss JIRA] (RF-13278) Add support for a 'headers' meta-component to the rich:tabPanel
by Brian Leathem (JIRA)
[ https://issues.jboss.org/browse/RF-13278?page=com.atlassian.jira.plugin.s... ]
Brian Leathem edited comment on RF-13278 at 1/2/14 8:42 PM:
------------------------------------------------------------
Thanks for the review Lukas. Your commit is sensible.
Having thought about this issue over the break, and speaking about it with @lfryc today I've come to the following conclusions:
# The tabPanel headers should be visited in the walk of the component tree, because they are visible on the page (RF-13455)
# Having a tabPanel@header\{s} meta-component would still be useful (despite 1)
# The @active item should be the default value of the tabPanel, but should be overridden when a user sets the render attribute of the tabPanel
We will address 1) in 4.3, however 2) and 3) will be included in 4.5/5.0.
was (Author: bleathem):
Thanks for the review Lukas. Your commit is sensible.
Having thought about this issue over the break, and speaking about it with @lfryc today I've come to the following conclusions:
# The tabPanel headers should be visited in the walk of the component tree, because they are visible on the page (RF-13455)
# Having a tabPanel@header{s} meta-component would still be useful (despite 1)
# The @active item should be the default value of the tabPanel, but should be overridden when a user sets the render attribute of the tabPanel
We will address 1) in 4.3, however 2) and 3) will be included in 4.5/5.0.
> Add support for a 'headers' meta-component to the rich:tabPanel
> ---------------------------------------------------------------
>
> Key: RF-13278
> URL: https://issues.jboss.org/browse/RF-13278
> Project: RichFaces
> Issue Type: Feature Request
> 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
> chrome, firefox
> Reporter: Alexey Shakov
> Assignee: Brian Leathem
> Fix For: 5.0.0.Alpha3
>
> Original Estimate: 2 hours
> Remaining Estimate: 2 hours
>
> 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
10 years, 3 months
[JBoss JIRA] (RF-13278) Add support for a 'headers' meta-component to the rich:tabPanel
by Brian Leathem (JIRA)
[ https://issues.jboss.org/browse/RF-13278?page=com.atlassian.jira.plugin.s... ]
Brian Leathem edited comment on RF-13278 at 1/2/14 8:41 PM:
------------------------------------------------------------
Thanks for the review Lukas. Your commit is sensible.
Having thought about this issue over the break, and speaking about it with @lfryc today I've come to the following conclusions:
# The tabPanel headers should be visited in the walk of the component tree, because they are visible on the page (RF-13455)
# Having a tabPanel@header{s} meta-component would still be useful (despite 1)
# The @active item should be the default value of the tabPanel, but should be overridden when a user sets the render attribute of the tabPanel
We will address 1) in 4.3, however 2) and 3) will be included in 4.5/5.0.
was (Author: bleathem):
Thanks for the review Lukas. Your commit is sensible.
Having thought about this issue over the break, and speaking about it with @lfryc today I've come to the following conclusions:
# The tabPanel headers should be visited in the walk of the component tree, because they are visible on the page
# Having a tabPanel@header{s} meta-component would still be useful (despite 1)
# The @active item should be the default value of the tabPanel, but should be overridden when a user sets the render attribute of the tabPanel
We will address 1) in 4.3, however 2) and 3) will be included in 4.5/5.0.
> Add support for a 'headers' meta-component to the rich:tabPanel
> ---------------------------------------------------------------
>
> Key: RF-13278
> URL: https://issues.jboss.org/browse/RF-13278
> Project: RichFaces
> Issue Type: Feature Request
> 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
> chrome, firefox
> Reporter: Alexey Shakov
> Assignee: Brian Leathem
> Fix For: 5.0.0.Alpha3
>
> Original Estimate: 2 hours
> Remaining Estimate: 2 hours
>
> 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
10 years, 3 months