My app is very similar to AirBNB, a user can search for properties based on each property’s amenities. When the repeating group of properties is loaded I’m trying to set a conditional to say "when a property has the amenities in this list (a list the user creates by selecting amenities), it is visible. How do I do this? When I setup the conditional it has to return a yes or no when I apply the list to the {do a search for: properties}
I’m basically trying to add a filter to the RG properties.
Data looks like this:
[Property] has a field [[amenities]] which is a list of [Property Amenities]
[[amenities]] has an option set of numerous amenities.
Hi there, @iamjoshgreen… if I understand your post correctly, you are likely going to need to use an advanced filter that checks to see if a property’s list of amenities contains the list of amenities selected by the user.
Here is an example where I have an option set that defines the amenities, and I have a multidropdown on the page from which the user selects the amenities they want a property to have. With that setup in place, here is the filter on the repeating group.
If you haven’t used an advanced filter before, be aware that the filtering takes place on the client (browser) side. So, the search is going to return all of the relevant properties (which will be all of the properties in your database if the search does not have any constraints on it) to the client, and then the filter will be applied. As you can imagine, there could be a performance impact if you have a lot of properties in your database.
Another thing to be aware of is that Ignore empty constraints doesn’t work with advanced filters. So, you might want to have the repeating group’s data source set as a search for properties without the filter, and add a conditional to the repeating group that says when the multidropdown’s value count is greater than 0, change the data source to the search with the filter.
Anyway, you don’t have to go down the exact path I described, but I hope it helps you figure out where you want to be.