p: диалоговое окно появляется, когда я нажимаю кнопку отмены окна. - PullRequest
0 голосов
/ 05 марта 2020

При нажатии происходит событие, которое вызывает диалог состояния. Если я внесу какие-либо изменения в форму и перейду на другую страницу из меню, появится всплывающее сообщение «У вас есть несохраненные данные. Вы уверены, что покинули страницу? Когда я нажимаю «Да», он переходит на другую страницу, но проблема заключается в том, что если я нажимаю «Нет», диалоговое окно процесса отображается, пока я не обновлю sh страницу.

<p:column>
<p:submenu label="#{authorizationView.getText('ADMINUTL',false,false)}">
 <c:forEach items="#{authorizationController.getUIFeature('ADMINUTL',true,null).getChildren(true)}" 
var="subMenu">
<p:menuitem url="#{subMenu.linkUrl}" value="#{subMenu.displayName}" style="white-space: nowrap;" 
 ajax="true" onclick="PF('statusDialog').show()" oncomplete="PF('redirectDialog').hide()"/>
   </c:forEach>                                           
  </p:submenu>
</p:column>

Код диалогового окна состояния:

<p:dialog widgetVar="statusDialog" 
 modal="true" 
draggable="false"
closable="false" 
resizable="false" 
showHeader="false" >

<p:graphicImage widgetVar="statusDialog" value="Loading" library="images" name="ajax-loader1.gif" 
width="40" height="40" style="margin-right: 12px; vertical-align: middle;"/>
<h:outputText value="Please wait, data is being processed..." style="white-space: nowrap;"/>  
</p:dialog>

Javascript код:

function setConfirmUnload(on) {
  var message = "You have unsaved data. Are you sure to leave the page?";
  window.onbeforeunload = (on) ? function() { return message; } : null;
}    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...