[jboss-user] [JBoss Seam] - a4j:support to reRender dataTable and Factory question
asookazian
do-not-reply at jboss.com
Tue Nov 13 19:40:57 EST 2007
so I'm using the Factory component pattern on a conversation scoped SFSB. I added a a4j:support tag to a h:selectOneRadio tag and the h:form is reRendered when user clicks 'no' on one of the radioButtons.
So my question is: does the Factory method execute again when the dataTable is reRendered? It seems it's not refiring based on log output in the server.log. I don't actually want it to, but just curious...
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
| <ui:composition xmlns="http://www.w3.org/1999/xhtml"
| xmlns:s="http://jboss.com/products/seam/taglib"
| xmlns:ui="http://java.sun.com/jsf/facelets"
| xmlns:f="http://java.sun.com/jsf/core"
| xmlns:h="http://java.sun.com/jsf/html"
| xmlns:rich="http://richfaces.ajax4jsf.org/rich"
| xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
| xmlns:c="http://java.sun.com/jstl/core"
| template="layout/template.xhtml">
|
|
|
| <ui:define name="body">
|
| <script type="text/javascript"
| src="seam/resource/remoting/resource/remote.js">
| </script>
|
| <script type="text/javascript"
| src="seam/resource/remoting/interface.js?noteAction">
| </script>
|
| <script type="text/javascript"
| src="seam/resource/remoting/interface.js?securityAuditAction">
| </script>
|
| <script type="text/javascript"
| src="js/securityAudit.js">
| </script>
|
| <h:messages globalOnly="true" styleClass="message"/>
|
| <rich:modalPanel id="mp" minHeight="200" minWidth="450"
| height="500" width="500" zindex="2000">
|
| <f:facet name="header">
| <a4j:form id="a4jHeaderForm">
| <h:outputText id="headerText" value=""/>
| </a4j:form>
| </f:facet>
|
| <a4j:form id="a4jMainForm">
| <h:panelGrid columns="2" style="vertical-align:middle">
| <h:outputText id="description" value=""/>
| <BR/>
| <h:inputTextarea id="noteText" value="#{noteAction.noteText}" rows="6" cols="50"/>
| <!-- hidden variables are null/empty in NoteAction submit method, using Seam remoting -->
|
| <h:inputHidden id="rowIndex" value="noteAction.rowIndex"/>
| <h:inputHidden id="colName" value="noteAction.colName"/>
| <!--
| <h:inputHidden id="siteId" value="noteAction.siteId"/>
| <h:inputHidden id="employeeNumber" value="noteAction.employeeNumber"/>
| -->
| <a4j:commandButton value="submit" action="#{noteAction.submit}" onclick="showNoteGraphic();Richfaces.hideModalPanel('mp')"/>
| <BR/>
| <a4j:commandButton value="cancel" onclick="Richfaces.hideModalPanel('mp');unselectCurrentRadioButton();checkForSubmitFromModalPanel()"/>
| </h:panelGrid>
| </a4j:form>
| </rich:modalPanel>
| <!--
| <rich:panel>
| <a4j:form>
| <h:panelGrid columns="2">
| <h:inputText value="#{noteAction.networkId}"/>
| <a4j:commandButton value="Submit" align="top"/>
| <a4j:status>
| <f:facet name="start">
| <h:graphicImage value="/img/spinner.gif"/>
| </f:facet>
| </a4j:status>
| </h:panelGrid>
| </a4j:form>
| </rich:panel>
| -->
| <rich:panel>
| <h:form id="mainForm">
| <h:outputText value="No Direct Reports" rendered="#{myAuditList != null and myAuditList.rowCount==0}"/>
| <h:dataTable id="dataTable1" value="#{myAuditList}" var="myRow" rendered="#{myAuditList != null and myAuditList.rowCount > 0}"
| styleClass="dataTable" rowClasses="oddRow, evenRow" frame="hsides">
| <h:column>
| <f:facet name="header">Status</f:facet>
|
| <h:graphicImage id="statusImage" value="/img/red.gif"/>
| </h:column>
| <h:column>
| <f:facet name="header">Employee Name</f:facet>
|
| <!-- siteId and employeeNumber hidden fields are used for all radio buttons -->
| <h:outputText id="employeeName" value="#{myRow[0].id.employeeName}"/>
| <h:inputHidden id="employeeNameHidden" value="#{myRow[0].id.employeeName}"/>
| <h:inputHidden id="siteId" value="#{myRow[0].id.siteId}"/>
| <h:inputHidden id="employeeNumber" value="#{myRow[0].id.employeeNumber}"/>
| </h:column>
|
| <h:column>
| <f:facet name="header">SiteId</f:facet>
|
| <h:outputText value="#{myRow[0].id.siteId}"/>
| </h:column>
|
| <h:column>
| <f:facet name="header">EmployeeNumber</f:facet>
|
| <h:outputText value="#{myRow[0].id.employeeNumber}"/>
| </h:column>
|
| <h:column>
| <f:facet name="header">Account Approved?</f:facet>
|
| <h:selectOneRadio id="accountApprovedRB" value="#{myRow[1].icomsAccountApproved}">
| <a4j:support event="onclick"
| oncomplete="showHideRadioButtons(#{myAuditList.getRowIndex()}); processNote(#{myAuditList.getRowIndex()}, 'accountApproved'); checkForSubmit(#{myAuditList.getRowIndex()})"
| action="#{noteAction.setRenderRadioButtons(myAuditList.getRowIndex(), myRow[1].icomsAccountApproved)}"
| reRender="mainForm"
| ajaxSingle="true"/>
|
| <f:selectItems value="#{securityAuditAction.securityAuditRadioButtons}" />
| </h:selectOneRadio>
| <h:graphicImage id="acctGraphic" value="/img/icon_edit.gif"
| onclick="editNote(this, #{myAuditList.getRowIndex()}, 'accountApproved');" style="visibility:hidden"/>
| </h:column>
|
| <h:column>
| <f:facet name="header">Security Level Approved?</f:facet>
| <h:selectOneRadio id="securityLevelApprovedRB" value="#{myRow[1].securityLevelApproved}"
| onclick="processNote(#{myAuditList.getRowIndex()}, 'secLevelApproved');checkForSubmit(#{myAuditList.getRowIndex()})"
| rendered="#{noteAction.getRenderRadioButtons(myAuditList.getRowIndex())}">
| <f:selectItems value="#{securityAuditAction.securityAuditRadioButtons}" />
| </h:selectOneRadio>
| <h:graphicImage id="securityLevelGraphic" value="/img/icon_edit.gif"
| onclick="editNote(this, #{myAuditList.getRowIndex()}, 'secLevelApproved');" style="visibility:hidden"/>
| </h:column>
|
| <h:column>
| <f:facet name="header">Adjustment Limit Approved?</f:facet>
| <h:selectOneRadio id="adjustmentLimitApprovedRB" value="#{myRow[1].adjustmentLimitApproved}"
| onclick="processNote(#{myAuditList.getRowIndex()}, 'adjLimitApproved');checkForSubmit(#{myAuditList.getRowIndex()})"
| rendered="#{noteAction.getRenderRadioButtons(myAuditList.getRowIndex())}">
| <f:selectItems value="#{securityAuditAction.securityAuditRadioButtons}" />
| </h:selectOneRadio>
| <h:graphicImage id="adjLimitGraphic" value="/img/icon_edit.gif"
| onclick="editNote(this, #{myAuditList.getRowIndex()}, 'adjLimitApproved');" style="visibility:hidden"/>
| </h:column>
|
|
| <h:column>
| <h:commandButton id="submitEmployee" value="Submit" action="#{securityAuditAction.submit}" style="visibility:hidden"/>
| <!-- <f:param name="securityAuditRowNum" value="#{myAuditList.getRowIndex()}"/> -->
| <h:inputHidden id="securityAuditRowNum" value="#{myAuditList.getRowIndex()}"/>
| </h:column>
| </h:dataTable>
|
| </h:form>
| </rich:panel>
|
| </ui:define>
| </ui:composition>
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4104363#4104363
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4104363
More information about the jboss-user
mailing list