apexcharts 0.1.7 → 0.1.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +138 -71
- data/lib/apex_charts/charts.rb +17 -0
- data/lib/{apexcharts/charts/area.rb → apex_charts/charts/area_chart.rb} +1 -1
- data/lib/{apexcharts/charts/bar.rb → apex_charts/charts/bar_chart.rb} +1 -1
- data/lib/{apexcharts/charts/base.rb → apex_charts/charts/base_chart.rb} +6 -4
- data/lib/apex_charts/charts/box_plot_chart.rb +8 -0
- data/lib/{apexcharts/charts/bubble.rb → apex_charts/charts/bubble_chart.rb} +2 -2
- data/lib/{apexcharts/charts/candlestick.rb → apex_charts/charts/candlestick_chart.rb} +1 -1
- data/lib/{apexcharts/charts/cartesian.rb → apex_charts/charts/cartesian_chart.rb} +9 -9
- data/lib/{apexcharts/charts/column.rb → apex_charts/charts/column_chart.rb} +3 -1
- data/lib/{apexcharts/charts/donut.rb → apex_charts/charts/donut_chart.rb} +1 -1
- data/lib/{apexcharts → apex_charts}/charts/features/annotations.rb +7 -5
- data/lib/{apexcharts → apex_charts}/charts/features/mixable.rb +1 -1
- data/lib/{apexcharts/charts/heatmap.rb → apex_charts/charts/heatmap_chart.rb} +2 -2
- data/lib/{apexcharts/charts/line.rb → apex_charts/charts/line_chart.rb} +1 -1
- data/lib/{apexcharts/charts/mixed.rb → apex_charts/charts/mixed_charts.rb} +13 -7
- data/lib/{apexcharts/charts/pie.rb → apex_charts/charts/pie_chart.rb} +1 -1
- data/lib/apex_charts/charts/polar_chart.rb +9 -0
- data/lib/{apexcharts/charts/radar.rb → apex_charts/charts/radar_chart.rb} +2 -2
- data/lib/{apexcharts/charts/radial_bar.rb → apex_charts/charts/radial_bar_chart.rb} +1 -1
- data/lib/{apexcharts/charts/range_bar.rb → apex_charts/charts/range_bar_chart.rb} +1 -1
- data/lib/{apexcharts/charts/scatter.rb → apex_charts/charts/scatter_chart.rb} +1 -1
- data/lib/{apexcharts/charts/syncing.rb → apex_charts/charts/syncing_charts.rb} +2 -2
- data/lib/{apexcharts → apex_charts}/colors.rb +2 -1
- data/lib/apex_charts/config/default_options.rb +16 -0
- data/lib/apex_charts/config/schema.rb +20 -0
- data/lib/apex_charts/configuration.rb +27 -0
- data/lib/{apexcharts → apex_charts}/helper.rb +25 -24
- data/lib/apex_charts/options/default/annotations_options.rb +14 -0
- data/lib/apex_charts/options/default/chart_options.rb +33 -0
- data/lib/apex_charts/options/default/data_labels_options.rb +18 -0
- data/lib/apex_charts/options/default/fill_options.rb +14 -0
- data/lib/apex_charts/options/default/grid_options.rb +17 -0
- data/lib/apex_charts/options/default/helper_options.rb +22 -0
- data/lib/apex_charts/options/default/legend_options.rb +33 -0
- data/lib/apex_charts/options/default/markers_options.rb +26 -0
- data/lib/apex_charts/options/default/no_data_options.rb +14 -0
- data/lib/apex_charts/options/default/plot_options.rb +19 -0
- data/lib/apex_charts/options/default/root_options.rb +38 -0
- data/lib/apex_charts/options/default/states_options.rb +11 -0
- data/lib/apex_charts/options/default/stroke_options.rb +14 -0
- data/lib/apex_charts/options/default/theme_options.rb +11 -0
- data/lib/apex_charts/options/default/title_subtitle_options.rb +15 -0
- data/lib/apex_charts/options/default/tooltip_options.rb +25 -0
- data/lib/apex_charts/options/default/x_axis_options.rb +27 -0
- data/lib/apex_charts/options/default/y_axis_options.rb +28 -0
- data/lib/apex_charts/options/dry_schema/annotations_options.rb +22 -0
- data/lib/apex_charts/options/dry_schema/annotations_options/annotation_label.rb +24 -0
- data/lib/apex_charts/options/dry_schema/annotations_options/image_annotations.rb +15 -0
- data/lib/apex_charts/options/dry_schema/annotations_options/point_annotations.rb +33 -0
- data/lib/apex_charts/options/dry_schema/annotations_options/text_annotations.rb +26 -0
- data/lib/apex_charts/options/dry_schema/annotations_options/x_axis_annotations.rb +20 -0
- data/lib/apex_charts/options/dry_schema/annotations_options/y_axis_annotations.rb +21 -0
- data/lib/apex_charts/options/dry_schema/chart_options.rb +35 -0
- data/lib/apex_charts/options/dry_schema/data_labels_options.rb +37 -0
- data/lib/apex_charts/options/dry_schema/fill_options.rb +34 -0
- data/lib/apex_charts/options/dry_schema/general_schema/drop_shadow.rb +14 -0
- data/lib/apex_charts/options/dry_schema/general_schema/function.rb +12 -0
- data/lib/apex_charts/options/dry_schema/grid_options.rb +19 -0
- data/lib/apex_charts/options/dry_schema/helper_options.rb +22 -0
- data/lib/apex_charts/options/dry_schema/legend_options.rb +61 -0
- data/lib/apex_charts/options/dry_schema/markers_options.rb +34 -0
- data/lib/apex_charts/options/dry_schema/markers_options/discrete_point.rb +13 -0
- data/lib/apex_charts/options/dry_schema/no_data_options.rb +16 -0
- data/lib/apex_charts/options/dry_schema/plot_options.rb +231 -0
- data/lib/apex_charts/options/dry_schema/root_options.rb +42 -0
- data/lib/apex_charts/options/dry_schema/schema.rb +32 -0
- data/lib/apex_charts/options/dry_schema/states_options.rb +22 -0
- data/lib/apex_charts/options/dry_schema/states_options/filter.rb +10 -0
- data/lib/apex_charts/options/dry_schema/stroke_options.rb +21 -0
- data/lib/apex_charts/options/dry_schema/theme_options.rb +18 -0
- data/lib/apex_charts/options/dry_schema/title_subtitle_options.rb +22 -0
- data/lib/apex_charts/options/dry_schema/tooltip_options.rb +27 -0
- data/lib/apex_charts/options/dry_schema/x_axis_options.rb +30 -0
- data/lib/apex_charts/options/dry_schema/y_axis_options.rb +30 -0
- data/lib/{apexcharts → apex_charts}/options_builder.rb +63 -40
- data/lib/{apexcharts → apex_charts}/prefix_with_apex.rb +3 -1
- data/lib/{apexcharts → apex_charts}/prefixer.rb +2 -0
- data/lib/apex_charts/renderer.rb +113 -0
- data/lib/apex_charts/series.rb +7 -0
- data/lib/{apexcharts/series/bubble.rb → apex_charts/series/bubble_series.rb} +4 -2
- data/lib/{apexcharts/series/cartesian.rb → apex_charts/series/cartesian_series.rb} +4 -2
- data/lib/{apexcharts/series/polar.rb → apex_charts/series/polar_series.rb} +4 -2
- data/lib/{apexcharts → apex_charts}/support/rails.rb +0 -0
- data/lib/{apexcharts → apex_charts}/support/sinatra.rb +0 -0
- data/lib/{apexcharts → apex_charts}/theme.rb +2 -18
- data/lib/{apexcharts → apex_charts}/utils.rb +0 -0
- data/lib/{apexcharts → apex_charts}/utils/copy.rb +2 -0
- data/lib/{apexcharts → apex_charts}/utils/date_time.rb +7 -2
- data/lib/{apexcharts → apex_charts}/utils/hash.rb +2 -0
- data/lib/{apexcharts → apex_charts}/version.rb +2 -1
- data/lib/apexcharts.rb +3 -3
- data/vendor/assets/javascripts/apexcharts.js +11 -3
- metadata +103 -74
- data/lib/apexcharts/charts.rb +0 -13
- data/lib/apexcharts/charts/polar.rb +0 -7
- data/lib/apexcharts/config.rb +0 -25
- data/lib/apexcharts/config/default_options.rb +0 -12
- data/lib/apexcharts/options/annotations.rb +0 -10
- data/lib/apexcharts/options/axis.rb +0 -17
- data/lib/apexcharts/options/chart.rb +0 -26
- data/lib/apexcharts/options/data_labels.rb +0 -14
- data/lib/apexcharts/options/div_attributes.rb +0 -9
- data/lib/apexcharts/options/fill.rb +0 -12
- data/lib/apexcharts/options/grid.rb +0 -15
- data/lib/apexcharts/options/legend.rb +0 -27
- data/lib/apexcharts/options/markers.rb +0 -18
- data/lib/apexcharts/options/no_data.rb +0 -12
- data/lib/apexcharts/options/plot_options.rb +0 -12
- data/lib/apexcharts/options/root.rb +0 -44
- data/lib/apexcharts/options/states.rb +0 -9
- data/lib/apexcharts/options/stroke.rb +0 -12
- data/lib/apexcharts/options/subtitle.rb +0 -9
- data/lib/apexcharts/options/theme.rb +0 -8
- data/lib/apexcharts/options/title.rb +0 -13
- data/lib/apexcharts/options/tooltip.rb +0 -22
- data/lib/apexcharts/options/x_axis.rb +0 -12
- data/lib/apexcharts/options/y_axis.rb +0 -15
- data/lib/apexcharts/renderer.rb +0 -68
- data/lib/apexcharts/series.rb +0 -7
data/lib/apexcharts/charts.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module ApexCharts
|
4
|
-
%w(
|
5
|
-
base cartesian line area bar column scatter candlestick
|
6
|
-
heatmap bubble radar mixed syncing polar pie donut
|
7
|
-
).each do |type|
|
8
|
-
autoload :"#{type.capitalize}Chart", "apexcharts/charts/#{type}.rb"
|
9
|
-
end
|
10
|
-
|
11
|
-
autoload :RangeBarChart, 'apexcharts/charts/range_bar.rb'
|
12
|
-
autoload :RadialBarChart, 'apexcharts/charts/radial_bar.rb'
|
13
|
-
end
|
data/lib/apexcharts/config.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
require_relative 'config/default_options'
|
2
|
-
|
3
|
-
module ApexCharts
|
4
|
-
class << self
|
5
|
-
def helper_prefix
|
6
|
-
@@helper_prefix ||= ENV['APEXCHARTS_PREFIX']
|
7
|
-
end
|
8
|
-
|
9
|
-
def helper_prefix=(prefix)
|
10
|
-
@@helper_prefix = prefix
|
11
|
-
end
|
12
|
-
|
13
|
-
def configure
|
14
|
-
block_given? ? yield(config) : config
|
15
|
-
end
|
16
|
-
|
17
|
-
def config
|
18
|
-
@@config ||= Configuration.new
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
class Configuration
|
23
|
-
include DefaultOptions
|
24
|
-
end
|
25
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
module ApexCharts
|
2
|
-
class ChartOptions < ::SmartKv
|
3
|
-
optional *%i[
|
4
|
-
animations
|
5
|
-
background
|
6
|
-
brush
|
7
|
-
defaultLocale
|
8
|
-
dropShadow
|
9
|
-
events
|
10
|
-
fontFamily
|
11
|
-
foreColor
|
12
|
-
height
|
13
|
-
id
|
14
|
-
locales
|
15
|
-
parentHeightOffset
|
16
|
-
selection
|
17
|
-
sparkline
|
18
|
-
stackType
|
19
|
-
stacked
|
20
|
-
toolbar
|
21
|
-
type
|
22
|
-
width
|
23
|
-
zoom
|
24
|
-
]
|
25
|
-
end
|
26
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
module ApexCharts
|
2
|
-
class LegendOptions < ::SmartKv
|
3
|
-
optional *%i[
|
4
|
-
containerMargin
|
5
|
-
floating
|
6
|
-
fontFamily
|
7
|
-
fontSize
|
8
|
-
formatter
|
9
|
-
height
|
10
|
-
horizontalAlign
|
11
|
-
itemMargin
|
12
|
-
labels
|
13
|
-
markers
|
14
|
-
offsetX
|
15
|
-
offsetY
|
16
|
-
onItemClick
|
17
|
-
onItemHover
|
18
|
-
position
|
19
|
-
show
|
20
|
-
showForNullSeries
|
21
|
-
showForSingleSeries
|
22
|
-
showForZeroSeries
|
23
|
-
textAnchor
|
24
|
-
width
|
25
|
-
]
|
26
|
-
end
|
27
|
-
end
|
@@ -1,44 +0,0 @@
|
|
1
|
-
require_relative 'div_attributes'
|
2
|
-
require_relative 'chart'
|
3
|
-
require_relative 'stroke'
|
4
|
-
require_relative 'states'
|
5
|
-
|
6
|
-
module ApexCharts
|
7
|
-
class RootOptions < ::SmartKv
|
8
|
-
optional *%i[
|
9
|
-
annotations
|
10
|
-
brushTarget
|
11
|
-
chart
|
12
|
-
chartId
|
13
|
-
colors
|
14
|
-
dataLabels
|
15
|
-
fill
|
16
|
-
grid
|
17
|
-
group
|
18
|
-
labels
|
19
|
-
legend
|
20
|
-
markers
|
21
|
-
noData
|
22
|
-
plotOptions
|
23
|
-
responsive
|
24
|
-
series
|
25
|
-
states
|
26
|
-
stroke
|
27
|
-
subtitle
|
28
|
-
theme
|
29
|
-
title
|
30
|
-
tooltip
|
31
|
-
var
|
32
|
-
xaxis
|
33
|
-
xtitle
|
34
|
-
xtype
|
35
|
-
yaxis
|
36
|
-
ytitle
|
37
|
-
ytype
|
38
|
-
],
|
39
|
-
*DivAttributes.optional_keys,
|
40
|
-
*ChartOptions.optional_keys,
|
41
|
-
*StrokeOptions.optional_keys,
|
42
|
-
*StatesOptions.optional_keys
|
43
|
-
end
|
44
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
module ApexCharts
|
2
|
-
class TooltipOptions < ::SmartKv
|
3
|
-
optional *%i[
|
4
|
-
custom
|
5
|
-
enabled
|
6
|
-
fillSeriesColor
|
7
|
-
fixed
|
8
|
-
followCursor
|
9
|
-
intersect
|
10
|
-
inverseOrder
|
11
|
-
items
|
12
|
-
marker
|
13
|
-
onDatasetHover
|
14
|
-
shared
|
15
|
-
style
|
16
|
-
theme
|
17
|
-
x
|
18
|
-
y
|
19
|
-
z
|
20
|
-
]
|
21
|
-
end
|
22
|
-
end
|
data/lib/apexcharts/renderer.rb
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'json'
|
4
|
-
|
5
|
-
module ApexCharts
|
6
|
-
class Renderer
|
7
|
-
class << self
|
8
|
-
def render_default(options)
|
9
|
-
renderer = new options
|
10
|
-
|
11
|
-
html = if renderer.id_number == '1' && !ApexCharts.config.default_options.empty?
|
12
|
-
renderer.window_apex
|
13
|
-
else
|
14
|
-
''
|
15
|
-
end
|
16
|
-
html + <<~HTML
|
17
|
-
<div id="#{renderer.element_id}" class="#{renderer.css_class}" style="#{renderer.style}"></div>
|
18
|
-
<script type="text/javascript">
|
19
|
-
var #{renderer.variable} = new ApexCharts(document.querySelector("##{renderer.element_id}"), #{renderer.options.to_json});
|
20
|
-
#{renderer.variable}.render();
|
21
|
-
</script>
|
22
|
-
HTML
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
attr_reader :options
|
27
|
-
|
28
|
-
def initialize(options)
|
29
|
-
@options = options
|
30
|
-
end
|
31
|
-
|
32
|
-
def attributes
|
33
|
-
@attributes ||= options.delete(:div) { {} }
|
34
|
-
end
|
35
|
-
|
36
|
-
def element_id
|
37
|
-
@element_id ||= attributes.delete(:id)
|
38
|
-
end
|
39
|
-
|
40
|
-
def id_number
|
41
|
-
@id_number ||= element_id&.[](/\d+/)
|
42
|
-
end
|
43
|
-
|
44
|
-
def variable
|
45
|
-
@variable ||= attributes.delete(:var) { "chart#{id_number}" }
|
46
|
-
end
|
47
|
-
|
48
|
-
def css_class
|
49
|
-
attributes.delete(:class)
|
50
|
-
end
|
51
|
-
|
52
|
-
def height
|
53
|
-
"#{options[:chart][:height].to_i}px"
|
54
|
-
end
|
55
|
-
|
56
|
-
def style
|
57
|
-
"height: #{height}; #{attributes.delete(:style)}"
|
58
|
-
end
|
59
|
-
|
60
|
-
def window_apex
|
61
|
-
<<~HTML
|
62
|
-
<script type="text/javascript">
|
63
|
-
window.Apex = #{ApexCharts.config.default_options.to_json}
|
64
|
-
</script>
|
65
|
-
HTML
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|