Need Help with Button Logic to Toggle Between Widgets Inside and Outside Repeate


#1

Hey everyone,

I’m currently working on a project where I have a button with specific actions tied to it. The goal is to toggle between different widgets based on their visibility status. However, I seem to be encountering some unexpected behavior, and I was hoping to get some assistance in troubleshooting the issue.

Here’s the scenario:

  1. Button Press : When the button is pressed, the logic is designed to show Widget-01(inline error) if it’s hidden. Its based on a logic with empty field in repeater.

  2. When Widget-01 is visible, it should also show Widget-02 (page-error) also.

Now, I’ve implemented this logic, but things aren’t working as expected.

Widget-01 appears after button press, with Widget-02
but when I update the rows with field Widget-01 disappears as expected but not Widget-02.

I’ve checked my code thoroughly, but I’m clearly missing something. If anyone has experience with this kind of situation or sees any potential issues in the code provided, I’d greatly appreciate your insights.

Any suggestions, ideas, or alternative approaches to achieving this widget toggling functionality would be incredibly helpful! Thanks in advance for your time and assistance.

Jo


#2

I do have experience with this, but I don’t see any code provided. It would be very helpful if you could upload your .rp file here. If not, a screenshot of your repeater’s code, button’s code, and anything else that controls visibility of these widgets. Even a sketch of your setup showing locations of these widgets and the user or prototype flow would help.

It would be good to know if your button is in the repeater or not, as well as Widget-01 and Widget-02. Do you use the Shown event of Widget-01 to show Widget-02, and do you use the Hidden event of Widget-01 to hide Widget-02? Any other code that should be hiding Widget-02?

Based on your description, I can imagine Widget-01 is in the repeater and Widget-02 is outside the repeater. But, I have no idea if your button is in the repeater or not, nor what it means to “toggle between different widgets”.

What field?
Does code in the repeater’s Item Loaded hide Widget-01, and/or is it elsewhere?
Most likely your issue is in the repeater’s Item Loaded event. Either that, or it could be addressed there–If I’m understanding your basic setup correctly. If Widget-02 is not in the repeater and is hidden by default, then the repeater’s Item Loaded could hide it by default–as part of the first item (row) load. Then, if needed to be shown based on any row’s status, Widget-01 could be shown, triggering Widget-02 to also be shown. Here’s some example pseudo-code:

Item Loaded
Case 1
If true
Set Text MyRepeaterWidget to “[[Item.Column0]]”
etc. …
Case 2
If [[Item.isFirst]] equals “true”
Hide Widget-02
Case 3
If [[Item.ErrorColumn]] equals “true”
Show Widget-01

So in this way, any time the repeater is updated, it hides Widget-02 by default, but then evaluates the error status of each row (including the first one) to determine if Widget-01 should be shown. Widget-01 should have a Shown event that also shows Widget-02 (if indeed it is true that any time Widget-01 is shown then Widget-02 should also be shown.) Please note that Case 2 and Case 3 above need to be an IF condition and not ELSE IF (right-click each Case and change it if needed.)