Make filters work with the new columns screen

This commit is contained in:
Jorge Manrubia
2025-09-26 18:06:35 +02:00
parent e3e051d4c1
commit 6ec394434c
14 changed files with 46 additions and 22 deletions
@@ -5,7 +5,7 @@ import { post } from "@rails/request.js"
export default class extends Controller {
static classes = ["filtersSet"]
static targets = ["field", "form"]
static values = { refreshUrl: String }
static values = { refreshUrl: String, noFilteringUrl: String }
initialize() {
this.debouncedToggle = debounce(this.#toggle.bind(this), 50)
@@ -15,11 +15,27 @@ export default class extends Controller {
this.#toggle()
}
change() {
change(event) {
this.#toggle()
this.#refreshSaveToggleButton()
}
resetIfBlankAndNoFiltering(event) {
const { target } = event
if (!target.value.trim() && !this.#hasFiltersSet) {
this.#showNoFilteringUrl();
event.stopImmediatePropagation()
}
}
resetIfNoFiltering(event) {
console.debug("CALLED", this.#hasFiltersSet);
if (!this.#hasFiltersSet) {
this.#showNoFilteringUrl()
event.stopImmediatePropagation()
}
}
async fieldTargetConnected(field) {
this.debouncedToggle()
}
@@ -65,4 +81,8 @@ export default class extends Controller {
return formData
}
#showNoFilteringUrl() {
Turbo.visit(this.noFilteringUrlValue, { frame: "cards_container" })
}
}