Packages
nitro
4.4.0
11.4.16
11.4.15
11.4.14
9.9.7
9.9.6
8.2.4
8.2.3
8.2.2
8.2.1
8.2.0
7.12.1
7.10.0
7.9.3
7.9.2
7.9.1
7.9.0
7.8.3
7.8.2
7.8.0
7.7.1
7.7.0
7.6.2
7.6.1
7.6.0
7.5.0
7.4.2
7.4.1
7.4.0
7.2.1
7.2.0
7.1.1
7.1.0
6.12.0
6.11.11
6.11.10
6.11.9
6.11.8
6.11.7
6.11.6
6.11.4
6.11.2
6.11.1
6.10.9
6.10.8
6.10.7
6.10.6
6.10.5
6.10.4
6.10.3
6.10.2
6.10.1
6.9.1
6.6.1
6.5.0
6.4.4
6.4.3
6.4.2
6.4.1
6.4.0
5.12.4
5.12.3
5.12.2
5.12.1
5.12.0
5.11.1
5.11.0
5.9.2
5.9.1
5.8.5
5.8.4
5.8.3
5.8.1
5.8.0
5.6.1
5.5.1
5.4.3
5.4.2
5.4.1
5.3.1
5.3.0
5.2.1
5.1.7
5.1.6
5.1.5
5.1.4
5.1.3
5.1.2
5.1.1
4.12.11
4.12.10
4.12.9
4.12.8
4.12.7
4.12.6
4.12.5
4.12.4
4.12.3
4.12.2
4.12.1
4.12.0
4.11.13
4.11.12
4.11.11
4.11.10
4.11.9
4.11.8
4.11.7
4.11.6
4.11.5
4.11.4
4.11.3
4.11.2
4.11.1
4.11.0
4.10.9
4.10.8
4.10.7
4.10.6
4.10.5
4.10.4
4.10.3
4.10.2
4.10.1
4.10.0
4.7.7
4.7.4
4.7.3
4.7.2
4.7.1
4.7.0
4.4.1
4.4.0
1.4.0
NITRO Nitrogen Web Framework
Current section
Files
Jump to
Current section
Files
src/elements/element_dropdown.erl
-module(element_dropdown).
-include_lib("nitro/include/nitro.hrl").
-include_lib("nitro/include/event.hrl").
-compile(export_all).
render_element(Record) when Record#dropdown.show_if==false -> [<<>>];
render_element(Record = #dropdown{}) ->
ID = case Record#dropdown.id of [] -> nitro:temp_id(); I->I end,
case Record#dropdown.postback of
[] -> skip;
Postback -> nitro:wire(#event { type=change, postback=Postback, target=ID,
source=Record#dropdown.source, delegate=Record#dropdown.delegate } ) end,
Opts = [wf_tags:emit_tag(<<"option">>, [O#option.label], [
{<<"disabled">>, O#option.disabled},
{<<"label">>, O#option.label},
{<<"selected">>, case O#option.selected of true -> <<"selected">>; _-> [] end},
{<<"value">>, O#option.value}
])|| O = #option{show_if=Visible} <- Record#dropdown.options, Visible == true],
wf_tags:emit_tag(<<"select">>, Opts, [
{<<"id">>, Record#dropdown.id},
{<<"class">>, Record#dropdown.class},
{<<"style">>, Record#dropdown.style},
{<<"name">>, Record#dropdown.name},
{<<"disabled">>, case Record#dropdown.disabled of true -> <<"disabled">>; _-> [] end},
{<<"multiple">>, case Record#dropdown.multiple of true -> <<"multiple">>; _-> [] end}|
Record#dropdown.data_fields
]).