diff --git a/app/assets/javascripts/hw_combobox/models/combobox/filtering.js b/app/assets/javascripts/hw_combobox/models/combobox/filtering.js index 7355cb5..ee89beb 100644 --- a/app/assets/javascripts/hw_combobox/models/combobox/filtering.js +++ b/app/assets/javascripts/hw_combobox/models/combobox/filtering.js @@ -58,7 +58,7 @@ Combobox.Filtering = Base => class extends Base { } _markQueried() { - this._actingCombobox.toggleAttribute("data-queried", this._isQueried) + this._forAllComboboxes(el => el.toggleAttribute("data-queried", this._isQueried)) } get _isQueried() { diff --git a/test/system/hotwire_combobox_test.rb b/test/system/hotwire_combobox_test.rb index dbf6b37..13b4a2c 100644 --- a/test/system/hotwire_combobox_test.rb +++ b/test/system/hotwire_combobox_test.rb @@ -345,6 +345,28 @@ class HotwireComboboxTest < ApplicationSystemTestCase assert_combobox_display_and_value "#state-field", "Alabama", "AL" end + test "selecting an option marks combobox as queried" do + visit async_path + + assert_no_selector ".hw-combobox__input[data-queried]" + open_combobox "#movie-field" + click_on_option "Aladdin" + assert_closed_combobox + assert_combobox_display_and_value "#movie-field", "Aladdin", movies(:aladdin).id + assert_selector ".hw-combobox__input[data-queried]" + + on_small_screen do + visit async_path + + assert_no_selector ".hw-combobox__input[data-queried]" + open_combobox "#movie-field" + click_on_option "Aladdin" + assert_closed_combobox + assert_combobox_display_and_value "#movie-field", "Aladdin", movies(:aladdin).id + assert_selector ".hw-combobox__input[data-queried]" + end + end + test "combobox with prefilled value and working clear widget" do visit prefilled_path