У меня есть кнопки Stop and Release, которые вызывают метод сохранения и в методе сохранения отображается подтверждениеDialog. Я могу использовать кнопку «Стоп», нажать «ОК» в диалоговом окне, и этот метод работает, но затем, когда я иду к часам «Сброс», кнопка не вызывает «ActionListener». Аналогично для нажатия Release, подтверждая затем попытку остановки.CommandButton не вызывает actionListener, когда я закрываю confirmDialog
Вот две командные кнопки, которые находятся внутри режима управления.
<p:commandButton title="Stop" value="Stop"
rendered="#{unitSetVehicleStatusBean.crudMode == 'READ' and unitSetVehicleStatusBean.stopped =='false'}"
actionListener="#{unitSetVehicleStatusBean.stop}"
update="modeControls :mainForm"
process="@this :mainForm"/>
<p:commandButton title="Release" value="Release"
rendered="#{unitSetVehicleStatusBean.crudMode == 'READ' and unitSetVehicleStatusBean.stopped =='true'}"
actionListener="#{unitSetVehicleStatusBean.release}"
update="modeControls :mainForm"
process="@this :mainForm"/>
Адрес confirmDialog. Метод экономии вызывается вызывается из остановки() и Release() методы, то после некоторой проверки я использую
RequestContext context = RequestContext
.getCurrentInstance();
context.execute("PF('saveNDTDialog').show();");
break;
и когда пользователь выбирает OK в confirmDialog он воссоединится этот метод часть пути через switch и завершить сохранение.
ПодтверждениеDialog.
<p:confirmDialog id="saveNDTDialog" appendTo="@(body)"
widgetVar="saveNDTDialog" closeOnEscape="true"
closable="true"
message="#{message.stoppedValidationNDTWarning}">
<p:commandButton value="OK"
update="mainForm :modeControls"
actionListener="#{unitSetVehicleStatusBean.save('WARNING_NDT')}"
oncomplete="saveNDTDlg.hide();"/>
<p:commandButton value="Cancel"
onclick="saveNDTDlg.hide();" />
</p:confirmDialog>
Я считаю, что проблема что-то делать с appendTo или, возможно, OnComplete, но не слишком уверен, что происходит не так.
Любые предложения приветствуются ...
Просто чтобы добавить. Если я удалю вызов confirmDialog и запускаю прямо через метод сохранения, кнопки Stop и Release работают отлично. – hello123
Я считаю, что dialog.hide() я устарел в PF5 (или это 5.1). Если вы не станете кем-то старым, я бы сделал так же, как в java-методе. Также я думаю, что «saveNDTDlg» ошибочен, если у вас нет нескольких диалогов –
Да, я на PF4. Есть несколько диалогов, я просто привел пример одного из них, чтобы было легче следовать. Теперь у меня это работает, но объясню в ответ. – hello123