diff --git a/app/javascript/controllers/filter_settings_controller.js b/app/javascript/controllers/filter_settings_controller.js
index 85784583a..2335744f9 100644
--- a/app/javascript/controllers/filter_settings_controller.js
+++ b/app/javascript/controllers/filter_settings_controller.js
@@ -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" })
+ }
}
diff --git a/app/views/cards/index.html.erb b/app/views/cards/index.html.erb
index f7694eadc..cbbd6863e 100644
--- a/app/views/cards/index.html.erb
+++ b/app/views/cards/index.html.erb
@@ -23,10 +23,10 @@
<% end %>
-<%= render "filters/settings", user_filtering: @user_filtering %>
+<%= render "filters/settings", user_filtering: @user_filtering, no_filtering_url: cards_path %>