Repeater : Change state of all repeater while keeping the data for each one


#1

Hello,

I have a list of user in a repeater with different state depanding on user status, when i click on a button outside of the repeater. I would like to change the state of all the users.

At the moment when i click on the button all the names changes and are not dependants of the data, the names are reset.

to see the proto : Proto_certif_espace-surveillant.rp (607.7 KB)

thanks a lot for your help !


#2

If I understand your problem here, the “button outside of the repeater” is labeled,
“Autoriser la reprise du test” and clicking it changes the state of a (unnamed) dynamic panel in a repeater. By doing this directly for a widget in a repeater it will happen for all rows. I assume that is your intent, but, you expect the text in that dynamic panel state to match the first state–which is set from text in the repeater’s datasheet. Oui?

However, in the repeater’s Item Loaded event, you only set the text for two widgets, ++Name and ++Infos which are located in the first state of the dynamic panel. Nothing is set for any of the other states, so they remain as they are by default. I also notice you have defined a Loaded event for the dynamic panel, which also sets text for the same two widgets and only for the first state. This doesn’t really do anything, so it should be removed.

The most simple solution given the way you’ve created this is to also set the text for the ++Name and ++Infos widgets in all states of the dynamic panel. See the “Session-staging (2)” page in the updated file below.

A more elegant and efficient solution would be to remove these two widgets from the dynamic panel and place them in front of (or above) the dynamic panel. Because the text content nor style changes in any of the states, there is no reason to duplicate them in every state, and then have to worry about setting and synchronizing text across them all. I notice in one of the states, “Check autorisation” these widgets are moved to the right in order to show a checkbox. This could be one exception where you could include ++Name and ++Infos in the state, but it is easy enough to just move these widgets when the dynamic panel changes to that state–and then you don’t have to worry about dealing with multiple identical widgets or hiding/showing things, etc. See the “Session-staging (3)” page in the file below, paying attention to the Item Loaded event and the Panel State Changed event for the dynamic panel.

I don’t know what the very tall widget, “ellipsis-v” is all about (maybe it is supposed to be an icon?) but it won’t be shown completely because the dynamic panel is not set to “Fit to Content” (See this checkbox option in the STYLE pane for the dynamic panel.) That is a different issue though.

Proto_certif_espace-surveillant.rp (1.0 MB)


#3

Thanks a lot for your help mbc66 ! with your help i will redo it, i could make it work with some guess work but feeling a bit in the dark :slight_smile: i can definetly improve it more ! it is kind of very messy as you may have seen.
ellipsis-v is a font-awesome font. i will turn it into an image so people can read it without installing the font :slight_smile:
You can check the result here : (when you press the button “continuer” into the repeaterProto_certif_espace-surveillant_08112022.rp (855.9 KB)
you have to wait 20 sec to get the button for the bulk action