diff --git a/app/javascript/controllers/wunderbaum_controller.js b/app/javascript/controllers/wunderbaum_controller.js index 0df0aac..4f01f4c 100644 --- a/app/javascript/controllers/wunderbaum_controller.js +++ b/app/javascript/controllers/wunderbaum_controller.js @@ -10,7 +10,7 @@ export default class extends Controller { currentFilterPredicate = null; currentFilterOpts = null; currentQuery = ""; - filterMode = "dim"; + filterMode = "hide"; folderCache = new Map(); assetCache = new Map(); loadedFolders = new Set(); @@ -536,18 +536,15 @@ export default class extends Controller { _updateFilterModeButton() { const btn = document.getElementById("filter-mode-toggle"); if (!btn) return; - const hasActiveFilter = Boolean(this.currentFilterPredicate); - btn.disabled = !hasActiveFilter; - btn.classList.toggle("active", hasActiveFilter && this.filterMode === "hide"); - btn.setAttribute("title", this.filterMode === "hide" ? "Hide unmatched nodes" : "Dim unmatched nodes"); const icon = btn.querySelector("i"); + const isHideMode = this.filterMode === "hide"; + + btn.classList.toggle("active", isHideMode); + btn.setAttribute("title", isHideMode ? "Hide unmatched nodes" : "Dim unmatched nodes"); + if (icon) { icon.classList.remove("bi-filter-square", "bi-filter-square-fill"); - if (this.filterMode === "hide") { - icon.classList.add("bi-filter-square-fill"); - } else { icon.classList.add("bi-filter-square"); - } } } diff --git a/spec/system/file_tree_column_filter_spec.rb b/spec/system/file_tree_column_filter_spec.rb index e1f5ff7..0f8b210 100644 --- a/spec/system/file_tree_column_filter_spec.rb +++ b/spec/system/file_tree_column_filter_spec.rb @@ -59,21 +59,20 @@ expect(page).to have_selector(".wb-popup", count: 1) end - it "allows switching between dim and hide filter modes" do - expect(page).to have_selector("#filter-mode-toggle[disabled]") + it "allows switching between hide and dim filter modes" do + expect(page).to have_no_selector("#filter-mode-toggle[disabled]") fill_in "tree-filter", with: match_asset.isilon_name - expect(page).to have_selector("#tree.wb-ext-filter-dim") - expect(page).to have_no_selector("#filter-mode-toggle[disabled]", wait: 10) - - find("#filter-mode-toggle").click expect(page).to have_selector("#tree.wb-ext-filter-hide") - expect(page).to have_selector("#filter-mode-toggle.active") find("#filter-mode-toggle").click - expect(page).to have_no_selector("#tree.wb-ext-filter-hide") expect(page).to have_selector("#tree.wb-ext-filter-dim") + expect(page).to have_no_selector("#filter-mode-toggle.active") + + find("#filter-mode-toggle").click + expect(page).to have_selector("#tree.wb-ext-filter-hide") + expect(page).to have_no_selector("#tree.wb-ext-filter-dim") end it "clears column filter indicators when clearing all filters at once" do @@ -94,7 +93,7 @@ click_button "Clear All Filters" expect(page).to have_no_selector(".wb-header [data-command='filter'].wb-helper-invalid", wait: 10) - expect(page).to have_selector("#filter-mode-toggle[disabled]", wait: 10) + expect(page).to have_no_selector("#filter-mode-toggle[disabled]", wait: 10) expect(page).to have_no_selector("#tree.wb-ext-filter-dim", wait: 10) end end