4 Replies Latest reply on Jun 17, 2008 4:29 AM by Miglena Borisova

    modalPanel - values of h:outputText don't display

    Miglena Borisova Newbie

      Hello, I hope that I don't repeat some other topic, but I didn't find a similar one.
      So, my problem is that I have a modalPanel window, which has to display 3 outputText properties. Well, they are empty, although I don't have any error or exception.
      The scenario is: I have a selectOneMenu, from which I select an item and then open the modalPanel to display its properies. The code is:

      1. Code for the listbox:

      <h:selectOneListbox id="templateControlMenu" value="#{templateManager.selectedTemplateFieldControl}" size="5">
       <s:selectItems value="#{templateManager.listOfTemplateControls}" var="templateFieldControl"
       label="#{templateFieldControl.control.className}(#{templateFieldControl.parameter});"/>
       <s:convertEntity />
       </h:selectOneListbox>


      2. Code for the link that opens my modalPanel:
      <a4j:commandLink value="#{messages['template.editControlOfField']}" action="#{templateManager.fillControlFields}" oncomplete="#{rich:component('controlsPanelEdit')}.show()"/>


      3. Code of the modalPanel itself (which dispalys, except that controlForEdit.className, description and parameter stay empty):
      <rich:modalPanel id="controlsPanelEdit" height="300" width="500" zindex="2000">
       <f:facet name="header">
       <h:outputText value="ADMIN - Edit Controls" />
       </f:facet>
      
       <h:form id="editControlsInModalPanel">
       <h:panelGrid id="tempFieldControlsEdit" columns="2" columnClasses="wfcol1,wfcol2" cellspacing="5" cellpadding="5" >
       <h:outputText value="Change parameter of this control:"/>
       <h:outputText value="#{templateManager.controlForEdit.className}"/>
      
       <h:outputText value="Description : "/>
       <h:outputText id="descriptionTextEdit" value="#{templateManager.controlForEdit.description}"/>
      
       <h:outputText value="Parameter"/>
       <h:inputText id="parameterTextEdit" value="#{templateManager.controlTempFieldForEdit.parameter}"/>
      
       <h:panelGrid id="modalPanelButtonsEdit" columns="2" columnClasses="wfcol1,wfcol2" cellspacing="3" cellpadding="10">
       <a4j:commandButton id="submitPanelEdit" action="#{templateManager.addControlForField}"
       oncomplete="#{rich:component('controlsPanelEdit')}.hide()" reRender="templateControlMenu"
       value="#{messages['button.submit']}" styleClass="inputButton"/>
      
       <a4j:commandButton id="hidePanelEdit"
       oncomplete="#{rich:component('controlsPanelEdit')}.hide()" value="#{messages['button.cancel']}" styleClass="inputButton"/>
       </h:panelGrid>
       </h:panelGrid>
       </h:form>
       </rich:modalPanel>


      4. Code of the filling method, in which I surely pass (verified in debug mode):
      @SuppressWarnings("unchecked")
       public void fillControlFields(){
       if (selectedTemplateFieldControl != null){
       controlTempFieldForEdit = selectedTemplateFieldControl;
       controlForEdit = selectedTemplateFieldControl.getControl();
       }
       }


      I noticed that, in debug mode, after I click on the link that opens the modal panel, I don't pass through the getter methods of these 3 properites. I pass through them after I close the panel... Weird... Why don't they load on opening?
      Any help is appreciated highly!

      M.