123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- -module(element_radio).
- %%-author('Rusty Klophaus').
- -include_lib("nitro/include/nitro.hrl").
- -include_lib("nitro/include/event.hrl").
- -export([
- render_element/1
- ]).
- render_element(Record) when Record#radio.show_if == false -> [<<>>];
- render_element(Record) ->
- ID = case Record#radio.id of
- [] -> nitro:temp_id();
- RadioID -> RadioID
- end,
-
- case Record#radio.postback of
- [] -> skip;
- Postback ->
- nitro:wire( #event{type = change, postback = Postback, target = ID,
- delegate = Record#radio.delegate} )
- end,
-
- TypeChecked = case Record#radio.checked of
- true -> [{<<"checked">>, <<"">>}, {<<"type">>, <<"radio">>}];
- _ -> [{<<"type">>, <<"radio">>}]
- end ++ case Record#radio.disabled of
- true -> [{<<"disabled">>, <<"disabled">>}];
- _ -> []
- end,
-
- [wf_tags:emit_tag(<<"input">>, nitro:render(Record#radio.body), TypeChecked ++ [
- {<<"id">>, ID},
- {<<"value">>, Record#radio.value},
- {<<"name">>, nitro:coalesce( [Record#radio.html_name, Record#radio.name] )},
- {<<"class">>, Record#radio.class},
- {<<"style">>, Record#radio.style},
- {<<"onclick">>, Record#radio.onclick},
- {<<"required">>,
- case Record#radio.required of
- true -> "required";
- _ -> []
- end}
- ]) ].
|