Packages
nitro
1.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").
-compile(export_all).
render_element(Record = #dropdown{}) ->
ID = case Record#dropdown.id of undefined -> nitro:temp_id(); I->I end,
case Record#dropdown.postback of
undefined -> skip;
Postback -> nitro:wire(#event { type=click, 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">>; _-> undefined 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">>; _-> undefined end},
{<<"multiple">>, case Record#dropdown.multiple of true -> <<"multiple">>; _-> undefined end}|
Record#dropdown.data_fields
]).