I have tested Balusc's inputDate component: Composite component with multiple input fields inside a PrimeFaces dialog. The encodeAll
method is not called at all and the select boxes are not initialized. The composite component works fine when placed in a form as shown in the article.
Why encodeAll
doesn't work inside a dialog and how can be fixed?
EDIT 1
I use Mojarra 2.1.13 and PrimeFaces 3.4.2.
EDIT 2 Here is a sample from my real project. I used your component to learn about composite components. I have a view accounts, with a datatable and a toolbar. Pressing Add should open a dialog with a custom wizard. The dialog has its own form, but the wizard is not displayed.
accounts.xhtml
<h:form id="form">
<ui:include src="/WEB-INF/flows/accounts/accountsTable.xhtml" />
</h:form>
<ui:include src="/WEB-INF/flows/accounts/mainDialog4.xhtml" />
accountsTable.xhtml
<p:dataTable id="accounts" ... />
<p:toolbar>
<p:toolbarGroup align="left">
<p:commandButton value="Add"
action="#{accountsBean.initializeEntity}"
process="@this" update=":actionsDialog4"
oncomplete="actionsDialogWidget4.show()">
<f:setPropertyActionListener value="#{2}"
target="#{accountsBean.operation}" />
<f:setPropertyActionListener value="accountsBean"
target="#{sessionScope.beanName}" />
</p:commandButton>
</p:toolbarGroup>
</p:toolbar>
mainDialog4.xhtml
<p:dialog id="actionsDialog4" widgetVar="actionsDialogWidget4" dynamic="true"
modal="true">
<h:form>
<costom:actionWizard name="wizard" widgetVar="wiz" bean="#{accountsBean}" header="#{accountsBean.entityHeader}" />
</h:form>
</p:dialog>