[
https://issues.apache.org/jira/browse/TOMAHAWK-543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12618556#action_12618556
]
Leonardo Uribe commented on TOMAHAWK-543:
-----------------------------------------
The example provided will never work, since it uses several h:form per each
tab. so when there is a click on one the other state get lost.
But if is used t:subform it works!.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<f:view>
<h:form>
<t:panelTabbedPane id="serverSideSwitch" width="100%"
serverSideTabSwitch="true">
<t:panelTab label="Server Tab 1">
<t:subform>
<h:outputLabel for="tab_1_input" value="Required Value" />
<h:inputText id="tab_1_input" required="true" />
<h:commandButton action="submit" />
<h:messages />
</t:subform>
</t:panelTab>
<t:panelTab label="Server Tab 2">
<t:subform>
<h:outputLabel for="tab_2_input" value="Required Value" />
<h:inputText id="tab_2_input" required="true" />
<h:commandButton action="submit" />
<h:messages />
</t:subform>
</t:panelTab>
</t:panelTabbedPane>
<t:panelTabbedPane id="clientSideSwitch" width="100%"
serverSideTabSwitch="false">
<t:panelTab label="Client Tab 1">
<t:subform>
<h:outputLabel for="ctab_1_input" value="Required Value" />
<h:inputText id="ctab_1_input" required="true" />
<h:commandButton action="submit" />
<h:messages />
</t:subform>
</t:panelTab>
<t:panelTab label="Client Tab 2">
<t:subform>
<h:outputLabel for="ctab_2_input" value="Required Value" />
<h:inputText id="ctab_2_input" required="true" />
<h:commandButton action="submit" />
<h:messages />
</t:subform>
</t:panelTab>
</t:panelTabbedPane>
</h:form>
</f:view>
</body>
</html>
So it is not a bug of the component, and no further advance could be done here.
I'll close this issue as invalid.
There is an issue about selectIndex (TOMAHAWK-858), but this will be solved (if
is possible) there.
> The wrong tab may be displayed after a validation failure and
> serverSiteTabSwitch="false"
> -----------------------------------------------------------------------------------------
>
> Key: TOMAHAWK-543
> URL: https://issues.apache.org/jira/browse/TOMAHAWK-543
> Project: MyFaces Tomahawk
> Issue Type: Bug
> Components: Tabbed Pane
> Affects Versions: 1.1.3
> Reporter: Paul Spencer
> Assignee: Leonardo Uribe
>
> I have a form on a tabbed pane that validates input. When their is a
> validation error and the attribute serverSideTabSwitch on <t:panelTabbedPane>
> is undefined or set to false, the first tab is displayed, not the one with
> the error.
> Their is a selectedIndex attribute on <t:panelTabbedPane>. I would contend
> that the selectIndex is not getting
> set/restored when serverSiteTabSwitch="false". This show up when the
> validation phase fails.
> Or said another way:
> MyFaces does not know which tab the clicked button was on and it always
> display the tab
> identified by selectIndex when serverSiteTabSwitch="false" when their is a
> validation failure.
> The code below will demonstrate the problem. Click on "Server Tab 2" then
> "Submit Query". "Server Tab 2"
> is still the current table. Now do the same with "Client Tab 2". You will
> notice that "Client Tab 1" is
> the current tab!
> <t:panelTabbedPane id="serverSideSwitch" width="100%"
> serverSideTabSwitch="true">
> <t:panelTab label="Server Tab 1">
> <h:form>
> <h:outputLabel for="tab_1_input" value="Required Value" />
> <h:inputText id="tab_1_input" required="true" />
> <h:commandButton action="submit" />
> <h:messages />
> </h:form>
> </t:panelTab>
> <t:panelTab label="Server Tab 2">
> <h:form>
> <h:outputLabel for="tab_2_input" value="Required Value" />
> <h:inputText id="tab_2_input" required="true" />
> <h:commandButton action="submit" />
> <h:messages />
> </h:form>
> </t:panelTab>
> </t:panelTabbedPane>
> <t:panelTabbedPane id="clientSideSwitch" width="100%"
> serverSideTabSwitch="false">
> <t:panelTab label="Client Tab 1">
> <h:form>
> <h:outputLabel for="ctab_1_input" value="Required Value" />
> <h:inputText id="ctab_1_input" required="true" />
> <h:commandButton action="submit" />
> <h:messages />
> </h:form>
> </t:panelTab>
> <t:panelTab label="Client Tab 2">
> <h:form>
> <h:outputLabel for="ctab_2_input" value="Required Value" />
> <h:inputText id="ctab_2_input" required="true" />
> <h:commandButton action="submit" />
> <h:messages />
> </h:form>
> </t:panelTab>
> </t:panelTabbedPane>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.