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