2024-04-29 00:17:15 +02:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2022-09-08 11:25:39 +02:00
|
|
|
class EditableChamp::PaysComponent < EditableChamp::EditableChampBaseComponent
|
2022-08-12 10:45:04 +02:00
|
|
|
include ApplicationHelper
|
2022-12-20 21:28:42 +01:00
|
|
|
|
2023-08-21 16:18:31 +02:00
|
|
|
def dsfr_input_classname
|
|
|
|
'fr-select'
|
|
|
|
end
|
|
|
|
|
2022-12-20 21:28:42 +01:00
|
|
|
private
|
|
|
|
|
|
|
|
def options
|
|
|
|
options = APIGeoService.countries.map { [_1[:name], _1[:code]] }
|
|
|
|
# For legacy fields, selected value is non standard country name. Add it to the list.
|
|
|
|
if (@champ.selected&.size || 0) > 2
|
|
|
|
options.unshift([@champ.selected, @champ.selected])
|
|
|
|
end
|
|
|
|
options
|
|
|
|
end
|
|
|
|
|
|
|
|
def select_options
|
|
|
|
{ selected: @champ.selected }.merge(@champ.mandatory? ? { prompt: '' } : { include_blank: '' })
|
|
|
|
end
|
2022-08-12 10:45:04 +02:00
|
|
|
end
|