diff --git a/app/forms/filters/inputs/base_filter_form.rb b/app/forms/filters/inputs/base_filter_form.rb index b10c9e952fbf..91ec5bf89209 100644 --- a/app/forms/filters/inputs/base_filter_form.rb +++ b/app/forms/filters/inputs/base_filter_form.rb @@ -106,11 +106,12 @@ def add_operator(group) "filter-name": @filter.name } ) do |select| - @filter.available_operators.each do |op| + @filter.available_operators.each do |operator| select.option( - label: op.human_name, - value: op.symbol, - selected: op.symbol == selected_operator + label: operator.human_name, + value: operator.symbol, + selected: operator.symbol == selected_operator, + **(operator.requires_value? ? {} : { "data-no-value": true }) ) end end diff --git a/app/models/queries/work_packages/filter/filter_for_wp_mixin.rb b/app/models/queries/work_packages/filter/filter_for_wp_mixin.rb index 9ee968a8b8a1..d2cef34cb119 100644 --- a/app/models/queries/work_packages/filter/filter_for_wp_mixin.rb +++ b/app/models/queries/work_packages/filter/filter_for_wp_mixin.rb @@ -37,6 +37,27 @@ def allowed_values raise NotImplementedError, "There would be too many candidates" end + # Tell `Filters::FilterForm`'s dispatch to render these filters with a + # server-side autocompleter (the candidate set is too large for an inline + # `