I'm targeting a <p:dataTable>
to be blocked by <pe:blockUI>
as follows.
<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>
Naturally, this functions well.
I need not target the entire data table but only the link inside the table. The following attempt to do so is unsuccessful.
<pe:blockUI target="dataTable:link" widgetVar="blockUIWidget">
<h:outputText value="Sending data..."/>
</pe:blockUI>
Here, the value of the target
attribute has been changed from dataTable
to dataTable:link
to make it refer to the link (the data table remains stationary).
In this case, it remains mute. Neither errors on the browser console nor any exceptions occur.
The same thing happens with <p:blockUI>
. The following attempt functions well as it is meant for.
<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>
Making <p:blockUI>
point to the <p:commandLink>
inside the table as follows however, does not function.
<p:blockUI block="dataTable:link" widgetVar="blockUI"/>
Again no errors, no exceptions.
What is the point? Can enclosing components of iterating components not be targeted by <p:blockUI>
or <pe:blockUI>
?