Установка блока UIOnSubmit для конкретной формы - PullRequest
0 голосов
/ 14 января 2019

Я использую JSF 2.1 и ICEfaces 4.2.0.

Итак, вкратце:

  • Одно веб-приложение с несколькими страницами
  • Глобальная конфигурация org.icefaces.blockUIOnSubmit = true
  • страница 'X' имеет много форм

Я хочу, чтобы только одна форма на странице 'X' имела blockUIOnSubmit = false. Другими словами, когда эта форма отправляется, я не хочу, чтобы отображался блокирующий интерфейс.

Возможно ли это?


Немного подробнее:

Моя форма выглядит так:

<h:form id="MyForm" name="MyForm">
    <h:inputText id="MyFormText" value="#{myPageBean.myFormText}" />
    <ace:pushButton id="MyFormBtn" action="#{myPageBean.myFormListener}" />
</h:form>

Таким образом, он содержит h:form, h:inputText и ace:pushButton.

Есть ли атрибут, который можно было бы использовать, чтобы не отображать блокирующий интерфейс на каком-либо из этих элементов?


EDIT:

Я нашел элемент, который мог бы быть использован для этого конкретного случая использования, элемент ace: submitMonitor . Он имеет атрибут «blockUI», который можно установить как «@none».

Но, к сожалению, есть исправление (на мой взгляд, ненужное), которое сделало элемент непригодным для использования в этом случае, исправление можно увидеть здесь: http://jira.icesoft.org/browse/ICE-10518.

Размещая здесь проблему, я надеюсь, что она станет более заметной, и кто-то изменит это так, чтобы он мог использовать ace: submitMonitor для этого конкретного случая использования.

Если есть что-то, чего я не понимаю, почему атрибут ace:submitMonitor blockUI не может перезаписать настройку org.icefaces.blockUIOnSubmit, объясните, пожалуйста, почему.


РЕДАКТИРОВАТЬ 2

В JIRA добавлена ​​проблема этой проблемы, которую можно посмотреть здесь: ICE-11454


РЕДАКТИРОВАТЬ 3

Я получил несколько ответов на мой комментарий к JIRA: ICE-10518 .

По сути, это говорит о том, что компонент ace:submitMonitor не должен влиять на глобальные конфигурации. Вы должны использовать либо глобальную конфигурацию org.icefaces.blockUIOnSubmit, либо компонент ace:submitMonitor, но не оба сразу.

Существует опция, в которой вы можете переопределить глобальную конфигурацию org.icefaces.blockUIOnSubmit для каждой страницы, используя следующий код:

<h:body>
    <icecore:config blockUIOnSubmit="true|false"/>
    ...

Более подробную информацию об этом можно найти здесь: icecore: config

Таким образом, вы можете установить blockUIOnSubmit для конкретной страницы, но не для конкретной формы.

...