Merge pull request #5489 from betagouv/allow-deselecting-all-checkbox-items
Usager : correction d'un problème où décocher toutes les cases d'une liste n'enregistrait pas les changements
This commit is contained in:
commit
0570692d4a
2 changed files with 9 additions and 4 deletions
|
@ -1,10 +1,11 @@
|
|||
- if champ.options?
|
||||
- if champ.render_as_checkboxes?
|
||||
- champ.enabled_non_empty_options.each do |option|
|
||||
= form.collection_check_boxes(:value, champ.enabled_non_empty_options, :to_s, :to_s) do |b|
|
||||
.editable-champ.editable-champ-checkbox
|
||||
%label
|
||||
= form.check_box :value, { multiple: true, checked: champ&.value&.include?(option) }, option, nil
|
||||
= option
|
||||
= b.label do
|
||||
= b.check_box({ multiple: true, checked: champ&.value&.include?(b.value) })
|
||||
= b.text
|
||||
|
||||
- else
|
||||
= form.select :value,
|
||||
champ.options,
|
||||
|
|
|
@ -72,6 +72,10 @@ describe 'shared/dossiers/edit.html.haml', type: :view do
|
|||
it 'renders the list as checkboxes' do
|
||||
expect(subject).to have_selector('input[type=checkbox]', count: enabled_options.count)
|
||||
end
|
||||
|
||||
it 'adds an extra hidden input, to send a blank value even when all checkboxes are unchecked' do
|
||||
expect(subject).to have_selector('input[type=hidden][value=""]')
|
||||
end
|
||||
end
|
||||
|
||||
context 'when the list is long' do
|
||||
|
|
Loading…
Add table
Reference in a new issue