Passing values from one model panel to another at oncomplete
asc Nov 26, 2010 2:01 AMHi All,
I am facing a problem at the time of rendering a list which is in a model panel.I have one model panel and at oncomplete of that model panel i am opening another model panel with a datagrid.But at the time of rendering the second model panel ,i am not getting that datagrid List.
Code I have written for model panel is
<a:outputPanel id="addCustomJobPanel">
<rich:modalPanel id="addCustomJobMp" styleClass="modalPanel" top="10" keepVisualState="#{manageJobDone.showOverlay}" autosized="true" minWidth="600" minHeight="150" style="background-image: url('../img/overlayBg.png');background-repeat: repeat;background-color: transparent;" shadowDepth="#{messages.valShadowDepth}" headerClass="modalPanel-header" controlsClass="modalPanel-controls">
<f:facet name="header">
<h:outputText value="#{messages.lblAddEditCustomJob}" />
</f:facet>
<f:facet name="controls">
<h:form>
<a:commandLink action="#{manageJobDone.closeLayer}"oncomplete="Richfaces.hideModalPanel('addCustomJobMp')">
<h:graphicImage value="/img/closeButton.png" alt="X" border="0" />
</a:commandLink>
</h:form>
</f:facet>
<s:div styleClass="modalPanel-panelGrid-container-div">
<h:panelGrid styleClass="modalPanel-panelGrid">
<a:outputPanel ajaxRendered="true">
<h:message styleClass="message" for="addCustomJobPanel" />
</a:outputPanel>
<a:form id="addCustomJobForm">
<h:panelGrid border="0" columnClasses="formLabel,formValue" rowClasses="formLabel">
<s:decorate id="customJobTitleDecoration" template="../layout/edit.xhtml">
<ui:define name="label">#{messages.lblJobDoneTitle}</ui:define><h:inputText id="jobtitle" value="#{customJob.strTitle}"required="true" requiredMessage="#{messages['message.required.customjob.title']}" /> </s:decorate><s:decorate id="machineryTypeDecoration" template="../layout/edit.xhtml"><ui:define name="label">#{messages.lblMachinery}</ui:define> <h:selectOneMenu value="#{customJob.machinery}"> <s:selectItems value="#{manageJobDone.machineryRList}" var="m" label="#{m.strName}" noSelectionLabel="#{messages.defaultListItem}" />
<s:convertEntity />
</h:selectOneMenu>
</s:decorate>
<s:decorate id="customJobDescDecoration"
template="../layout/edit.xhtml">
<ui:define name="label">#{messages.lblCustumJobDesc}</ui:define>
<h:inputTextarea id="customJobDesc" value="#{customJob.txtDescription}" required="true" rows="5" cols="36"
requiredMessage="#{messages['message.required.customjob.desc']}" />
</s:decorate></h:panelGrid> <h:panelGrid columns="1" border="0" width="100%" columnClasses="formLabel,formValue" rowClasses="formLabel"><a:commandButton id="persistCustomJob"
value="#{messages.lblPersistAttach}" reRender="addCustomJobPanel"
action="#{manageJobDone.persistCustomJob}"
onclick="this.disabled=true" style="margin:3px"
oncomplete="Richfaces.showModalPanel('uploadImageMp'"
rendered="#{customJob.icustomJobId == null}" />
<a:commandButton id="updateCustomJob"
value="#{messages.lblUpdateAttach}"
reRender="addCustomJobPanel"
action="#{manageJobDone.updateCustomJob}"
onclick="this.disabled=true" style="margin:3px"
oncomplete="Richfaces.showModalPanel('uploadImageMp',{list : #{manageJobDone.customJobImageList}})" rendered="#{customJob.icustomJobId != null}" >
<a:actionparam name="jobDoneButton" value="attach"
assignTo="#{manageJobDone.jobDoneButton}" />
</a:commandButton>
</h:panelGrid>
</a:form>
</h:panelGrid>
</s:div>
</rich:modalPanel>
</a:outputPanel>And Code for second model panel is
<rich:modalPanel id="uploadImageMp" styleClass="modalPanel" top="10"
keepVisualState="#{manageJobDone.showImageUpload}" autosized="true"
minWidth="600" minHeight="150"
style="background-image: url('../img/overlayBg.png');background-repeat: repeat;background-color: transparent;"
shadowDepth="#{messages.valShadowDepth}"
headerClass="modalPanel-header" controlsClass="modalPanel-controls">
<f:facet name="header">
<h:outputText value="#{messages.lblUploadFilesJobDone}" />
</f:facet>
<h:form>
<a:commandLink action="#{manageJobDone.closeLayer}"
oncomplete="Richfaces.hideModalPanel('uploadImageMp')">
<h:graphicImage value="/img/closeButton.png" alt="X" border="0" />
</a:commandLink>
</h:form>
<s:div styleClass="modalPanel-panelGrid-container-div">
<h:panelGrid styleClass="modalPanel-panelGrid">
<rich:dataTable id="jobDoneFilesUploadedList"
value="#{jobDoneImageList}" var="jdi" styleClass="rich-dataTable"
columnClasses="dataTableColumn" headerClass="dataTableHeader"
rendered="#{jobDoneImageList.rowCount > 0}"
style="border: none; background: none;">
<rich:column style="width:70%;">
<f:facet name="header">#{messages.lblFileNameJobDone}</f:facet>
#{jdi.strImageName}
</rich:column>
<rich:column style="width:30%;">
<f:facet name="header">#{messages.lblJobDoneFileUploadedOn}</f:facet>
#{jdi.dtCreated}
</rich:column>
<rich:column style="width: 100px;">
<f:facet name="header">
<h:outputText value="#{messages.lblAction}"
styleClass="dataTablePanelGrid" />
</f:facet>
<h:form>
<a:commandLink action="#{manageJobDone.removeJobDoneFile(jdi)}"
reRender="removeJobDoneFilePanel"
oncomplete="this.disabled=false"
onmouseover="reloadHelp('#{messages.lblRemoveFile}');"
onmouseout="reloadHelp('#{messages.lblRemoveFile}');"
onclick="this.disabled=true" style="margin-right: 5px;"
ajaxSingle="true" ignoreDupResponses="true" requestDelay="1000"
eventsQueue="removeJobDoneFileQueue">
<h:graphicImage value="/img/edit.gif" border="0" />
<rich:toolTip followMouse="false" direction="top-right"
showDelay="0" styleClass="tooltip">
#{messages.lblRemoveFile}
</rich:toolTip>
</a:commandLink>
</h:form>
</rich:column>
</rich:dataTable>
<rich:dataTable id="customJobFileUploadList"
value="list" var="cjil"
styleClass="rich-dataTable" columnClasses="dataTableColumn"
headerClass="dataTableHeader"
rendered="true"
style="border:1px solid red; background: none;">
<rich:column style="width:70%;">
<f:facet name="header">#{messages.lblFileNameJobDone}</f:facet>
#{cjil.strImageName}
</rich:column>
<rich:column style="width:30%;">
<f:facet name="header">#{messages.lblJobDoneFileUploadedOn}</f:facet>
#{cjil.dtCreated}
</rich:column>
<rich:column style="width: 100px;">
<f:facet name="header">
<h:outputText value="#{messages.lblAction}"
styleClass="dataTablePanelGrid" />
</f:facet>
<h:form>
<a:commandLink action="#{manageJobDone.removeCustomJobFile(cjil)}"
reRender="removeJobDoneFilePanel"
oncomplete="this.disabled=false"
onmouseover="reloadHelp('#{messages.lblRemoveFile}');"
onmouseout="reloadHelp('#{messages.lblRemoveFile}');"
onclick="this.disabled=true" style="margin-right: 5px;"
ajaxSingle="true" ignoreDupResponses="true" requestDelay="1000"
eventsQueue="removeJobDoneFileQueue">
<h:graphicImage value="/img/edit.gif" border="0" />
<rich:toolTip followMouse="false" direction="top-right"
showDelay="0" styleClass="tooltip">
#{messages.lblRemoveFile}
</rich:toolTip>
</a:commandLink>
<a:commandLink action="#{manageJobDone.viewCustomJobImage(cjil)}"
reRender="removeJobDoneFilePanel"
oncomplete="this.disabled=false"
onmouseover="reloadHelp('#{messages.lblRemoveFile}');"
onmouseout="reloadHelp('#{messages.lblRemoveFile}');"
onclick="this.disabled=true" style="margin-right: 5px;"
ajaxSingle="true" ignoreDupResponses="true" requestDelay="1000"
eventsQueue="removeJobDoneFileQueue">
<h:graphicImage value="/img/edit.gif" border="0" />
<rich:toolTip followMouse="false" direction="top-right"
showDelay="0" styleClass="tooltip">
#{messages.lblRemoveFile}
</rich:toolTip>
</a:commandLink>
</h:form>
</rich:column>
</rich:dataTable>
<h:form id="uploadImagePanelForm" enctype="multipart/form-data">
<h:panelGrid columns="2" columnClasses="name"
styleClass="panelGrid" align="center" width="50%">
<h:outputLabel for="name">
<h:outputText value="#{messages.lblBrowseFileToUpload}" />
</h:outputLabel>
<s:fileUpload data="#{manageJobDone.fileData}"
fileName="#{manageJobDone.fileName}" />
<h:outputLabel for="name">
<h:outputText value="#{messages.lblBrowseFileToUpload}" />
</h:outputLabel>
<s:fileUpload data="#{manageJobDone.fileData2}"
fileName="#{manageJobDone.fileName2}" />
<h:outputLabel for="name">
<h:outputText value="#{messages.lblBrowseFileToUpload}" />
</h:outputLabel>
<s:fileUpload data="#{manageJobDone.fileData3}"
fileName="#{manageJobDone.fileName3}" />
<h:commandButton id="saveJobDoneImage"
value="#{messages.btnSave}"
action="#{manageJobDone.persistJobDoneImage}" />
</h:panelGrid>
</h:form>
</h:panelGrid>
</s:div>
</rich:modalPanel>
But on display of second model panel i am not getting value from bean class.Please help if any one has any idea about this.
Thanks in advance.