How to display a repeating group only when it has been filtered/selected

Hi everyone, been banging my head on this all day but getting nowhere.

I have a page with a bunch of horizontal repeating groups. I added a filter popup option on top to let users select their specific category. The problem is that the results show the responding horizontal repeating group which looks weird.

So I added another repeating group that is Ext. vertical scrolling that looks great but the problem is that I can’t seem to get that repeating group to only show when the page has been filtered.

I either get the Ext. vertical scrolling repeating group visible all the time (although the filtering works) as well as the horizontal repeating group still there in the background or nothing at all.

So I guess the best question is how do you filter a text field with the results showing in its own repeating group while hiding all the other repeating groups on the page?

Any advice would be much appreciated!

1 Like

Hi @noahser

I think you can try putting conditionals on the respective repeating groups which are something like:

filter is empty > the element is visible (unchecked)
filter is not empty > the element is visible (checked)

Hey @nocodelib thanks for the suggestion. That seems to be a little tricky for me since the repeating groups wouldn’t be empty. Any suggestions on how that works in my use case since one repeating group contains all data (the one I’m trying to show for filtering results) and the actually horizontal repeating group for the selected category (the one I’m trying to hide).

The condition will be applied on repeating groups, however they will be working according to the filters.

Eg. Let’s say you have a filter for price. So when it is applied, make the group visible.

If you have multiple filters, you could also try using a state “filter” type: yes/no. This way if any filter is applied it turns yes, and when filter is removed, it turns no.
So based on this your condition would be: filter is yes> the element is visible (checked) and so on…

Hope this helps!

Still banging my head against the wall on this issue. I guess a better way to rephrase my question, is there a way to change the way a repeating group is formated (from horizontal scroll to ext.vertical) once a workflow filtering the page has taken place?

1 Like

This looks like something that custom states might solve.
When you run your filter, also update a custom element that belongs to the page. This could be a yes/no value.

For example,
Set State of an element:
home page's isFiltered : "yes"
isFiltered is a custom state

There doesn’t seem to be any real way to dynamically change the format (vertical/horizontal).
@nocodelib makes a good point.
Instead of changing the format of the RG, have 2 RGs with identical input lists. One is oriented vertically and the other horizontally.
Both of these have conditional rules set up.

For example:
When isFiltered is “yes”
RG1 is visible

When isFiltered is “no”
RG2 is not visible

Hope this helps!
Ranjit | Blur Apps

@blurapps got it to work by using the state isfiltered workflow. Thank you!

The only issue I have remaining is that the filtered results RG keep showing on the page even after I click around to other groups. I tried adding the condition isFiltered : “no” for hiding the element but it is still showing on the page.

How would I go about restricting the RG group to only show once the page has been filtered?

I’m guessing I have to figure out how to reset the custom state when the user is opening a new group or clicks on something outside the filtered RG?

Any advice would be much appreciated!

Uncheck the ‘this element is visible on page load’ property in the ‘appearance’ options of the RG.
This will keep it invisible by default unless the condition arises that makes it visible

@blurapps thank you for the suggestion, tried that with no luck…is it something I’m missing in the workflows? I just don’t where to put the rule “isnotfiltered” and how to trigger it.

Looks like you’ve set the workflow to set isFiltered to “yes” but there’s nothing that sets isFiltered to “no”

You can do this:
in the workflow that runs when filters are selected and unselected, add an action with a condition:
when none of the filters are active
And make it set isFiltered to “no”