Conditionally Resetting Task Flow Displayed In a Popup

Use Case 
A task flow is embedded in af:poup. The content needs to be reset each time user view this.

Solution
Use activation and active property to control  the life span of task flow.Activate task flow when user  open the popup window. Deactivate it when popup is disposed. Please see developer guide to learn more about these properties:  Configuring Activation of an ADF Region


Download 
You can download the sample workspace from here.
The main.jsf page contains a task flow(dept-task-flow) with a search view embedded inside an  af:popup . Each time you invoke the popup, the search panel state in the popup is reset as the task flow is re-activated each time.

[ Runs with Oracle JDeveloper 11.1.2.1.0 (11g R2PS1) + HR Schema]

Learn More ...
There are a lot more points like this. If  you are curious to learn the internals of the ADF Business Components and ADF Binding Layer,  the following book is for you - Oracle ADF Real World Developer’s Guide.
More details about this book can be found in this post- http://jobinesh.blogspot.in/2012/07/pre-order-your-copy-of-oracle-adf-real.html

Comments

  1. Hi Jobinesh,

    Try replace the panel window in the popup with a dialog component , your solution will work only when the dialog cancel button is pressed but when Ok button pressed the re-activation is not working ... do you have any idea about this issue.

    Thanks , Mahmoud Abdultawab

    ReplyDelete
  2. Hi Jobinesh,

    We have to put the same popup canceled listener code inside the dialog listener to invert the condition.

    public void dialogListener(DialogEvent dialogEvent) {
    // Add event code here...
    ADFContext.getCurrent().getPageFlowScope().put("forceActivate", "false");
    }

    Sorry for the disturbance.

    ReplyDelete

Post a Comment