element_meta.erl 1.7 KB

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