Hello,

Just want to ask if there is a way to totally remove a child web block from the parent web block. Then render back that web block if the container is selected.

The reason is because I just observe that on every time I reload a child webblock during clicking the Tab of RichWidgets\Tabs_Clientside the content of that block is retained in the page and this causes slow reloading of the page most especially if one of the Child webblock has huge html content.

If you have any other suggestions to resolve this issue would be great. Thanks

Hi,

You can do that by setting a condition on the visible property of each container that has  a webblock.

Regards,

Daniel

Hi Allan!

Another approach would be to place the child webblocks inside IF widgets with a Boolean datatype variable as a condition so that a savvy user could not use browser inspection to see that data or manipulate the browser to tamper with the URL. You will also need a screen action to flip the value of that Boolean variable and an Ajax Refresh to refresh the screen to make the webblock appear or hide.

References:

https://www.outsystems.com/forums/discussion/31444/visible-and-enabled-property-are-not-secure/

https://medium.com/@jmjames/visible-and-display-do-different-things-212457546561

Kind regards,
Joseph Enriquez

Hi Joseph's solution is the better one, I was to quick with my first response. You should use the IF.

I already did that approach but it still reloads the container even it is set to false. 

In the web presentation yes it removes it but the content size of the container from "True" still loading in the page. I was able to confirm it by the page size in network tab on chrome console.


BTW we are using Outsystems 10.0.1011.0 here.

Hi Allan,

Are you sure that the page size includes the data from the web block as well ? , did you checked by adding debugger to the webblock preparation?

if it is in false condition it should not get loaded and the preparation of the web block will not execute, you can also put debugger on the if block to check what condition is exactly executing.

Also check the Active tab value if you passed it hard code on tab click , shouldn't be a copy paste same name !

Regards,

-PJ-

Using an IF with the container will not load at all if the condition is not True.

Even you can add a debug breakpoint on your respective container n check the same.

That's even I normally follow instead the property.

Solution

I just identify the main culprit on my concern.

Its not in the switching of Tabs_Clientside but in the View State.

https://www.outsystems.com/forums/discussion/10458/view-state-in-outsystems-applications/

I just optimized the huge load file size of that webblock and its now resolved.




Solution