Make a repeater row disabled from drop list, for selection by cursor

repeater-widget

#1

I have a repeater with a number of available selections in the drop list display.

I want to disable some of the drop list repeater selections, so only the enabled drop list selections will actually populate the Search field. and show the associated row highlight (blue).

Axure repeater question .rp (207.0 KB)

Thanks for the help!


#2

If I understand your needs correctly, “disabling” some of the list items is the same as filtering them out: they would not show up in the repeater list. So all you would need to do is apply filters as needed to “disable” items.

Here is an updated .rp file demonstrating this:
Axure repeater question .rp (211.9 KB)

The main change required is unchecking the “Remove other filters” checkbox in the Add Filter action of your “Search Input” widget. Then, you can combine filters: one or more “disabling” filters and the “search text filter” (whatever user enters in the Search Input field.) To demonstrate this, I added a few test buttons to apply filters for anything containing “New”, anything containing “2”, and a button to “enable all items” (which just removes all filters.)

I apply filters using this expression, for example, to filter out all items containing “New”:

[[Item.ProductName.indexOf(‘New’) < ‘0’]]

If you want to filter “in” all items containing “New” (in other words, only “enable” these items) then the expression would be:

[[Item.ProductName.indexOf(‘New’) >= ‘0’]]


#3

Hi mbc66,

Thanks for the great info…but…
I want to display the entire repeater content, but only make those rows disabled in the drop list so the cursor cannot select them to populate the search field.

I want the user to SEE the selections, but NOT be able to actually select them. And the blue hover select highlight NOT display.

I know this may not be the proper use of a repeater, but it is just for visualization.

Thanks!


#4

Ah! I misunderstood your intent. (I had incorrectly read “actually populate” to mean the droplist, instead of what you “actually wrote”–ha! :smirk: )

This is certainly a proper use–and great advantage of–a repeater. Here’s an update with new page showing this.

  • I added a column to the repeater dataset named “State” to track whether a row should be enabled or disabled.
  • Created a case in the Item Loaded event to handle this column, simply disabling the Search Result widget if [[Item.State]] equals “disabled”.
  • Created a Disabled interaction style (set font color to light gray; change as you need.)
  • Changed the Add Filter action to an Update Rows action, setting specific rows’ State column to “disabled”.

Axure repeater question .rp (258.2 KB)


#5

Hi mbc66,

Thanks again for ALL your help! Its always difficult to describe all the parameters of a design problem.

The solution you’ve provided is great, but…

I only want to disable the repeater items behind the scenes.
I do not need to give the user buttons to make these items disabled…i just want to accomplish this in the backend, so the user sees the disabled repeater selections, but just can’t click them.

Thanks Again!


#6

Sure… the buttons I added were just for demonstration purposes. You can apply the code on them elsewhere as you need, e.g., in a Page Loaded event, or in the droplist repeater itself–when user clicks an item to select it, it could disable its own row to show it was selected.


#7

Thanks again for all your help!!