I have a checkbox that I want to activate and hide based upon who is using the app. It works in testing but doesn't seem to be reliable in production. Here is the code I have:
Default - If(User().Email = "User@fasps.org",true,false) Visible - If(User().Email = "User@fasps.org",false,true)
The Visible piece seems to always work but the Default sometimes seems to be correct initially and then switches. I see the app react to it being one way and then flip. I can't reliably reproduce. So I am wondering if there is something I am missing or to check on why this isn't reliable.
Solved! Go to Solution.
The User() function does sometimes have a lag to it.
It is generally good practice to put any functions like that on the OnStart of the App. Since the information will not change in the App, there is no need to constantly call the function.
So, in your OnStart, set a variable with this formula:
Set(glbUserInfo, User())
Then on your checkbox, use the formula as such:
Visible : !(glbUserInfo.Email = "User@fasps.org")
Default: !checkBox.Visible
A couple of little things here - 1) the Visible property will be set to the NOT (!) of the true or false that is determined by the email check. Although you can write out the formula with the If statement, you can shortcut it.
2) Rather than doing the check again in the default, here we just set the Default based on the formula results of the Visible property (and in this case, the Not(!) of that - according to your original formulas).
I hope this helps you some.
The User() function does sometimes have a lag to it.
It is generally good practice to put any functions like that on the OnStart of the App. Since the information will not change in the App, there is no need to constantly call the function.
So, in your OnStart, set a variable with this formula:
Set(glbUserInfo, User())
Then on your checkbox, use the formula as such:
Visible : !(glbUserInfo.Email = "User@fasps.org")
Default: !checkBox.Visible
A couple of little things here - 1) the Visible property will be set to the NOT (!) of the true or false that is determined by the email check. Although you can write out the formula with the If statement, you can shortcut it.
2) Rather than doing the check again in the default, here we just set the Default based on the formula results of the Visible property (and in this case, the Not(!) of that - according to your original formulas).
I hope this helps you some.
Thanks for the options and ideas. The logic of only checking user on start makes perfect sense, it doesn't change in a session. I have updated my code and will test.
User | Count |
---|---|
185 | |
123 | |
90 | |
46 | |
42 |
User | Count |
---|---|
268 | |
159 | |
130 | |
84 | |
77 |