element_form.erl 2.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. -module(element_form).
  2. -author('Vladimir Galunshchikov').
  3. -include_lib("nitro/include/nitro.hrl").
  4. -compile(export_all).
  5. render_element(Record) ->
  6. List = [
  7. %global
  8. {<<"accesskey">>, Record#form.accesskey},
  9. {<<"class">>, Record#form.class},
  10. {<<"contenteditable">>, case Record#form.contenteditable of true -> "true"; false -> "false"; _ -> undefined end},
  11. {<<"contextmenu">>, Record#form.contextmenu},
  12. {<<"dir">>, case Record#form.dir of "ltr" -> "ltr"; "rtl" -> "rtl"; "auto" -> "auto"; _ -> undefined end},
  13. {<<"draggable">>, case Record#form.draggable of true -> "true"; false -> "false"; _ -> undefined end},
  14. {<<"dropzone">>, Record#form.dropzone},
  15. {<<"hidden">>, case Record#form.hidden of "hidden" -> "hidden"; _ -> undefined end},
  16. {<<"id">>, Record#form.id},
  17. {<<"lang">>, Record#form.lang},
  18. {<<"spellcheck">>, case Record#form.spellcheck of true -> "true"; false -> "false"; _ -> undefined end},
  19. {<<"style">>, Record#form.style},
  20. {<<"tabindex">>, Record#form.tabindex},
  21. {<<"title">>, Record#form.title},
  22. {<<"translate">>, case Record#form.contenteditable of "yes" -> "yes"; "no" -> "no"; _ -> undefined end},
  23. % spec
  24. {<<"accept-charset">>, Record#form.accept_charset},
  25. {<<"action">>, Record#form.action},
  26. {<<"autocomplete">>, case Record#form.autocomplete of true -> "on"; false -> "off"; _ -> undefined end},
  27. {<<"enctype">>, case Record#form.enctype of "application/x-www-form-urlencoded" -> "application/x-www-form-urlencoded"; "multipart/form-data" -> "multipart/form-data"; "text/plain" -> "text/plain"; _ -> undefined end},
  28. {<<"method">>, case Record#form.method of "post" -> "post"; _ -> "get" end},
  29. {<<"name">>,Record#form.name},
  30. {<<"novalidate">>, case Record#form.novalidate of true -> "novalidate"; _ -> undefined end},
  31. {<<"target">>, Record#form.target} | Record#form.data_fields
  32. ],
  33. wf_tags:emit_tag(<<"form">>, nitro:render(Record#form.body), List).