Я хочу, чтобы <p:dataTable>
был заблокирован <pe:blockUI>
следующим образом.
<pe:blockUI target="dataTable" widgetVar="blockUIWidget">
<h:outputText value="Sending data..."/>
</pe:blockUI>
<p:dataTable id="dataTable" var="row" value="Test">
<p:column>
<p:commandLink id="link" value="Link" onstart="PF('blockUIWidget').block()" oncomplete="PF('blockUIWidget').unblock()"/>
</p:column>
</p:dataTable>
Естественно, это работает хорошо.
Мне не нужно ориентироваться на всю таблицу данных, а только на ссылку внутри таблицы. Следующая попытка сделать это не увенчалась успехом.
<pe:blockUI target="dataTable:link" widgetVar="blockUIWidget">
<h:outputText value="Sending data..."/>
</pe:blockUI>
Здесь значение атрибута target
было изменено с dataTable
на dataTable:link
, чтобы он ссылался на ссылку (таблица данных остается неизменной).
В этом случае он остается немым. Ни ошибок в консоли браузера, ни каких-либо исключений не возникает.
То же самое происходит и с <p:blockUI>
. Следующая попытка работает так, как она предназначена.
<p:blockUI block="dataTable" widgetVar="blockUI"/>
<p:dataTable id="dataTable" var="row" value="Test">
<p:column>
<p:commandLink id="link" value="Link" onstart="PF('blockUI').show()" oncomplete="PF('blockUI').hide()"/>
</p:column>
</p:dataTable>
Однако указание <p:blockUI>
на <p:commandLink>
внутри таблицы следующим образом не работает.
<p:blockUI block="dataTable:link" widgetVar="blockUI"/>
Опять ни ошибок, ни исключений.
В чем смысл? Могут ли включающие компоненты повторяющихся компонентов не быть целевыми для <p:blockUI>
или <pe:blockUI>
?