From 683bda80b4197afaf94c764aa32f9d37de8d07ff Mon Sep 17 00:00:00 2001 From: David F Date: Tue, 19 May 2026 10:49:54 +0200 Subject: [PATCH] =?UTF-8?q?Clean=20up=20some=20CSS=E2=80=AFand=20JS.=20wp/?= =?UTF-8?q?74380?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/global_styles/content/_advanced_filters.sass | 3 --- .../dynamic/filter/filters-form.controller.ts | 6 ++++-- spec/support/components/common/filters.rb | 2 ++ spec/support/pages/admin/users/index.rb | 10 ++++------ spec/support/pages/portfolios/index.rb | 1 - spec/support/pages/projects/index.rb | 1 - 6 files changed, 10 insertions(+), 13 deletions(-) diff --git a/frontend/src/global_styles/content/_advanced_filters.sass b/frontend/src/global_styles/content/_advanced_filters.sass index 264e61d87b0..36425df07fa 100644 --- a/frontend/src/global_styles/content/_advanced_filters.sass +++ b/frontend/src/global_styles/content/_advanced_filters.sass @@ -139,9 +139,6 @@ $advanced-filters--grid-gap: 10px .op-filters-form .hidden display: none !important -.op-filters-form .FormControl:has([data-filter--filters-form-target~="filterValueContainer"].hidden) - display: none !important - .op-filters-form display: none margin-top: 1rem diff --git a/frontend/src/stimulus/controllers/dynamic/filter/filters-form.controller.ts b/frontend/src/stimulus/controllers/dynamic/filter/filters-form.controller.ts index b4a227cf1d7..aba9ab1065a 100644 --- a/frontend/src/stimulus/controllers/dynamic/filter/filters-form.controller.ts +++ b/frontend/src/stimulus/controllers/dynamic/filter/filters-form.controller.ts @@ -101,20 +101,22 @@ export default class FiltersFormController extends Controller { }); private boundListener:() => void; + private boundClearListener:(event:MouseEvent) => void; initialize() { // Initialize runs anytime an element with a controller connected to the DOM for the first time this.boundListener = debounce(this.sendForm.bind(this), 300); + this.boundClearListener = (event:MouseEvent) => this.clearInputWithButton(event); } connect() { const clearButton = document.getElementById(this.clearButtonIdValue); - clearButton?.addEventListener('click', (event:MouseEvent) => this.clearInputWithButton(event)); + clearButton?.addEventListener('click', this.boundClearListener); } disconnect() { const clearButton = document.getElementById(this.clearButtonIdValue); - clearButton?.removeEventListener('click', (event:MouseEvent) => this.clearInputWithButton(event)); + clearButton?.removeEventListener('click', this.boundClearListener); } addFilterSelectTargetConnected() { diff --git a/spec/support/components/common/filters.rb b/spec/support/components/common/filters.rb index 65a1a301397..7e671f1636e 100644 --- a/spec/support/components/common/filters.rb +++ b/spec/support/components/common/filters.rb @@ -31,6 +31,8 @@ module Components module Common module Filters + include ::Components::Autocompleter::NgSelectAutocompleteHelpers + def expect_filters_container_toggled expect(page).to have_css(".op-filters-form") end diff --git a/spec/support/pages/admin/users/index.rb b/spec/support/pages/admin/users/index.rb index 711d06fccb8..65731e2914c 100644 --- a/spec/support/pages/admin/users/index.rb +++ b/spec/support/pages/admin/users/index.rb @@ -34,7 +34,7 @@ module Pages module Admin module Users class Index < ::Pages::Page - include ::Components::Autocompleter::NgSelectAutocompleteHelpers + include ::Components::Common::Filters def path "/users" @@ -75,13 +75,11 @@ module Pages def filter_by_status(value) open_filter_panel - unless page.has_css?("li.advanced-filters--filter[data-filter-name='status']:not(.hidden)") + unless page.has_css?(".advanced-filters--filter[data-filter-name='status']") select "Status", from: "add_filter_select" end - # Status renders a single-select and a hidden multi-select side by side; - # both share id="status_value". Scope to the visible single-select to disambiguate. - within("li.advanced-filters--filter[data-filter-name='status']:not(.hidden) .single-select") do - select value, from: "status_value" + within(".advanced-filters--filter[data-filter-name='status']") do + set_autocomplete_filter([value]) end wait_for_network_idle diff --git a/spec/support/pages/portfolios/index.rb b/spec/support/pages/portfolios/index.rb index 2da4b50a0a2..fc47bf032ca 100644 --- a/spec/support/pages/portfolios/index.rb +++ b/spec/support/pages/portfolios/index.rb @@ -34,7 +34,6 @@ module Pages module Portfolios class Index < ::Pages::Page include ::Components::Common::Filters - include ::Components::Autocompleter::NgSelectAutocompleteHelpers def path(*) "/portfolios" diff --git a/spec/support/pages/projects/index.rb b/spec/support/pages/projects/index.rb index f6b05111cff..f5b799c6d5d 100644 --- a/spec/support/pages/projects/index.rb +++ b/spec/support/pages/projects/index.rb @@ -34,7 +34,6 @@ module Pages module Projects class Index < ::Pages::Page include ::Components::Common::Filters - include ::Components::Autocompleter::NgSelectAutocompleteHelpers def path(*) "/projects"