Current section

Files

Jump to
nitro src elements form element_button.erl
Raw

src/elements/form/element_button.erl

-module(element_button).
-author('Andrew Zadorozhny').
-include_lib("nitro/include/nitro.hrl").
-include_lib("nitro/include/event.hrl").
-compile([export_all, nowarn_export_all]).
render_element(Record) when Record#button.show_if==false -> [<<>>];
render_element(Record) ->
Id = case Record#button.postback of
[] -> Record#button.id;
undefined -> Record#button.id;
Postback ->
ID = case Record#button.id of [] -> nitro:temp_id(); I -> I end,
nitro:wire(#event{type=click, postback=Postback, target=ID,
source=Record#button.source, delegate=Record#button.delegate }),
ID end,
wf_tags:emit_tag(<<"button">>, nitro:render(Record#button.body), [
{<<"id">>, Id},
{<<"type">>, Record#button.type},
{<<"name">>, Record#button.name},
{<<"class">>, Record#button.class},
{<<"style">>, Record#button.style},
{<<"onchange">>, Record#button.onchange},
{<<"onclick">>, Record#button.onclick},
{<<"disabled">>, if Record#button.disabled == true -> "disabled"; true -> [] end},
{<<"value">>, Record#button.value} | Record#button.data_fields ]).