[Oracle ADF] Активация TaskFlow в Popup
Имеем на странице регион. Он находится в Popup
Нужно, чтобы данные загружались только при обращении.
<af:link text="Общие настройки" id="cl3" partialSubmit="true">
<af:showPopupBehavior popupId="::myPopupID"/>
</af:link>
<af:popup id="myPopupID" contentDelivery="lazyUncached" eventContext="launcher" launcherVar="source"
popupFetchListener="#{MyBean.onPopup}">
<af:panelWindow id="pw1" closeIconVisible="false" modal="true" contentHeight="680"
contentWidth="1004" stretchChildren="first" styleClass="fuse-popup">
<af:region value="#{bindings.myTaskFlow.regionModel}" id="r5"
binding="#{MyBean.myRegion}"/>
</af:panelWindow>
</af:popup>
MyBean прописан в adfc-config.xml как requiest
public class MyBean {
private RichRegion myRegion;
public void setmyRegion(RichRegion myRegion) {
this.myRegion = myRegion;
}
public RichRegion getmyRegion() {
return myRegion;
}
public void onPopup(PopupFetchEvent popupFetchEvent) {
ScopeUtils.setVarToPageFlowScope("isActive", true);
myRegion.refresh(FacesContext.getCurrentInstance());
}
}
Заходим на страницу my-task-flox.xml
Input Parameter Definitions:
Name: isActive
Class: java.lang.Boolean
Value: #{pageFlowScope.isActive}
В Executables страницы находим наше TaskFlow
activation: condition
active: #{pageFlowScope.isActive == null ? false: pageFlowScope.isActive}
PageParameters:
From Value: isActive
To Value: #{pageFlowScope.isActive}