Как обновить форму, которая содержит сводные таблицы с таймером? - PullRequest
0 голосов
/ 24 января 2020

Я использую bootstrap карусель для прохождения таблиц (они генерируются из БД), я пытался использовать опрос простых лиц, но он перезаряжает меня только один раз, и после этого первая таблица остается прежней c и теряет эффект перехода. Любая рекомендация ...
psdta: Primefaces 4.0 и bootstrap 4 являются частью дизайна.

  <h:form id="tablas">
                    <p:ajaxStatus onstart="statusDialog.show();" onsuccess="statusDialog.hide();"/>
                    <p:dialog modal="true" widgetVar="statusDialog" resizable="false" draggable="false" closable="false"
                              showHeader="false" style="border: none; opacity: 0.75;">
                    <p:graphicImage id="refreshTable" value="./../resources/images/cargandoLogin.gif" style="width: 100px; height: 100px; " />
                </p:dialog>
                <div id="carouselExampleInterval" class="carousel slide" data-ride="carousel">
                    <div class="carousel-inner">
                        <div class="limiter">
                            <div class="container-table100">
                                <h:outputText value="#{beansSeguimientoRelease.dateTable}" escape="false"/>
                                <div class="carousel-item" data-interval="#{beansSeguimientoRelease.contTabla}">
                                    <div id="main-container"> 
                                        <div class="tituloN">NOTAS</div>
                                        <table class="table table-bordered" style="text-orientation: upright;">
                                            <thead>
                                                <tr>
                                                    <th scope="col" style="background-color: #0f7ff4">TEMAS PENDIENTES</th>
                                                        <th scope="col" style="background-color: #0f7ff4">NOTAS</th>
                                                    </tr>
                                                </thead>
                                                <tbody>
                                                    <tr>
                                                        <td style="text-align: left; border-left: 15px black !important;">
                                                        <h:outputText value="#{beansSeguimientoRelease.itemNotas.tareas}" escape="false"/> </td>
                                                    <td style="text-align: left;">
                                                        <h:outputText value="#{beansSeguimientoRelease.itemNotas.notas}" escape="false"/></td>
                                                </tr>
                                                <tr>
                                                    <td style="text-align: right;">Disponibilidad:</td>
                                                    <td><h:outputText value= "#{beansSeguimientoRelease.itemNotas.disponibilidad}" escape="false"/></td>
                                                </tr>
                                                <tr>
                                                    <td style="text-align: right;">Operador Noc:</td>
                                                    <td><h:outputText value="#{beansSeguimientoRelease.itemNotas.operador_noc}" escape="false"/> </td>
                                                </tr>
                                            </tbody>
                                        </table>
                                    </div>
                                </div>
                            </div> 
                        </div>
                    </div>
                    <a id="aPrev" class="carousel-control-prev" href="#carouselExampleInterval" role="button" data-slide="prev" style="width: 5%">
                            <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                            <span class="sr-only">Previous</span>
                        </a>
                        <a id="aNext" class="carousel-control-next" href="#carouselExampleInterval" role="button" data-slide="next" style="width: 5%">
                            <span class="carousel-control-next-icon" aria-hidden="true"></span>
                            <span class="sr-only">Next</span>
                        </a>
                    </div>
                    <p:poll id="Tpoll" interval="#{beansSeguimientoRelease.cont}" update="tablas"/>
                </h:form>

1 Ответ

1 голос
/ 24 января 2020

Я предполагаю, что проблема вызвана тем, что p:poll находится внутри h:form и что, обновляя всю форму, он тоже обновляется и перестает работать (возможно, вы можете увидеть что-то в JS консоли отладки).

Попробуйте заключить карусель div в h:panelGroup следующим образом

<h:panelGroup id="wrapper" layout="block">
    <div id="carouselExampleInterval" class="carousel slide"...>
     ...
    </div>
</h:panelGroup>

, а затем, когда интервал опроса истечет, обновить только добавленные h:panelGroup

<p:poll id="Tpoll" interval="#{beansSeguimientoRelease.cont}" update=":tablas:wrapper"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...