Passe les champs select au DSFR
This commit is contained in:
parent
1ba28cc8d3
commit
fb8fcd00b3
9 changed files with 46 additions and 12 deletions
|
@ -316,13 +316,12 @@ ul.dropdown-items {
|
||||||
margin-bottom: 2 * $default-spacer;
|
margin-bottom: 2 * $default-spacer;
|
||||||
}
|
}
|
||||||
|
|
||||||
input:not(.fr-btn),
|
input:not(.fr-btn) {
|
||||||
select {
|
|
||||||
width: 200px;
|
width: 200px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
background-color: $light-grey;
|
background-color: $light-grey;
|
||||||
border: 1px solid $border-grey;
|
border: 1px solid $border-grey;
|
||||||
}
|
}
|
||||||
|
|
||||||
[disabled] {
|
[disabled] {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
|
@ -246,8 +246,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type=text]:not([data-address='true']),
|
input[type=text]:not([data-address='true']) {
|
||||||
select {
|
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
border: solid 1px $border-grey;
|
border: solid 1px $border-grey;
|
||||||
padding: $default-padding;
|
padding: $default-padding;
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
= @form.select :value, options, select_options, required: @champ.required?, id: @champ.input_id, aria: { describedby: @champ.describedby_id }, class: "width-33-desktop width-100-mobile"
|
= @form.select :value, options, select_options, required: @champ.required?, id: @champ.input_id, aria: { describedby: @champ.describedby_id }, class: "fr-select"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
class EditableChamp::DropDownListComponent < EditableChamp::EditableChampBaseComponent
|
class EditableChamp::DropDownListComponent < EditableChamp::EditableChampBaseComponent
|
||||||
def select_class_names
|
def select_class_names
|
||||||
class_names('width-100': contains_long_option?)
|
class_names('width-100': contains_long_option?, 'fr-select': true)
|
||||||
end
|
end
|
||||||
|
|
||||||
def contains_long_option?
|
def contains_long_option?
|
||||||
|
|
|
@ -21,6 +21,40 @@ class EditableChamp::EditableChampComponent < ApplicationComponent
|
||||||
"EditableChamp::#{@champ.type_champ.camelcase}Component".constantize
|
"EditableChamp::#{@champ.type_champ.camelcase}Component".constantize
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def select_group
|
||||||
|
[
|
||||||
|
'departements',
|
||||||
|
'drop_down_list',
|
||||||
|
'epci',
|
||||||
|
'pays',
|
||||||
|
'regions'
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
def input_group
|
||||||
|
[
|
||||||
|
'annuaire_education',
|
||||||
|
'date',
|
||||||
|
'datetime',
|
||||||
|
'decimal_number',
|
||||||
|
'dgfip',
|
||||||
|
'dossier_link',
|
||||||
|
'email',
|
||||||
|
'iban',
|
||||||
|
'integer_number',
|
||||||
|
'mesri',
|
||||||
|
'number',
|
||||||
|
'phone',
|
||||||
|
'piece_justificative',
|
||||||
|
'pole_emploi',
|
||||||
|
'rna',
|
||||||
|
'siret',
|
||||||
|
'text',
|
||||||
|
'textarea',
|
||||||
|
'titre_identite'
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
def html_options
|
def html_options
|
||||||
{
|
{
|
||||||
class: class_names(
|
class: class_names(
|
||||||
|
@ -28,7 +62,8 @@ class EditableChamp::EditableChampComponent < ApplicationComponent
|
||||||
'editable-champ': true,
|
'editable-champ': true,
|
||||||
"editable-champ-#{@champ.type_champ}": true,
|
"editable-champ-#{@champ.type_champ}": true,
|
||||||
"hidden": !@champ.visible?,
|
"hidden": !@champ.visible?,
|
||||||
"fr-input-group": true
|
"fr-input-group": input_group.include?(@champ.type_champ),
|
||||||
|
"fr-select-group": select_group.include?(@champ.type_champ)
|
||||||
}.merge(input_group_error_class_names)
|
}.merge(input_group_error_class_names)
|
||||||
),
|
),
|
||||||
id: @champ.input_group_id,
|
id: @champ.input_group_id,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
%label.notice{ for: @champ.code_departement_input_id } Le département de l’EPCI
|
%label.notice{ for: @champ.code_departement_input_id } Le département de l’EPCI
|
||||||
= @form.select :code_departement, departement_options, departement_select_options, required: @champ.required?, id: @champ.code_departement_input_id, class: "width-33-desktop width-100-mobile"
|
= @form.select :code_departement, departement_options, departement_select_options, required: @champ.required?, id: @champ.code_departement_input_id, class: "width-33-desktop width-100-mobile fr-select"
|
||||||
- if @champ.departement?
|
- if @champ.departement?
|
||||||
= @form.label "EPCI", for: @champ.epci_input_id
|
= @form.label "EPCI", for: @champ.epci_input_id
|
||||||
= @form.select :value, epci_options, epci_select_options, required: @champ.required?, id: @champ.epci_input_id, aria: { describedby: @champ.describedby_id }, class: "width-33-desktop width-100-mobile"
|
= @form.select :value, epci_options, epci_select_options, required: @champ.required?, id: @champ.epci_input_id, aria: { describedby: @champ.describedby_id }, class: "width-33-desktop width-100-mobile fr-select"
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
= @form.select :value, options, select_options, required: @champ.required?, id: @champ.input_id, aria: { describedby: @champ.describedby_id }, class: "width-33-desktop width-100-mobile"
|
= @form.select :value, options, select_options, required: @champ.required?, id: @champ.input_id, aria: { describedby: @champ.describedby_id }, class: "width-33-desktop width-100-mobile fr-select"
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
= @form.select :value, options, select_options, required: @champ.required?, id: @champ.input_id, aria: { describedby: @champ.describedby_id }, class: "width-33-desktop width-100-mobile"
|
= @form.select :value, options, select_options, required: @champ.required?, id: @champ.input_id, aria: { describedby: @champ.describedby_id }, class: "width-33-desktop width-100-mobile fr-select"
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
.cell.flex.justify-start.column.flex-grow
|
.cell.flex.justify-start.column.flex-grow
|
||||||
= form.label :type_champ, "Type de champ", for: dom_id(type_de_champ, :type_champ)
|
= form.label :type_champ, "Type de champ", for: dom_id(type_de_champ, :type_champ)
|
||||||
= form.select :type_champ, grouped_options_for_select(types_of_type_de_champ, type_de_champ.type_champ), {}, class: 'fr-select small-margin small inline width-100', id: dom_id(type_de_champ, :type_champ), disabled: coordinate.used_by_routing_rules?
|
= form.select :type_champ, grouped_options_for_select(types_of_type_de_champ, type_de_champ.type_champ), {}, class: 'fr-select small-margin small inline width-100', id: dom_id(type_de_champ, :type_champ), disabled: coordinate.used_by_routing_rules?
|
||||||
|
|
||||||
.flex.column.justify-start.flex-grow
|
.flex.column.justify-start.flex-grow
|
||||||
.cell
|
.cell
|
||||||
.flex.align-center
|
.flex.align-center
|
||||||
|
|
Loading…
Reference in a new issue