Feature Request: Shared Repeaters


#1

It would be great if multiple repeaters could share the same data source somehow, it’s something that occurs to me every so often when i’m building a thing that needs more than one repeater on the page to illustrate an idea.

What I do now is just have several repeaters and whenever I modify a row in the dataset, I make sure to modify all the other repeaters so everything stays in sync. But it’s a lot of busy work, I’d love it if there was someway to take a repeater and instead of defining its dataset just being able to say “use this other dataset” and then design the repeater shapes and interactions using this other dataset.


#2

just encountered another use case for this same thing, a repeater that has a fixed version that appears on scroll. If I have a nav there for example, I’m having to update the repeater in the default version and the one in the dynamic panel.


#3

Hey, @bamorris, thanks for bringing this to our attention! I’ve submitted a feature request for you–our product team will further review this feature request to define if it can be implemented in feature releases. If there are other feature requests you have in mind, please feel free to add them along as well–we’re always happy to hear from you!


#4

Just wanted to provide a quick update about a possible workaround to create repeaters with shared datasets.

With two mirrored repeaters (same widgets and columns), then you can use a “Loaded > Edit Row Data” interaction that utilizes the rule below in order to connect the data:

[[Item.Index == TargetItem.Index]]

You can then copy and paste this interaction onto each widget inside the repeater. The only thing you have to do is repoint the column that you are targeting. I have included a sample .rp file to demonstrate this

Linked Repeaters.rp (51.7 KB)


#5

Thanks @BenHoang_Axure, that’s a great idea I’d not ever considered. I can see myself using this in a lot of cases. I did add a minor layer of future proofing, I can see myself using this as part of a team library in which case, flexibility is a primary concern.

The issue is the target repeater needs to have exactly the same number of rows. If it’s less, then some rows don’t get mirrored. If it’s less, then there’s blank rows.

I’ve added a check in the target repeater. On Item Load, it hides a row if it isn’t populated by the source repeater. This way can put more rows than I need to in the target repeater and rely on it working most of the time without further fiddling.

Also, I check if it isn’t the First row, otherwise it is entirely hidden in the editor.

There is another workaround here. For my use cases, I can see the target repeater as likely to be inside a dynamic panel. Either as a popover typeahead requiring scrolling, or as an element of variable height that will need to push and pull things under it as it changes size.

I’ve mocked up these workarounds Linked Repeaters Hide Empty Rows variant.rp (72.4 KB)

This is going to be a great big help, thank you so much Ben!


closed #6

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.