element_details.erl 1.8 KB

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