element_meta.erl 1.7 KB

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