element_polyline.erl 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. -module(element_polyline).
  2. -author('Konstantin Zakablukovsky').
  3. -include("nitro.hrl").
  4. -compile(export_all).
  5. render_element(Record) ->
  6. wf_tags:emit_tag(<<"polyline">>, nitro:render(Record#polyline.body),
  7. lists:append([
  8. [
  9. {<<"id">>, Record#polyline.id},
  10. {<<"class">>, Record#polyline.class},
  11. {<<"style">>, Record#polyline.style},
  12. {<<"points">>, Record#polyline.points},
  13. {<<"transform">>, Record#polyline.transform},
  14. {<<"externalResourcesRequired">>, Record#polyline.externalResourcesRequired}
  15. ],
  16. svg_conditional_processing(Record),
  17. svg_core(Record),
  18. svg_graphical_event(Record),
  19. svg_presentation(Record),
  20. Record#polyline.data_fields,
  21. Record#polyline.aria_states
  22. ])).
  23. %% Common SVG attributes
  24. svg_conditional_processing(Record)-> [
  25. {<<"requiredExtensions">>, Record#polyline.requiredExtensions},
  26. {<<"requiredFeatures">>, Record#polyline.requiredFeatures},
  27. {<<"systemLanguage">>, Record#polyline.systemLanguage}
  28. ].
  29. svg_core(Record)-> [
  30. {<<"xml:base">>, Record#polyline.xmlbase},
  31. {<<"xml:lang">>, Record#polyline.xmllang},
  32. {<<"xml:space">>, Record#polyline.xmlspace}
  33. ].
  34. svg_graphical_event(Record)-> [
  35. {<<"onactivate">>, Record#polyline.onactivate},
  36. {<<"onclick">>, Record#polyline.onclick},
  37. {<<"onfocusin">>, Record#polyline.onfocusin},
  38. {<<"onfocusout">>, Record#polyline.onfocusout},
  39. {<<"onload">>, Record#polyline.onload_graphical},
  40. {<<"onmousedown">>, Record#polyline.onmousedown},
  41. {<<"onmousemove">>, Record#polyline.onmousemove},
  42. {<<"onmouseout">>, Record#polyline.onmouseout},
  43. {<<"onmouseover">>, Record#polyline.onmouseover},
  44. {<<"onmouseup">>, Record#polyline.onmouseup}
  45. ].
  46. svg_presentation(Record)-> [
  47. {<<"alignment-baseline">>, Record#polyline.alignment_baseline},
  48. {<<"baseline-shift">>, Record#polyline.baseline_shift},
  49. {<<"clip">>, Record#polyline.clip},
  50. {<<"clip-path">>, Record#polyline.clip_path},
  51. {<<"clip-rule">>, Record#polyline.clip_rule},
  52. {<<"color">>, Record#polyline.color},
  53. {<<"color-interpolation">>, Record#polyline.color_interpolation},
  54. {<<"color-interpolation-filters">>, Record#polyline.color_interpolation_filters},
  55. {<<"color-profile">>, Record#polyline.color_profile},
  56. {<<"color-rendering">>, Record#polyline.color_rendering},
  57. {<<"cursor">>, Record#polyline.cursor},
  58. {<<"direction">>, Record#polyline.direction},
  59. {<<"display">>, Record#polyline.display},
  60. {<<"dominant-baseline">>, Record#polyline.dominant_baseline},
  61. {<<"enable-background">>, Record#polyline.enable_background},
  62. {<<"fill">>, Record#polyline.fill},
  63. {<<"fill-opacity">>, Record#polyline.fill_opacity},
  64. {<<"fill-rule">>, Record#polyline.fill_rule},
  65. {<<"filter">>, Record#polyline.filter},
  66. {<<"flood-color">>, Record#polyline.flood_color},
  67. {<<"flood-opacity">>, Record#polyline.flood_opacity},
  68. {<<"font-family">>, Record#polyline.font_family},
  69. {<<"font-size">>, Record#polyline.font_size},
  70. {<<"font-size-adjust">>, Record#polyline.font_size_adjust},
  71. {<<"font-stretch">>, Record#polyline.font_stretch},
  72. {<<"font-style">>, Record#polyline.font_style},
  73. {<<"font-variant">>, Record#polyline.font_variant},
  74. {<<"font-weight">>, Record#polyline.font_weight},
  75. {<<"glyph-orientation-horizontal">>, Record#polyline.glyph_orientation_horizontal},
  76. {<<"glyph-orientation-vertical">>, Record#polyline.glyph_orientation_vertical},
  77. {<<"image-rendering">>, Record#polyline.image_rendering},
  78. {<<"kerning">>, Record#polyline.kerning},
  79. {<<"letter-spacing">>, Record#polyline.letter_spacing},
  80. {<<"lighting-color">>, Record#polyline.lighting_color},
  81. {<<"marker-end">>, Record#polyline.marker_end},
  82. {<<"marker-mid">>, Record#polyline.marker_mid},
  83. {<<"marker-start">>, Record#polyline.marker_start},
  84. {<<"mask">>, Record#polyline.mask},
  85. {<<"opacity">>, Record#polyline.opacity},
  86. {<<"overflow">>, Record#polyline.overflow},
  87. {<<"pointer-events">>, Record#polyline.pointer_events},
  88. {<<"shape-rendering">>, Record#polyline.shape_rendering},
  89. {<<"stop-color">>, Record#polyline.stop_color},
  90. {<<"stop-opacity">>, Record#polyline.stop_opacity},
  91. {<<"stroke">>, Record#polyline.stroke},
  92. {<<"stroke-dasharray">>, Record#polyline.stroke_dasharray},
  93. {<<"stroke-dashoffset">>, Record#polyline.stroke_dashoffset},
  94. {<<"stroke-linecap">>, Record#polyline.stroke_linecap},
  95. {<<"stroke-linejoin">>, Record#polyline.stroke_linejoin},
  96. {<<"stroke-miterlimit">>, Record#polyline.stroke_miterlimit},
  97. {<<"stroke-opacity">>, Record#polyline.stroke_opacity},
  98. {<<"stroke-width">>, Record#polyline.stroke_width},
  99. {<<"text-anchor">>, Record#polyline.text_anchor},
  100. {<<"text-decoration">>, Record#polyline.text_decoration},
  101. {<<"text-rendering">>, Record#polyline.text_rendering},
  102. {<<"unicode-bidi">>, Record#polyline.unicode_bidi},
  103. {<<"visibility">>, Record#polyline.visibility},
  104. {<<"word-spacing">>, Record#polyline.word_spacing},
  105. {<<"writing-mode">>, Record#polyline.writing_mode}
  106. ].