ajaxprimefacesselectonemenu

Primefaces p:poll breaks 'rendered' functionality


I have a dropdown with ajax event to hide/show another component based on 'rendered' attribute.

It works fine, untill p:poll from another component gets invoked - the ajax event does not toggle the 'airportPickupWrapper' (although i can see the ajax request in Network)

component 1 :

<h:outputLink id="unresolvedOrdersCount" value="#{navigationMenuBean.setPage('management/orderManagement')}" style="color : red">
            New orders : #{headerController.getUnresolvedOrdersCount()}
</h:outputLink>

<p:poll interval="10" update="unresolvedOrdersCount"/>

component2 :

<h:selectOneMenu id="orderTypeDropdown" value="#{orderController.order.orderType}">
    <f:selectItems value="#{orderController.orderTypes}"
                   var="orderType"
                   itemLabel="#{orderType.displayName}">
    </f:selectItems>
    <p:ajax event="change" update="airportPickupWrapper"/>
</h:selectOneMenu>
<p:panel id="airportPickupWrapper" >
    <h:panelGrid columns="1" rendered="#{orderController.order.orderType.name() == 'AIRPORT_PICKUP'}">
        <p:outputLabel for="flightNumber" value="Flight number: " />
        <p:inputText id="flightNumber" value="#{orderController.order.flightNumber}">

        </p:inputText>
    </h:panelGrid>
</p:panel>

thank you for suggestions

edit: if i change the component 1 so that it does not invoke backing bean, everything works fine

<h:outputLink id="unresolvedOrdersCount"></h:outputLink>

Solution

  • Solved.

    The problem was i used h:outputLink, where xmlns:h="http://xmlns.jcp.org/jsf/html". I switched it to p:link (xmlns:p="http://primefaces.org/ui") and everything works fine.

    One would think it is compatible.

    Thank you.