'Elegant way to saturate cross-filters values

Having filters sets for excluding/including entities according selected filtering categories, something like left-side on Booking/Ebay/etc:

enter image description here

Filter works in following way: when selecting narrowing condition in one filter, other dependent filters will automatically hide that selection items which are in contradiction with already selected condition.

Let's suppose extremely small example with only two filters: dimension X with values A, B and dimension Y with values C, D. Also there are only two available items with notation (dimension=value): (X=A, Y=C) and (X=B, Y=D).

By default there are no one filter selected, so rows (X=A, Y=C) and (X=B, Y=D) appears on page. Then one selects filter X=A. So row (X=B, Y=D) and previously available filter value Y=D disappears too since there is no row to represent it. Because filter variant Y=D is not disappeared, X=B disappears too for some reason - there are no more rows with appropriate combination.

So now page contain only one item (X=A, Y=C) and only one available variant for filter X (X=A) and only one available variant for filter Y (Y=C). All other filters variants are deadlocked by selection.

Allowing user to select Y=D in addition to current selection (X=A, Y=C) is bad, because there are no items with (X=A, Y=D) exists, and therefore Y=D is forbidden combination with (X=A, Y=C). Also allowing to select X=B is forbidden for same reasons.

Way to restore available filters combinations is reset one of filters using special action reset. Since all variants become available in fresh-resetted filter, all other dependent filters will also recalculate and weaken conditions to display available choices.

Which is most elegant way to proved user capability to saturate filters variant without performing reset action?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source