Cldr.HTML.Territory (Cldr HTML v0.3.0) View Source
Implements Phoenix.HTML.Form.select/4
specifically for
localised territory display.
Link to this section Summary
Functions
Generate an HTML select tag for a territory list
that can be used with a Phoenix.HTML.Form.t
.
Link to this section Types
Specs
select_options() :: [ territories: [atom() | binary(), ...], locale: Cldr.Locale.locale_name() | Cldr.LanguageTag.t(), mapper: function(), backend: module(), selected: atom() | binary() ]
Link to this section Functions
Specs
select( form :: Phoenix.HTML.Form.t(), field :: Phoenix.HTML.Form.field(), select_options() ) :: Phoenix.HTML.safe() | {:error, {Cldr.UnknownTerritoryError, binary()}} | {:error, {Cldr.UnknownLocaleError, binary()}}
Generate an HTML select tag for a territory list
that can be used with a Phoenix.HTML.Form.t
.
Arguments
A
Phoenix.HTML.Form.t()
formA
Phoenix.HTML.Form.field()
fieldA
Keyword.t()
list of options
Options
For select options see Phoenix.HTML.Form.select/4
:territories
defines the list of territories to be displayed in the theselect
tag. The list defaults to the territories returned byCldr.known_territories/0
.:style
is the format of the territory name to be used. The options are:standard
(the default),:short
and:variant
. Not all territories have:short
or:variant
names in which case:standard
is used for those territories.:locale
defines the locale to be used to localise the description of the territories. The default is the locale returned byCldr.get_locale/1
:backend
is any backend module. The default isCldr.default_backend!/0
:mapper
is a function that creates the text to be displayed in the select tag for each territory. It is passed the territory definition as a map containing the keys:territory_code
,:name
and:flag
. The default function is&({&1.flag <> " " <> &1.name, &1.territory_code})
:selected
identifies the territory that is to be selected by default in theselect
tag. The default isnil
. This is passed unmodified toPhoenix.HTML.Form.select/4
:prompt
is a prompt displayed at the top of the select box. This is passed unmodified toPhoenix.HTML.Form.select/4
Examples
=> Cldr.HTML.Territory.select(:my_form, :territory, selected: :AU)
=> Cldr.HTML.Territory.select(:my_form, :territory, selected: :AU, locale: "ar")
=> Cldr.HTML.Territory.select(:my_form, :territory, territories: [:US, :AU, :JP],
mapper: &({&1.name, &1.territory_code}))