Class: ApexCharts::Renderer
- Inherits:
-
Object
- Object
- ApexCharts::Renderer
- Defined in:
- lib/apexcharts/renderer.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Class Method Summary collapse
Instance Method Summary collapse
- #attributes ⇒ Object
- #css_class ⇒ Object
- #element_id ⇒ Object
- #height ⇒ Object
- #id_number ⇒ Object
-
#initialize(options) ⇒ Renderer
constructor
A new instance of Renderer.
- #style ⇒ Object
- #variable ⇒ Object
- #window_apex ⇒ Object
Constructor Details
#initialize(options) ⇒ Renderer
Returns a new instance of Renderer.
28 29 30 |
# File 'lib/apexcharts/renderer.rb', line 28 def initialize() @options = end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
26 27 28 |
# File 'lib/apexcharts/renderer.rb', line 26 def @options end |
Class Method Details
.render_default(options) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/apexcharts/renderer.rb', line 8 def render_default() renderer = new html = if renderer.id_number == '1' && !ApexCharts.config..empty? renderer.window_apex else '' end html + <<~HTML <div id="#{renderer.element_id}" class="#{renderer.css_class}" style="#{renderer.style}"></div> <script type="text/javascript"> var #{renderer.variable} = new ApexCharts(document.querySelector("##{renderer.element_id}"), #{renderer..to_json}); #{renderer.variable}.render(); </script> HTML end |
Instance Method Details
#attributes ⇒ Object
32 33 34 |
# File 'lib/apexcharts/renderer.rb', line 32 def attributes @attributes ||= .delete(:div) { {} } end |
#css_class ⇒ Object
48 49 50 |
# File 'lib/apexcharts/renderer.rb', line 48 def css_class attributes.delete(:class) end |
#element_id ⇒ Object
36 37 38 |
# File 'lib/apexcharts/renderer.rb', line 36 def element_id @element_id ||= attributes.delete(:id) end |
#height ⇒ Object
52 53 54 |
# File 'lib/apexcharts/renderer.rb', line 52 def height "#{[:chart][:height].to_i}px" end |
#id_number ⇒ Object
40 41 42 |
# File 'lib/apexcharts/renderer.rb', line 40 def id_number @id_number ||= element_id&.[](/\d+/) end |
#style ⇒ Object
56 57 58 |
# File 'lib/apexcharts/renderer.rb', line 56 def style "height: #{height}; #{attributes.delete(:style)}" end |
#variable ⇒ Object
44 45 46 |
# File 'lib/apexcharts/renderer.rb', line 44 def variable @variable ||= attributes.delete(:var) { "chart#{id_number}" } end |
#window_apex ⇒ Object
60 61 62 63 64 65 66 |
# File 'lib/apexcharts/renderer.rb', line 60 def window_apex <<~HTML <script type="text/javascript"> window.Apex = #{ApexCharts.config..to_json} </script> HTML end |