Class: Lutaml::Xsd::Spa::Svg::Renderers::ElementRenderer

Inherits:
ComponentRenderer show all
Defined in:
lib/lutaml/xsd/spa/svg/renderers/element_renderer.rb

Overview

Renders XSD element components

Instance Attribute Summary

Attributes inherited from ComponentRenderer

#config, #schema_name

Instance Method Summary collapse

Methods inherited from ComponentRenderer

#initialize

Constructor Details

This class inherits a constructor from Lutaml::Xsd::Spa::Svg::ComponentRenderer

Instance Method Details

#render(component_data, box) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/lutaml/xsd/spa/svg/renderers/element_renderer.rb', line 12

def render(component_data, box)
  name = component_data["name"]

  # Get component rule
  rule = config.component_rule("element")

  # Determine if clickable
  content = if rule.clickable?
              create_link(semantic_uri("elements", name)) do
                render_box_and_text(box, name, rule, component_data)
              end
            else
              render_box_and_text(box, name, rule, component_data)
            end

  Utils::SvgBuilder.group({ class: "element-box" }) { content }
end