element_ins.erl 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. -module(element_ins).
  2. %%-author('Vladimir Galunshchikov').
  3. -include_lib("nitro/include/nitro.hrl").
  4. -export([
  5. render_element/1
  6. ]).
  7. render_element(Record) ->
  8. List = [
  9. %% global
  10. {<<"accesskey">>, Record#ins.accesskey},
  11. {<<"class">>, Record#ins.class},
  12. {<<"contenteditable">>,
  13. case Record#ins.contenteditable of
  14. true -> "true";
  15. false -> "false";
  16. _ -> undefined
  17. end},
  18. {<<"contextmenu">>, Record#ins.contextmenu},
  19. {<<"dir">>,
  20. case Record#ins.dir of
  21. "ltr" -> "ltr";
  22. "rtl" -> "rtl";
  23. "auto" -> "auto";
  24. _ -> undefined
  25. end},
  26. {<<"draggable">>,
  27. case Record#ins.draggable of
  28. true -> "true";
  29. false -> "false";
  30. _ -> undefined
  31. end},
  32. {<<"dropzone">>, Record#ins.dropzone},
  33. {<<"hidden">>,
  34. case Record#ins.hidden of
  35. "hidden" -> "hidden";
  36. _ -> undefined
  37. end},
  38. {<<"id">>, Record#ins.id},
  39. {<<"lang">>, Record#ins.lang},
  40. {<<"spellcheck">>,
  41. case Record#ins.spellcheck of
  42. true -> "true";
  43. false -> "false";
  44. _ -> undefined
  45. end},
  46. {<<"style">>, Record#ins.style},
  47. {<<"tabindex">>, Record#ins.tabindex},
  48. {<<"title">>, Record#ins.title},
  49. {<<"translate">>,
  50. case Record#ins.contenteditable of
  51. "yes" -> "yes";
  52. "no" -> "no";
  53. _ -> undefined
  54. end},
  55. %% spec
  56. {<<"cite">>, Record#ins.cite},
  57. {<<"datetime">>, Record#ins.datetime} | Record#ins.data_fields
  58. ],
  59. wf_tags:emit_tag(<<"ins">>,
  60. nitro:render(
  61. case Record#ins.body of
  62. undefined -> [];
  63. B -> B
  64. end), List).