2 Replies Latest reply on Oct 8, 2007 6:28 PM by hgf

    rich:column and a4j:support

    hgf

      Hi,

      I'm trying to use a4j:support within h:inputText within a rich:column. The result is that a4j:support is not executed. Is that a known feature or is there anything I can make wrong? The a4j:support elements outside the rich:dataTable works as expected. Please see my coding beneath.

      Thank you

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml"
       xmlns:ui="http://java.sun.com/jsf/facelets"
       xmlns:h="http://java.sun.com/jsf/html"
       xmlns:f="http://java.sun.com/jsf/core"
       xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
       xmlns:rich="http://richfaces.ajax4jsf.org/rich"
       xmlns:t="http://myfaces.apache.org/tomahawk">
      
      <f:loadBundle basename="resources" var="msg" />
      <ui:composition>
       <a4j:outputPanel id="DLG_CONFIG_PNL_LOLO_OP">
       <h:panelGrid columns="1"
       rendered="#{configurationHandler.mapVisible['DLG_CONFIG_PNL_LOLO']}">
       <h:panelGrid columns="2" style="horizontal-align: center">
       <h:panelGrid columns="2">
       <h:panelGroup />
       <h:message styleClass="error"
       id="DLG_CONFIG_TBN_LOLO_IT_PE_NAME_ERROR"
       for="DLG_CONFIG_TBN_LOLO_IT_PE_NAME" />
       <h:outputText value="PE Name:" />
       <h:inputText id="DLG_CONFIG_TBN_LOLO_IT_PE_NAME" label="PE Name"
       value="#{configurationHandler.config.FRAMERELAY.PE_NAME}"
       converter="spims.PeNameConverter" required="true">
       <a4j:support event="onblur" reRender="panelError"
       ajaxSingle="true" limitToList="true" />
       </h:inputText>
       </h:panelGrid>
      
       <h:panelGrid columns="2">
       <h:panelGroup />
       <h:message styleClass="error" id="accessSpeedError"
       for="accessSpeed" />
       <h:outputText value="PE Interface Type:" />
       <h:selectOneMenu id="accessSpeed" label="PE Interface Type"
       value="#{configurationHandler.config.FRAMERELAY.CIRCUIT_ACCESS_SPEED_CUSTOMER}"
       converter="spims.CircuitAccessSpeedConverter">
       <f:selectItems
       value="#{configurationHandler.selectItemsCircuitAccessSpeed}" />
       <a4j:support event="onchange" ajaxSingle="true" focus="protocol"
       immediate="true" reRender="panelError,localLoopList"
       limitToList="true" />
       </h:selectOneMenu>
       </h:panelGrid>
       </h:panelGrid>
      
       <h:panelGrid columns="1">
       <rich:spacer width="1" height="15" />
       <rich:spacer width="600" height="0"
       style="border:1px solid #{a4jSkin.panelBorderColor}" />
       <rich:spacer width="1" height="15" />
       </h:panelGrid>
      
       <rich:dataTable id="localLoopList" rowKeyVar="rowKey"
       onRowMouseOver="this.style.backgroundColor='#F1F1F1'"
       onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"
       cellpadding="0" cellspacing="0" border="0" var="localLoop"
       value="#{configurationHandler.localLoopsHandler.resultModel}">
      
       <f:facet name="header">
       <rich:columnGroup>
       <rich:column rowspan="2">
       <h:outputText value="Del." />
       </rich:column>
       <rich:column rowspan="2">
       <h:outputText value="Nr." />
       </rich:column>
       <rich:column rowspan="2">
       <h:outputText value="Line-ID" />
       </rich:column>
       <rich:column colspan="5">
       <h:outputText value="PE" />
       </rich:column>
       <rich:column breakBefore="true">
       <h:outputText value="Slot" />
       </rich:column>
       <rich:column>
       <h:outputText value="Bay" />
       </rich:column>
       <rich:column>
       <h:outputText value="Port" />
       </rich:column>
       <rich:column id="DLG_CONFIG_PNL_LOLO_DTA_COL_TIMESLOT"
       rendered="#{configurationHandler.mapVisible['Configuration-FRAMERELAY-LOCAL_LOOP-TIME_SLOT']}">
       <h:outputText id="DLG_CONFIG_PNL_LOLO_DTA_LBL_TIMESLOT"
       value="Timeslots" />
       </rich:column>
       <rich:column id="DLG_CONFIG_PNL_LOLO_DTA_COL_STM1_CHANNEL"
       rendered="#{configurationHandler.mapVisible['Configuration-FRAMERELAY-LOCAL_LOOP-STM1_CHANNEL']}">
       <h:outputText id="DLG_CONFIG_PNL_LOLO_DTA_LBL_STM1_CHANNEL"
       value="stm1 channel" />
       </rich:column>
       <rich:column id="DLG_CONFIG_PNL_LOLO_DTA_COL_OC_SLICE"
       rendered="#{configurationHandler.mapVisible['Configuration-FRAMERELAY-LOCAL_LOOP-OC_SLICE']}">
       <h:outputText id="DLG_CONFIG_PNL_LOLO_DTA_LBL_OC_SLICE"
       value="oc slice" />
       </rich:column>
       <rich:column id="DLG_CONFIG_PNL_LOLO_DTA_COL_OC_CHANNEL"
       rendered="#{configurationHandler.mapVisible['Configuration-FRAMERELAY-LOCAL_LOOP-OC_CHANNEL']}">
       <h:outputText id="DLG_CONFIG_PNL_LOLO_DTA_LBL_OC_CHANNEL"
       value="oc channel" />
       </rich:column>
       </rich:columnGroup>
       </f:facet>
      
       <rich:column>
       <a4j:commandButton value="X" immediate="true"
       action="#{configurationHandler.localLoopsHandler.deleteLokalLoop}"
       disabled="#{!configurationHandler.localLoopsHandler.localLoopsDeletePossible}"
       reRender="localLoopList" ajaxSingle="true" limitToList="true">
       </a4j:commandButton>
       </rich:column>
       <rich:column>
       <h:outputText value="#{rowKey + 1}" />
       </rich:column>
       <rich:column>
       <h:inputText id="lineId" label="Line-ID"
       value="#{localLoop.LINE_ID}" converter="spims.LineIdConverter"
       required="true" size="25">
       <a4j:support event="onblur" reRender="panelError"
       ajaxSingle="true" limitToList="true" />
       </h:inputText>
       </rich:column>
       <rich:column>
       <h:inputText value="#{localLoop.SLOT}" size="3">
       <a4j:support event="onblur" reRender="panelError"
       ajaxSingle="true" limitToList="true" />
       </h:inputText>
       </rich:column>
       <rich:column>
       <h:inputText value="#{localLoop.BAY}" size="3">
       <a4j:support event="onblur" reRender="panelError"
       ajaxSingle="true" limitToList="true" />
       </h:inputText>
       </rich:column>
       <rich:column>
       <h:inputText value="#{localLoop.PORT}" size="3">
       <a4j:support event="onblur" reRender="panelError"
       ajaxSingle="true" limitToList="true" />
       </h:inputText>
       </rich:column>
       <rich:column
       rendered="#{configurationHandler.mapVisible['Configuration-FRAMERELAY-LOCAL_LOOP-TIME_SLOT']}">
       <h:inputText id="timeslotId" value="#{localLoop.TIME_SLOT}"
       converter="spims.TimeslotConverter">
       <a4j:support event="onblur" reRender="panelError"
       ajaxSingle="true" limitToList="true" />
       </h:inputText>
       </rich:column>
       <rich:column
       rendered="#{configurationHandler.mapVisible['Configuration-FRAMERELAY-LOCAL_LOOP-STM1_CHANNEL']}">
       <h:inputText id="stm1Channel" value="#{localLoop.STM1_CHANNEL}"
       converter="spims.Stm1ChannelConverter">
       <a4j:support event="onblur" reRender="panelError"
       ajaxSingle="true" limitToList="true" />
       </h:inputText>
       </rich:column>
       <rich:column
       rendered="#{configurationHandler.mapVisible['Configuration-FRAMERELAY-LOCAL_LOOP-OC_SLICE']}">
       <h:inputText id="ocSlice" value="#{localLoop.OC_SLICE}"
       converter="spims.OCSliceConverter">
       <a4j:support event="onblur" reRender="panelError"
       ajaxSingle="true" limitToList="true" />
       </h:inputText>
       </rich:column>
       <rich:column
       rendered="#{configurationHandler.mapVisible['Configuration-FRAMERELAY-LOCAL_LOOP-OC_CHANNEL']}">
       <h:inputText id="ocChannel" value="#{localLoop.OC_CHANNEL}"
       converter="spims.OCChannelConverter">
       <a4j:support event="onblur" reRender="panelError"
       ajaxSingle="true" limitToList="true" />
       </h:inputText>
       </rich:column>
      
       <f:facet name="footer">
       <rich:columnGroup>
       <rich:column colspan="1">
       <a4j:commandButton value="#{msg.DLG_CONFIG_PNL_LOLO_BTN_ADD}"
       immediate="true"
       disabled="#{!configurationHandler.mapEnabled['DLG_CONFIG_PNL_LOLO_BTN_ADD']}"
       action="#{configurationHandler.localLoopsHandler.addLokalLoop}"
       reRender="localLoopList" ajaxSingle="true" limitToList="true" />
       </rich:column>
       <rich:column colspan="7">
       </rich:column>
       </rich:columnGroup>
       </f:facet>
      
       </rich:dataTable>
      
       </h:panelGrid>
       </a4j:outputPanel>
      </ui:composition>
      </html>
      


        • 1. Re: rich:column and a4j:support

          immediate="true" does not work with ajaxSingle="true" in 3.1.1

          • 2. Re: rich:column and a4j:support
            hgf

            Hi Sergey,

            thank you for your answer.

            I've coded this originaly in richFaces 3.0.1 an ajax4jsf 1.1.1. I assume that this must have work with this libs, but I'm not sure. All I can see now is, that switching back results in the same behaviour. It does not work.

            I've recognized that there are some difficulties in 3.1.0 using immediate="true" and ajaxSingle="true". So now I've tried 3.1.1. With this I did not recoginze any missbehaviour without the combination of using afj:support in a rich:column. It seems to me that there was made some changes.

            regards