[#11103] Adapt ToggleComponent to be used with form_with helper
This commit is contained in:
parent
950e3ba859
commit
ecb5eee26a
3 changed files with 22 additions and 3 deletions
|
@ -15,6 +15,13 @@
|
||||||
|
|
||||||
.fr-tabs__panel.fr-pb-8w.fr-tabs__panel--selected{ id: "tabpanel-standard#{@count}-panel", role: "tabpanel", "aria-labelledby": "tabpanel-standard#{@count}", tabindex: "0" }
|
.fr-tabs__panel.fr-pb-8w.fr-tabs__panel--selected{ id: "tabpanel-standard#{@count}-panel", role: "tabpanel", "aria-labelledby": "tabpanel-standard#{@count}", tabindex: "0" }
|
||||||
= form_with url: download_export_path, namespace: "export#{@count}", data: { turbo_method: :post, turbo: true } do |f|
|
= form_with url: download_export_path, namespace: "export#{@count}", data: { turbo_method: :post, turbo: true } do |f|
|
||||||
|
|
||||||
|
.fr-pb-2w
|
||||||
|
= render Dsfr::ToggleComponent.new(form: f,
|
||||||
|
target: :include_archived_dossiers,
|
||||||
|
title: "Include les dossiers archivés",
|
||||||
|
label_side: :right)
|
||||||
|
|
||||||
= f.hidden_field :statut, value: @statut
|
= f.hidden_field :statut, value: @statut
|
||||||
%fieldset.fr-fieldset#radio-hint{ "aria-labelledby": "radio-hint-legend" }
|
%fieldset.fr-fieldset#radio-hint{ "aria-labelledby": "radio-hint-legend" }
|
||||||
%legend.fr-fieldset__legend--regular.fr-fieldset__legend#radio-hint-legend Sélectionner le format de l'export
|
%legend.fr-fieldset__legend--regular.fr-fieldset__legend#radio-hint-legend Sélectionner le format de l'export
|
||||||
|
|
|
@ -22,7 +22,19 @@ class Dsfr::ToggleComponent < ApplicationComponent
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
def label_for
|
||||||
|
return input_id if @form.object.present?
|
||||||
|
|
||||||
|
return "#{@form.options[:namespace]}_#{target}" if @form.options[:namespace].present?
|
||||||
|
|
||||||
|
target.to_s
|
||||||
|
end
|
||||||
|
|
||||||
def input_id
|
def input_id
|
||||||
dom_id(@form.object, target)
|
if @form.object.present?
|
||||||
|
dom_id(@form.object, target)
|
||||||
|
else
|
||||||
|
target.to_s
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
%div{ class: "fr-toggle fr-toggle--label-left #{extra_class_names}" }
|
%div{ class: "fr-toggle fr-toggle--label-left #{extra_class_names}" }
|
||||||
= @form.check_box target, class: 'fr-toggle__input', disabled:, data:, id: input_id
|
= @form.check_box target, class: 'fr-toggle__input', disabled:, data:, id: input_id
|
||||||
= @form.label target,
|
= @form.label target,
|
||||||
title,
|
title || html_title&.html_safe,
|
||||||
for: input_id,
|
for: label_for,
|
||||||
data: { 'fr-checked-label': toggle_labels[:checked], 'fr-unchecked-label': toggle_labels[:unchecked] },
|
data: { 'fr-checked-label': toggle_labels[:checked], 'fr-unchecked-label': toggle_labels[:unchecked] },
|
||||||
class: 'fr-toggle__label'
|
class: 'fr-toggle__label'
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue