element_iframe.erl 1.9 KB

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