Packages
nitro
5.1.3
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/input/element_checkbox.erl
-module(element_checkbox).
-author('Rusty Klophaus').
-include_lib("nitro/include/nitro.hrl").
-include_lib("nitro/include/event.hrl").
-compile(export_all).
render_element(Record) when Record#checkbox.show_if==false -> [<<>>];
render_element(Record) ->
Id = case Record#checkbox.id of [] -> nitro:temp_id(); I->I end,
case Record#checkbox.postback of
[] -> ignore;
Postback -> nitro:wire(#event { type=change, postback=Postback, target=Id, source=Record#checkbox.source, delegate=Record#checkbox.delegate })
end,
Label = [ wf_tags:emit_tag(<<"input">>, [], [
% global
{<<"accesskey">>, Record#checkbox.accesskey},
{<<"class">>, Record#checkbox.class},
{<<"contenteditable">>, case Record#checkbox.contenteditable of true -> "true"; false -> "false"; _ -> [] end},
{<<"contextmenu">>, Record#checkbox.contextmenu},
{<<"dir">>, case Record#checkbox.dir of "ltr" -> "ltr"; "rtl" -> "rtl"; "auto" -> "auto"; _ -> [] end},
{<<"draggable">>, case Record#checkbox.draggable of true -> "true"; false -> "false"; _ -> [] end},
{<<"dropzone">>, Record#checkbox.dropzone},
{<<"hidden">>, case Record#checkbox.hidden of "hidden" -> "hidden"; _ -> [] end},
{<<"id">>, Id},
{<<"lang">>, Record#checkbox.lang},
{<<"spellcheck">>, case Record#checkbox.spellcheck of true -> "true"; false -> "false"; _ -> [] end},
{<<"style">>, Record#checkbox.style},
{<<"tabindex">>, Record#checkbox.tabindex},
{<<"title">>, Record#checkbox.title},
{<<"translate">>, case Record#checkbox.contenteditable of "yes" -> "yes"; "no" -> "no"; _ -> [] end},
% spec
{<<"autofocus">>,Record#checkbox.autofocus},
{<<"checked">>, if Record#checkbox.checked==true -> <<"checked">>; true -> [] end},
{<<"data-toggle">>, <<"checkbox">>},
{<<"disabled">>, if Record#checkbox.disabled == true -> "disabled"; true -> [] end},
{<<"form">>, Record#checkbox.form},
{<<"name">>, Record#checkbox.name},
{<<"required">>, if Record#checkbox.required == true -> "required"; true -> [] end},
{<<"type">>, <<"checkbox">>},
{<<"value">>, Record#checkbox.value} | Record#checkbox.data_fields
]),
case Record#checkbox.body of [] -> []; B -> B end ],
wf_tags:emit_tag(<<"label">>, nitro:render(Label), [
{<<"class">>, Record#checkbox.class},
{<<"style">>, Record#checkbox.style},
{<<"for">>, Id} ]).