How to apply OnRender, OnAfterFetch, OnInitialize and the like....

Can someone point me to an example\document of how to properly incorporate the OnRender, OnAfterFetch and so on......

Did some review on the Community and didn't see anything useful for me.


Thank you,

FrankCLT

Hello Frank.

The official explanation is here https://success.outsystems.com/Documentation/11/Developing_an_Application/Implement_Application_Logic/Screen_and_Block_Lifecycle_Events

If you do the Reactive/Mobile learning path, there are small examples you build step by step.

You can also go to the Forge and download full applications that surely use that.

Any particular example that you need?

Nuno,

Just trying to get a better understanding of the process.  I did go through the learning path and have reviewed the material.  I have created a play mobile app and attempting to apply the Lifecycle Events.   My app has 3 screens, the first has an input for Order# and is used to propagate down to the other screens.   I was trying to blank the input screen so it doesn't retain the initial Order# when returning from the other screens.


It appears the Lifecycle occurs for every screen, can i have for example the OnRender or any of the cycles per screen?


Thank you,

FrankCLT   


If I understood correctly, you send a value from screen 1 to screen 2 and 3. and expect screen 1 to be clear when you return.


Well, it should be. If you pass the screen variable's value forward as a parameter.

If you use a shared variable (client/session variable) you have to clear the variable when you end using it in screen 3.


I thought I had tried the screen 3 clear....but will look at it again......


thanks again

Stepping through Debug, it seemed the LifeCycle events occur per screen....did I see that correctly....?

Solution

From the documentation "After the Render event of the target screen, the transition between the screens happens and the older screen is finally removed from the DOM. This means that the DOM of both screens are available between the Render event of the target screen and the Destroy event of the old screen."

Screens coexist while the transaction occurs. As soon as you have the second rendered, the first is destroyed and no longer exists.

Solution

Found it.......


Thanks so much!!!!