element_track.erl 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. -module(element_track).
  2. %%-author('Vladimir Galunshchikov').
  3. -include_lib("nitro/include/nitro.hrl").
  4. -compile([export_all, nowarn_export_all]).
  5. render_element(Record) ->
  6. List = [
  7. %% global
  8. {<<"accesskey">>, Record#track.accesskey},
  9. {<<"class">>, Record#track.class},
  10. {<<"contenteditable">>,
  11. case Record#track.contenteditable of
  12. true -> "true";
  13. false -> "false";
  14. _ -> undefined
  15. end},
  16. {<<"contextmenu">>, Record#track.contextmenu},
  17. {<<"dir">>,
  18. case Record#track.dir of
  19. "ltr" -> "ltr";
  20. "rtl" -> "rtl";
  21. "auto" -> "auto";
  22. _ -> undefined
  23. end},
  24. {<<"draggable">>,
  25. case Record#track.draggable of
  26. true -> "true";
  27. false -> "false";
  28. _ -> undefined
  29. end},
  30. {<<"dropzone">>, Record#track.dropzone},
  31. {<<"hidden">>,
  32. case Record#track.hidden of
  33. "hidden" -> "hidden";
  34. _ -> undefined
  35. end},
  36. {<<"id">>, Record#track.id},
  37. {<<"lang">>, Record#track.lang},
  38. {<<"spellcheck">>,
  39. case Record#track.spellcheck of
  40. true -> "true";
  41. false -> "false";
  42. _ -> undefined
  43. end},
  44. {<<"style">>, Record#track.style},
  45. {<<"tabindex">>, Record#track.tabindex},
  46. {<<"title">>, Record#track.title},
  47. {<<"translate">>,
  48. case Record#track.contenteditable of
  49. "yes" -> "yes";
  50. "no" -> "no";
  51. _ -> undefined
  52. end},
  53. %% spec
  54. {<<"default">>,
  55. case Record#track.default of
  56. true -> "default";
  57. _ -> undefined
  58. end},
  59. {<<"kind">>,
  60. case Record#track.kind of
  61. "subtitles" -> "subtitles";
  62. "captions" -> "captions";
  63. "descriptions" -> "descriptions";
  64. "chapters" -> "chapters";
  65. "metadata" -> "metadata";
  66. _ -> undefined
  67. end},
  68. {<<"label">>, Record#track.label},
  69. {<<"src">>, Record#track.src},
  70. {<<"srclang">>, Record#track.srclang} | Record#track.data_fields
  71. ],
  72. wf_tags:emit_tag(<<"track">>, List).