o: commandScript - обновить h: panelGroup после нажатия - PullRequest
2 голосов
/ 18 февраля 2020

Я хочу использовать omnifaces pu sh уведомление, которое уже работает для меня. Единственная проблема заключается в том, что контейнер не обновляется, как только я получил уведомление pu sh. Только со страницей refre sh.

Я хотел бы обновить значок колокольчика: Значок колокольчика

Вот мой код со структурой ... Код

Вот мой код JSF:

    <h:form id="notificationPushTopbarForm">
    <o:socket channel="notificationChannel"
        user="#{loginBean.currentEmployee.id}" scope="view"
        onmessage="someTestScript">
    </o:socket>

    <o:commandScript name="someTestScript"
        actionListener="#{numberOfUnreadNotificationByEmployeeNotLazyController.findNumberOfUnreadNotification()}"
        immediate="true" render="@parent:topbar_container, :notificationTopbarForm" />

</h:form>

    <h:panelGroup id="topbar_container" styleClass="topbar" layout="block">

    <ul class="topbar-menu">

        <li><p:commandLink id="notificationLink" global="true"
                update=":notificationTopbarForm" resetValues="true"
                oncomplete="PF('notificationSidebar').show()" ajax="true"
                process="@this">
                <i class="topbar-icon fa fa-fw fa-bell-o"></i>
                <h:outputText id="notificationTopbar"
                    value="#{numberOfUnreadNotificationByEmployeeNotLazyController.numberOf}"
                    rendered="#{numberOfUnreadNotificationByEmployeeNotLazyController.numberOf != 0}"
                    styleClass="topbar-badge animated FontBold rubberBand" />
                <h:outputText value="Benachrichtungen"
                    styleClass="topbar-item-name" />
            </p:commandLink> <p:tooltip for="notificationLink" value="Benachrichtungen"
                position="bottom" /></li>

Любая идея, что я делаю не так

1 Ответ

2 голосов
/ 18 февраля 2020

Измените атрибут обновления на следующий:

render=":topbar_container :notificationTopbarForm"
...