feat(Champ.siret): on invalid, set error message on InputStatutErrorMessage. on valid, set info message on siret info component

Co-authored-by: Corinne Durrmeyer <corinne@inseo.fr>
This commit is contained in:
mfo 2024-04-09 17:36:40 +02:00
parent 331dfd3044
commit 83c6bf1f0e
No known key found for this signature in database
GPG key ID: 7CE3E1F5B794A8EC
3 changed files with 23 additions and 4 deletions

View file

@ -75,9 +75,9 @@ module Dsfr
}.merge(input_error_class_names)))
if errors_on_attribute?
@opts.deep_merge!(aria: {
describedby: describedby_id
})
@opts.deep_merge!(aria: { describedby: describedby_id })
elsif hintable?
@opts.deep_merge!(aria: { describedby: hint_id })
end
if @required
@ -130,6 +130,10 @@ module Dsfr
false
end
def hintable?
false
end
def hint?
return true if get_slot(:hint).present?

View file

@ -2,4 +2,12 @@ class EditableChamp::SiretComponent < EditableChamp::EditableChampBaseComponent
def dsfr_input_classname
'fr-input'
end
def hint_id
dom_id(@champ, :siret_info)
end
def hintable?
true
end
end

View file

@ -1 +1,8 @@
= turbo_stream.update dom_id(@champ, :siret_info), partial: 'shared/champs/siret/etablissement', locals: { siret: @siret, etablissement: @champ.etablissement }
- if @champ.etablissement_fetch_error_key.present?
= turbo_stream.update @champ.describedby_id, partial: 'shared/champs/siret/etablissement', locals: { siret: @siret, etablissement: @champ.etablissement }
= turbo_stream.show @champ.describedby_id
= turbo_stream.hide(dom_id(@champ, :siret_info))
- else
= turbo_stream.update dom_id(@champ, :siret_info), partial: 'shared/champs/siret/etablissement', locals: { siret: @siret, etablissement: @champ.etablissement }
= turbo_stream.show dom_id(@champ, :siret_info)
= turbo_stream.hide(@champ.describedby_id)