Ajoute un compteur sur les champ de type textarea sur l'interface usager
This commit is contained in:
parent
ea3199d0f3
commit
f3f49941b6
12 changed files with 114 additions and 26 deletions
|
@ -0,0 +1,3 @@
|
|||
en:
|
||||
remaining_characters: You have %{remaining_words} characters remaining.
|
||||
excess_characters: You have %{excess_words} characters too many.
|
|
@ -0,0 +1,3 @@
|
|||
fr:
|
||||
remaining_characters: Il vous reste %{remaining_words} caractères.
|
||||
excess_characters: Vous avez dépassé la taille conseillée de %{excess_words} caractères.
|
|
@ -1,6 +1,20 @@
|
|||
- character_limit = @champ.textarea_character_limit.to_i if !@champ.textarea_character_limit&.empty?
|
||||
- character_count = @champ.character_count(@champ.value)
|
||||
- analyze_character_count = @champ.analyze_character_count(character_count, character_limit)
|
||||
|
||||
~ @form.text_area :value,
|
||||
id: @champ.input_id,
|
||||
aria: { describedby: @champ.describedby_id },
|
||||
rows: 6,
|
||||
required: @champ.required?,
|
||||
value: html_to_string(@champ.value)
|
||||
|
||||
- if @champ.textarea_character_limit?
|
||||
|
||||
- if analyze_character_count == :info
|
||||
%span.fr-icon-information-fill.fr-text-default--info.characters-count
|
||||
= t('.remaining_characters', remaining_words: @champ.remaining_characters(character_count, character_limit))
|
||||
|
||||
- if analyze_character_count == :warning
|
||||
%span.fr-icon-close-circle-fill.fr-text-default--error.characters-count
|
||||
= t('.excess_characters', excess_words: @champ.excess_characters(character_count, character_limit))
|
||||
|
|
|
@ -36,6 +36,8 @@ fr:
|
|||
add_condition: Une condition a été ajoutée sur le champ « %{label} ». La nouvelle condition est « %{to} ».
|
||||
remove_condition: La condition du champ « %{label} » a été supprimée.
|
||||
update_condition: La condition du champ « %{label} » a été modifiée. La nouvelle condition est « %{to} ».
|
||||
update_textarea_character_limit: La limite de caractères du champ texte « %{label} » a été modifiée. La nouvelle limite est « %{to} ».
|
||||
remove_textarea_character_limit: La limite de caractères du champ texte « %{label} » a été supprimée.
|
||||
private:
|
||||
add: L’annotation privée « %{label} » a été ajoutée.
|
||||
remove: L’annotation privée « %{label} » a été supprimée.
|
||||
|
|
|
@ -130,7 +130,14 @@
|
|||
= t(".#{prefix}.update_condition", label: change.label, to: change.to)
|
||||
- if !total_dossiers.zero? && !change.can_rebase?
|
||||
.fr-alert.fr-alert--warning.fr-mt-1v
|
||||
%p= t('.breaking_change', count: total_dossiers)
|
||||
%p= t('.breakigng_change', count: total_dossiers)
|
||||
- when :textarea_character_limit
|
||||
- if change.to.nil?
|
||||
- list.with_item do
|
||||
= t(".#{prefix}.remove_textarea_character_limit", label: change.label, to: change.to)
|
||||
- else
|
||||
- list.with_item do
|
||||
= t(".#{prefix}.update_textarea_character_limit", label: change.label, to: change.to)
|
||||
|
||||
- if @public_move_changes.present?
|
||||
- list.with_item do
|
||||
|
|
|
@ -101,8 +101,11 @@
|
|||
= form.label :collapsible_explanation_text, for: dom_id(type_de_champ, :collapsible_explanation_text) do
|
||||
= "Texte à afficher quand l'utiliser a choisi de l'afficher"
|
||||
= form.text_area :collapsible_explanation_text, class: "small-margin small", id: dom_id(type_de_champ, :collapsible_explanation_text)
|
||||
|
||||
|
||||
- if type_de_champ.textarea?
|
||||
.cell
|
||||
= form.label :textarea_character_limit, for: dom_id(type_de_champ, :textarea_character_limit) do
|
||||
Spécifier un nombre maximal de caractères (non restrictif) :
|
||||
= form.number_field :textarea_character_limit, min: 400, value: form.object.textarea_character_limit, id: dom_id(type_de_champ, :textarea_character_limit)
|
||||
|
||||
- if type_de_champ.block?
|
||||
.flex.justify-start.section.ml-1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue