From 2d575737b55d2c6da5c2e07f1ae223e490fa5bbb Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Thu, 18 Sep 2025 18:44:15 +0200 Subject: [PATCH] Fixes for multi selection --- app/javascript/controllers/combobox_controller.js | 4 +--- app/javascript/controllers/filter_settings_controller.js | 5 +++-- app/views/filters/settings/_assignees.html.erb | 2 +- app/views/filters/settings/_closers.html.erb | 2 +- app/views/filters/settings/_controls.html.erb | 8 ++++---- app/views/filters/settings/_creators.html.erb | 2 +- app/views/filters/settings/_indexed_by.html.erb | 2 +- 7 files changed, 12 insertions(+), 13 deletions(-) diff --git a/app/javascript/controllers/combobox_controller.js b/app/javascript/controllers/combobox_controller.js index 4764b8ceb..18a3ab8bd 100644 --- a/app/javascript/controllers/combobox_controller.js +++ b/app/javascript/controllers/combobox_controller.js @@ -24,13 +24,11 @@ export default class extends Controller { get #selectedLabel() { const selectedValue = this.#selectedItemValue() - console.debug("Es ", this.defaultValueValue); + if (this.hasDefaultLabelValue && (selectedValue === this.defaultValueValue || !selectedValue)) { return this.defaultLabelValue } - console.debug("EIN", this.#selectedItem); - return this.#selectedItem?.dataset?.comboboxLabel || "" } diff --git a/app/javascript/controllers/filter_settings_controller.js b/app/javascript/controllers/filter_settings_controller.js index ad7a709c0..708f12b13 100644 --- a/app/javascript/controllers/filter_settings_controller.js +++ b/app/javascript/controllers/filter_settings_controller.js @@ -26,11 +26,12 @@ export default class extends Controller { if (!value) return false const defaultValue = this.#defaultValueForField(field) + console.debug("defaultValue", defaultValue); return defaultValue ? value !== defaultValue : true } #defaultValueForField(field) { - const comboboxContainer = field.closest("[data-combobox-default-value]") - return comboboxContainer?.dataset?.comboboxDefaultValue + const comboboxContainer = field.closest("[data-combobox-default-value-value]") + return comboboxContainer?.dataset?.comboboxDefaultValueValue } } diff --git a/app/views/filters/settings/_assignees.html.erb b/app/views/filters/settings/_assignees.html.erb index 7bdc68f40..bd87dc13f 100644 --- a/app/views/filters/settings/_assignees.html.erb +++ b/app/views/filters/settings/_assignees.html.erb @@ -1,7 +1,7 @@ <% filter = user_filtering.filter %> <%= tag.div class: "quick-filter position-relative", data: { - controller: "dialog multi-selection-combobox form", + controller: "dialog multi-selection-combobox", action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside", filter_show: user_filtering.show_assignees?, multi_selection_combobox_no_selection_label_value: "Assigned to…" } do %> diff --git a/app/views/filters/settings/_closers.html.erb b/app/views/filters/settings/_closers.html.erb index 0215cf9cd..81cf6fdc0 100644 --- a/app/views/filters/settings/_closers.html.erb +++ b/app/views/filters/settings/_closers.html.erb @@ -2,7 +2,7 @@ <%= tag.div class: "quick-filter position-relative", data: { - controller: "dialog multi-selection-combobox form", + controller: "dialog multi-selection-combobox", action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside", filter_show: user_filtering.show_closers?, multi_selection_combobox_no_selection_label_value: "Closed by…" } do %> diff --git a/app/views/filters/settings/_controls.html.erb b/app/views/filters/settings/_controls.html.erb index 36bcf9002..b765a5351 100644 --- a/app/views/filters/settings/_controls.html.erb +++ b/app/views/filters/settings/_controls.html.erb @@ -3,8 +3,8 @@ <%= hidden_field_tag :expand_all, true, disabled: !user_filtering.expanded?, data: { toggle_enable_target: "element" } %> <%= render "filters/settings/sorted_by", user_filtering: user_filtering %> <%= render "filters/settings/indexed_by", user_filtering: user_filtering %> - <%#= render "filters/settings/tags", user_filtering: user_filtering %> - <%#= render "filters/settings/assignees", user_filtering: user_filtering %> - <%#= render "filters/settings/creators", user_filtering: user_filtering %> - <%#= render "filters/settings/closers", user_filtering: user_filtering %> + <%= render "filters/settings/tags", user_filtering: user_filtering %> + <%= render "filters/settings/assignees", user_filtering: user_filtering %> + <%= render "filters/settings/creators", user_filtering: user_filtering %> + <%= render "filters/settings/closers", user_filtering: user_filtering %> <% end %> diff --git a/app/views/filters/settings/_creators.html.erb b/app/views/filters/settings/_creators.html.erb index b67a115e5..152581f8b 100644 --- a/app/views/filters/settings/_creators.html.erb +++ b/app/views/filters/settings/_creators.html.erb @@ -2,7 +2,7 @@ <%= tag.div class: "quick-filter position-relative", data: { - controller: "dialog multi-selection-combobox form", + controller: "dialog multi-selection-combobox", action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside", filter_show: user_filtering.show_creators?, multi_selection_combobox_no_selection_label_value: "Added by…" } do %> diff --git a/app/views/filters/settings/_indexed_by.html.erb b/app/views/filters/settings/_indexed_by.html.erb index 659788e18..1679b5bd4 100644 --- a/app/views/filters/settings/_indexed_by.html.erb +++ b/app/views/filters/settings/_indexed_by.html.erb @@ -1,7 +1,7 @@ <% filter = user_filtering.filter %> <%= tag.div class: class_names("quick-filter position-relative"), - data: { controller: "dialog combobox form", + data: { controller: "dialog combobox", action: "keydown.esc->dialog#close click@document->dialog#closeOnClickOutside", filter_show: user_filtering.show_indexed_by?, turbo_action: "advance",