element_submit.erl 904 B

1234567891011121314151617181920212223
  1. -module (element_submit).
  2. -author('Andrew Zadorozhny').
  3. -include_lib("nitro/include/nitro.hrl").
  4. -compile(export_all).
  5. render_element(Record) ->
  6. ID = case Record#submit.id of [] -> nitro:temp_id(); I->I end,
  7. case Record#submit.postback of
  8. [] -> skip;
  9. Postback -> nitro:wire(#event { type=click,
  10. target=ID,
  11. postback=Postback,
  12. source=Record#submit.source }) end,
  13. case Record#submit.click of
  14. [] -> ignore;
  15. ClickActions -> nitro:wire(#event { target=ID, type=click, actions=ClickActions }) end,
  16. wf_tags:emit_tag(<<"input">>, [
  17. {<<"id">>, ID},
  18. {<<"type">>, <<"submit">>},
  19. {<<"class">>, Record#submit.class},
  20. {<<"style">>, Record#submit.style},
  21. {<<"value">>, Record#submit.body} | Record#submit.data_fields
  22. ]).