The dialog is supposed to be launched from a MenuItem action method in the index.xhtml file:
Code: Select all
<p:menuitem id="menuItemManager" value="Manager"
action="#{managerBean.launch}" oncomplete="dlgManager.show()"/>
Code: Select all
<p:layoutUnit id="mainPageCenter" position="center">
<h:form id="mainPageCenterForm" binding="#{baseBean.form}">
</h:form>
</p:layoutUnit>
Code: Select all
public void launch() throws IOException {
FacesContext fctx = FacesContext.getCurrentInstance();
FaceletFactory factory = ApplicationAssociate.getInstance(fctx.getExternalContext()).getFaceletFactory();
Facelet managerFacelet = factory.getFacelet("/WEB-INF/facelets/dialog/Manager.xhtml");
//Dialog dialog = new Dialog();
Dialog dialog = (Dialog) fctx.getApplication().createComponent(fctx, Dialog.COMPONENT_TYPE, "org.primeface.component.dialog.DialogRenderer");
managerFacelet.apply(fctx, dialog);
dialog.setId("ManagerDialog");
dialog.setWidgetVar("dlgManager");
dialog.setHeader("Application Manager");
dialog.setWidth("660");
dialog.setHeight("320");
dialog.setVisible(true);
form.getChildren().clear();
form.getChildren().add(dialog);
RequestContext.getCurrentInstance().update("mainPageCenterForm");
}
Following it in firebug, an Ajax call is mae (as a POST) to index.xhtml. The response is this:
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<partial-response><changes><update id="mainPageCenterForm"><![CDATA[
<form id="mainPageCenterForm" name="mainPageCenterForm" method="post" action="/index.xhtml">
<input type="hidden" name="mainPageCenterForm" value="mainPageCenterForm" />
</form>]]></update><update id="javax.faces.ViewState"><![CDATA[1085527968780930835:794424633460843413]]></update></changes></partial-response>
Code: Select all
dlgManager is not defined
Can anyone point out if I'm just making a dumb mistake?