Don't submit empty params with the filter

They result in garbled URLs
This commit is contained in:
Jorge Manrubia
2025-09-19 15:15:23 +02:00
parent d13dd58a78
commit f77aef968b
8 changed files with 23 additions and 17 deletions
@@ -47,6 +47,7 @@ export default class extends Controller {
item.setAttribute(this.selectPropertyNameValue, "true")
this.labelTarget.textContent = this.#selectedLabel
this.hiddenField.value = item.dataset.comboboxValue
this.hiddenField.disabled = !item.dataset.comboboxValue
this.#updateWithDefaultClass()
}
+2 -5
View File
@@ -3,11 +3,8 @@
class: class_names("filters flex align-center gap-half justify-center center margin-block-end", { "filters--expanded": user_filtering.expanded? }),
data: { controller: "toggle-class filter-settings", toggle_class_toggle_class: "filters--expanded", filter_settings_filters_set_class: "filters--has-filters-set" } do %>
<div class="flex-inline center align-center gap-half" data-controller="toggle-enable">
<%= form_with url: cards_path, method: :get, class: "flex-inline center align-center gap-half",
data: { controller: "form", turbo_frame: "card_columns", turbo_action: "advance" } do |form| %>
<%= render "filters/settings/terms", user_filtering: user_filtering, form: form %>
<%= render "filters/settings/controls", user_filtering: user_filtering, form: form %>
<% end %>
<%= render "filters/settings/terms", user_filtering: user_filtering %>
<%= render "filters/settings/controls", user_filtering: user_filtering %>
<%= render "filters/settings/toggle", user_filtering: user_filtering %>
<%= render "filters/settings/manage", user_filtering: user_filtering %>
@@ -19,7 +19,7 @@
<strong class="popup__title">Assigned to…</strong>
<% if User.active.many? %>
<%= text_field_tag :search, nil, placeholder: "Filter…", class: "input input--transparent txt-small", autofocus: true,
<%= text_field_tag nil, nil, placeholder: "Filter…", class: "input input--transparent txt-small", autofocus: true,
type: "search", autocorrect: "off", autocomplete: "off", data: { "1p-ignore": "true", filter_target: "input", action: "input->filter#filter" } %>
<% end %>
+1 -1
View File
@@ -20,7 +20,7 @@
<strong class="popup__title">Closed by…</strong>
<% if user_filtering.users.many? %>
<%= text_field_tag :search, nil, placeholder: "Filter…", class: "input input--transparent txt-small", autofocus: true,
<%= text_field_tag nil, nil, placeholder: "Filter…", class: "input input--transparent txt-small", autofocus: true,
type: "search", autocorrect: "off", autocomplete: "off", data: { "1p-ignore": "true", filter_target: "input", action: "input->filter#filter" } %>
<% end %>
+10 -7
View File
@@ -1,9 +1,12 @@
<%= hidden_field_tag :expand_all, true, disabled: !user_filtering.expanded?, data: { toggle_enable_target: "element" } %>
<%= form_with url: cards_path, method: :get, class: "flex-inline center align-center gap-half",
data: { controller: "form", turbo_frame: "card_columns", turbo_action: "advance" } do |form| %>
<%= hidden_field_tag :expand_all, true, disabled: !user_filtering.expanded?, data: { toggle_enable_target: "element" } %>
<%= render "filters/settings/sorted_by", user_filtering: user_filtering %>
<%= render "filters/settings/indexed_by", user_filtering: user_filtering %>
<%= render "filters/settings/tags", user_filtering: user_filtering %>
<%= render "filters/settings/assignees", user_filtering: user_filtering %>
<%= render "filters/settings/creators", user_filtering: user_filtering %>
<%= render "filters/settings/closers", user_filtering: user_filtering %>
<%= render "filters/settings/sorted_by", user_filtering: user_filtering %>
<%= render "filters/settings/indexed_by", user_filtering: user_filtering %>
<%= render "filters/settings/tags", user_filtering: user_filtering %>
<%= render "filters/settings/assignees", user_filtering: user_filtering %>
<%= render "filters/settings/creators", user_filtering: user_filtering %>
<%= render "filters/settings/closers", user_filtering: user_filtering %>
<% end %>
@@ -20,7 +20,7 @@
<strong class="popup__title">Added by…</strong>
<% if user_filtering.users.many? %>
<%= text_field_tag :search, nil, placeholder: "Filter…", class: "input input--transparent txt-small", autofocus: true,
<%= text_field_tag nil, nil, placeholder: "Filter…", class: "input input--transparent txt-small", autofocus: true,
type: "search", autocorrect: "off", autocomplete: "off", data: { "1p-ignore": "true", filter_target: "input", action: "input->filter#filter" } %>
<% end %>
+1 -1
View File
@@ -19,7 +19,7 @@
<strong class="popup__title">Tagged…</strong>
<% if user_filtering.tags.many? %>
<%= text_field_tag :search, nil, placeholder: "Filter…", class: "input input--transparent txt-small", autofocus: true,
<%= text_field_tag nil, nil, placeholder: "Filter…", class: "input input--transparent txt-small", autofocus: true,
type: "search", autocorrect: "off", autocomplete: "off", data: { "1p-ignore": "true", filter_target: "input", action: "input->filter#filter" } %>
<% end %>
+6 -1
View File
@@ -1,4 +1,6 @@
<% filter = user_filtering.filter %>
<%= form_with url: cards_path, method: :get, class: "", data: { controller: "form", turbo_frame: "card_columns", action: "input->form#debouncedSubmit" } do |form| %>
<% filter.as_params.except(:terms).each do |key, value| %>
<%= filter_hidden_field_tag key, value %>
<% end %>
@@ -12,7 +14,10 @@
<% end %>
<%= form.text_field "terms[]", placeholder: "Filter these cards…", class: "input txt-x-small filter__terms",
autofocus: false, autocomplete: :off, autocorrect: "off", data: { "1p-ignore": "true", action: "input->form#debouncedSubmit keydown.enter->form#submitToTopTarget" } %>
autofocus: false, autocomplete: :off, autocorrect: "off", data: {
"1p-ignore": "true",
action: "input->form#debouncedSubmit keydown.enter->form#submitToTopTarget" } %>
<% end %>
<% if filter.terms.present? %>
<% filter.terms.each do |term| %>