Use a switch to toggle visibility to valuators

Using a checkbox wasn't very intuitive because checkboxes are
checked/unchecked when clicked on even if there's an error in the
request. Usually, when checkboxes appear on a form, they don't send any
information to the server unless we click a button to send the form.

So we're using a switch instead of a checkbox, like we did to
enable/disable phases in commit 46d8bc4f0.

Note that, since we've got two switches that match the default
`dom_id(record) .toggle-switch` selector, we need to find a way to
differentiate them. We're adding the `form_class` option for that.

Also note that we're now using a separate action and removing the
JavaScript in the `update` action which assumed that AJAX requests to
this action were always related to updating the `visible_to_valuators`
attribute.
This commit is contained in:
Javi Martín
2024-10-08 16:04:18 +02:00
parent 76b0971b4a
commit fc5103881d
15 changed files with 191 additions and 63 deletions

View File

@@ -1,5 +1,5 @@
var new_toggle_switch = $("<%= j new_content %>");
var current_toggle_switch = $("#<%= dom_id(record) %> .toggle-switch");
var current_toggle_switch = $("#<%= dom_id(record) %> .<%= local_assigns[:form_class] || "toggle-switch" %>");
current_toggle_switch.replaceWith(new_toggle_switch);
new_toggle_switch.find("[type='submit']").focus();