Hi,
My question is maybe a little naive but for increasing performance I was asking myself if use the showWhen attribute on 10 components is as good using an IF condition to masking all these components.
I took 3 examples :
1/ Case showWhen on all components :
ColumnsLayout( columnLayout TextField_1label: "1", showWhen: false) columnLayout( TextField_2(label: "2", showWhen: false) ... columnLayout( TextField_10(label: "10", showWhen: false))
2/ Case showWhen on layout component :
ColumnsLayout( columnLayout TextField_1(label: "1")
columnLayout( TextField_2(label: "2") ... columnLayout( TextField_10(label: "10") ), showWhen : false)
3/ Case with an IF condition :
local!value: false,if(local!value, ColumnsLayout( columnLayout TextField_1(label: "1")
columnLayout( TextField_2(label: "2") ... columnLayout( TextField_10(label: "10") ) ), {})
Is the 3/ more efficient as Appian do not need to load anything ?
Discussion posts and replies are publicly visible
AFAIK this will not have any significant impact on performance. I try to create readable code. And putting showwhens into a larger number of components is not readable/understandable.
I created by own component which just takes a number of components and a showWhen. It does nothing else then showing/hiding a bunch of components. Works pretty well in cases where I do not want to add any layout or section.
so Stefan you confirm, (leaving the readable aspect left aside) that the 1/ and 2/ cases (showwhen) are as much as efficient than the case 3/ (using the IF) ?
This is what I experienced in the past. Yes.
When doing Performance optimizations, I pick the big candidates first. Most of the time these are issues in DB access or slow web services.
Thank you for your reply Stefan.