1 Reply Latest reply on Oct 13, 2008 10:42 AM by Ilya Shaikovsky

    don't want beforePhase called with modalPanel

    Jay Haley Newbie

      I have a beforePhase method that is being called twice. My page contains an <f:view beforePhase="#{addressesContactsCtrl.beforePhase}"> and a modalPanel. I only want the beforePhase called on the intial pageload. I don't want the modalPanel to run my beforePhase method. I'm not sure what the best solution is.


      <f:view beforePhase="#{addressesContactsCtrl.beforePhase}" />
      
      <h:form>
       #{labels['l.pages.addressesContacts.addressesContacts.extraStops']}
       <t:panelGroup>
       <a4j:region>
       <a4j:commandButton id="addExtraStops" value="#{labels['l.btn.common.Add']}"></a4j:commandButton>
       <rich:componentControl for="panelExtraStops" attachTo="addExtraStops" operation="show" event="onclick"/>
       </a4j:region>
       </t:panelGroup>
      </h:form>
      
      
      <rich:modalPanel id="panelExtraStops" width="310" autosized="true">
       <f:facet name="header">
       <h:panelGroup>
       <h:outputText value="#{labels['l.pages.addressesContacts.modalExtraStops.modalHeader']}"></h:outputText>
       </h:panelGroup>
       </f:facet>
       <f:facet name="controls">
       <h:panelGroup>
       <h:graphicImage value="/images/close.png" style="cursor:pointer" id="hidelinkExtraStops" />
       <rich:componentControl for="panelExtraStops" attachTo="hidelinkExtraStops" operation="hide" event="onclick" />
       </h:panelGroup>
       </f:facet>
      </rich:modalPanel>
      


      public void beforePhase(PhaseEvent event) {
       if (event.getPhaseId() == PhaseId.RENDER_RESPONSE) {
       log.debug("should only be called once, but is called again when modalPanels opened");
      
       }
      }