element_view.erl 850 B

123456789101112131415161718192021222324252627282930
  1. -module(element_view).
  2. -author('Konstantin Zakablukovsky').
  3. -include("nitro.hrl").
  4. -compile(export_all).
  5. render_element(Record) ->
  6. wf_tags:emit_tag(<<"view">>, nitro:render(Record#view.body),
  7. lists:append([
  8. [
  9. {<<"id">>, Record#view.id},
  10. {<<"class">>, Record#view.class},
  11. {<<"style">>, Record#view.style},
  12. {<<"viewBox">>, Record#view.viewBox},
  13. {<<"preserveAspectRatio">>, Record#view.preserveAspectRatio},
  14. {<<"zoomAndPan">>, Record#view.zoomAndPan},
  15. {<<"viewTarget">>, Record#view.viewTarget},
  16. {<<"externalResourcesRequired">>, Record#view.externalResourcesRequired}
  17. ],
  18. svg_core(Record),
  19. Record#view.data_fields,
  20. Record#view.aria_states
  21. ])).
  22. %% Common SVG attributes
  23. svg_core(Record)-> [
  24. {<<"xml:base">>, Record#view.xmlbase},
  25. {<<"xml:lang">>, Record#view.xmllang},
  26. {<<"xml:space">>, Record#view.xmlspace}
  27. ].