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
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'annotation_label'
|
4
|
+
|
5
|
+
module ApexCharts::Options
|
6
|
+
module DrySchema
|
7
|
+
ImageAnnotations = ::Dry::Schema.Params do
|
8
|
+
optional(:height) { int? | float? }
|
9
|
+
optional(:path) { str? }
|
10
|
+
optional(:width) { int? | float? }
|
11
|
+
optional(:x) { int? | float? }
|
12
|
+
optional(:y) { int? | float? }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'annotation_label'
|
4
|
+
|
5
|
+
module ApexCharts::Options
|
6
|
+
module DrySchema
|
7
|
+
PointAnnotations = ::Dry::Schema.Params do
|
8
|
+
optional(:x) { int? | float? | str? }
|
9
|
+
optional(:y) { filled? > int? | float? }
|
10
|
+
optional(:yAxisIndex) { int? | float? }
|
11
|
+
optional(:seriesIndex) { int? | float? }
|
12
|
+
optional(:marker).hash do
|
13
|
+
optional(:size) { int? | float? }
|
14
|
+
optional(:fillColor) { str? }
|
15
|
+
optional(:strokeColor) { str? }
|
16
|
+
optional(:strokeWidth) { int? | float? }
|
17
|
+
optional(:shape) { str? }
|
18
|
+
optional(:offsetX) { int? | float? }
|
19
|
+
optional(:offsetY) { int? | float? }
|
20
|
+
optional(:radius) { int? | float? }
|
21
|
+
optional(:cssClass) { str? }
|
22
|
+
end
|
23
|
+
optional(:label).hash(AnnotationLabel)
|
24
|
+
optional(:image).hash do
|
25
|
+
optional(:height) { int? | float? }
|
26
|
+
optional(:offsetX) { int? | float? }
|
27
|
+
optional(:offsetY) { int? | float? }
|
28
|
+
optional(:path) { str? }
|
29
|
+
optional(:width) { int? | float? }
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'annotation_label'
|
4
|
+
|
5
|
+
module ApexCharts::Options
|
6
|
+
module DrySchema
|
7
|
+
TextAnnotations = ::Dry::Schema.Params do
|
8
|
+
optional(:backgroundColor) { str? }
|
9
|
+
optional(:borderColor) { str? }
|
10
|
+
optional(:borderRadius) { int? | float? }
|
11
|
+
optional(:borderWidth) { int? | float? }
|
12
|
+
optional(:fontFamily) { filled? > str? }
|
13
|
+
optional(:fontSize) { str? | int? | float? }
|
14
|
+
optional(:fontWeight) { str? | int? | float? }
|
15
|
+
optional(:foreColor) { str? }
|
16
|
+
optional(:paddingBottom) { int? | float? }
|
17
|
+
optional(:paddingLeft) { int? | float? }
|
18
|
+
optional(:paddingRight) { int? | float? }
|
19
|
+
optional(:paddingTop) { int? | float? }
|
20
|
+
optional(:text) { str? }
|
21
|
+
optional(:textAnchor) { str? }
|
22
|
+
optional(:x) { int? | float? }
|
23
|
+
optional(:y) { int? | float? }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'annotation_label'
|
4
|
+
|
5
|
+
module ApexCharts::Options
|
6
|
+
module DrySchema
|
7
|
+
XAxisAnnotations = ::Dry::Schema.Params do
|
8
|
+
optional(:borderColor) { str? }
|
9
|
+
optional(:borderWidth) { int? | float? }
|
10
|
+
optional(:fillColor) { str? }
|
11
|
+
optional(:label).hash(AnnotationLabel)
|
12
|
+
optional(:offsetX) { int? | float? }
|
13
|
+
optional(:offsetY) { int? | float? }
|
14
|
+
optional(:opacity) { int? | float? }
|
15
|
+
optional(:strokeDashArray) { int? | float? }
|
16
|
+
optional(:x) { filled? > int? | float? | str? }
|
17
|
+
optional(:x2) { filled? > int? | float? | str? }
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'annotation_label'
|
4
|
+
|
5
|
+
module ApexCharts::Options
|
6
|
+
module DrySchema
|
7
|
+
YAxisAnnotations = ::Dry::Schema.Params do
|
8
|
+
optional(:borderColor) { str? }
|
9
|
+
optional(:borderWidth) { int? | float? }
|
10
|
+
optional(:fillColor) { str? }
|
11
|
+
optional(:label).hash(AnnotationLabel)
|
12
|
+
optional(:offsetX) { int? | float? }
|
13
|
+
optional(:offsetY) { int? | float? }
|
14
|
+
optional(:opacity) { int? | float? }
|
15
|
+
optional(:strokeDashArray) { int? | float? }
|
16
|
+
optional(:y) { filled? > int? | float? | str? }
|
17
|
+
optional(:y2) { filled? > int? | float? | str? }
|
18
|
+
optional(:yAxisIndex) { int? | float? }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ApexCharts::Options
|
4
|
+
module DrySchema
|
5
|
+
class ChartOptions < Schema
|
6
|
+
define do
|
7
|
+
optional(:animations)
|
8
|
+
optional(:background)
|
9
|
+
optional(:brush)
|
10
|
+
optional(:defaultLocale)
|
11
|
+
optional(:dropShadow)
|
12
|
+
optional(:events)
|
13
|
+
optional(:fontFamily)
|
14
|
+
optional(:foreColor)
|
15
|
+
optional(:group)
|
16
|
+
optional(:height)
|
17
|
+
optional(:id)
|
18
|
+
optional(:locales)
|
19
|
+
optional(:offsetX)
|
20
|
+
optional(:offsetY)
|
21
|
+
optional(:parentHeightOffset)
|
22
|
+
optional(:redrawOnParentResize)
|
23
|
+
optional(:redrawOnWindowResize)
|
24
|
+
optional(:selection)
|
25
|
+
optional(:sparkline)
|
26
|
+
optional(:stackType)
|
27
|
+
optional(:stacked)
|
28
|
+
optional(:toolbar)
|
29
|
+
optional(:type)
|
30
|
+
optional(:width)
|
31
|
+
optional(:zoom)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'general_schema/function'
|
4
|
+
require_relative 'general_schema/drop_shadow'
|
5
|
+
|
6
|
+
module ApexCharts::Options
|
7
|
+
module DrySchema
|
8
|
+
class DataLabelsOptions < Schema
|
9
|
+
define do
|
10
|
+
optional(:background).hash do
|
11
|
+
optional(:borderColor) { str? }
|
12
|
+
optional(:borderRadius) { int? | float? }
|
13
|
+
optional(:borderWidth) { int? | float? }
|
14
|
+
optional(:dropShadow).hash(DropShadow)
|
15
|
+
optional(:enabled) { bool? }
|
16
|
+
optional(:foreColor) { str? }
|
17
|
+
optional(:opacity) { int? | float? }
|
18
|
+
optional(:padding) { int? | float? }
|
19
|
+
end
|
20
|
+
optional(:distributed) { bool? }
|
21
|
+
optional(:dropShadow).hash(DropShadow)
|
22
|
+
optional(:enabled) { bool? }
|
23
|
+
optional(:enabledOnSeries) { !nil? > (int? | float?) }
|
24
|
+
optional(:formatter).hash(Function)
|
25
|
+
optional(:offsetX) { int? | float? }
|
26
|
+
optional(:offsetY) { int? | float? }
|
27
|
+
optional(:style).hash do
|
28
|
+
optional(:colors) { array? & each { str? } }
|
29
|
+
optional(:fontFamily) { str? }
|
30
|
+
optional(:fontSize) { str? }
|
31
|
+
optional(:fontWeight) { str? | int? | float? }
|
32
|
+
end
|
33
|
+
optional(:textAnchor) { included_in? %w[start middle end] }
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ApexCharts::Options
|
4
|
+
module DrySchema
|
5
|
+
class FillOptions < Schema
|
6
|
+
define do
|
7
|
+
optional(:colors) { array? }
|
8
|
+
optional(:gradient).hash do
|
9
|
+
optional(:gradientToColors) { array? & each { str? } }
|
10
|
+
optional(:inverseColors) { bool? }
|
11
|
+
optional(:opacityFrom) { int? | float? }
|
12
|
+
optional(:opacityTo) { int? | float? }
|
13
|
+
optional(:shade) { str? }
|
14
|
+
optional(:shadeIntensity) { int? | float? }
|
15
|
+
optional(:stops) { array? & each { int? | float? } }
|
16
|
+
optional(:type) { str? }
|
17
|
+
end
|
18
|
+
optional(:image).hash do
|
19
|
+
optional(:src) { str? | (array? & each { str? }) }
|
20
|
+
optional(:width) { int? | float? }
|
21
|
+
optional(:height) { int? | float? }
|
22
|
+
end
|
23
|
+
optional(:opacity) { int? | float? | (array? & each { str? }) }
|
24
|
+
optional(:pattern).hash do
|
25
|
+
optional(:height) { int? | float? }
|
26
|
+
optional(:strokeWidth) { int? | float? }
|
27
|
+
optional(:style) { str? | (array? & each { str? }) }
|
28
|
+
optional(:width) { int? | float? }
|
29
|
+
end
|
30
|
+
optional(:type) { str? | (array? & each { str? }) }
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ApexCharts::Options
|
4
|
+
module DrySchema
|
5
|
+
DropShadow = ::Dry::Schema.Params do
|
6
|
+
optional(:blur) { int? | float? }
|
7
|
+
optional(:color) { str? }
|
8
|
+
optional(:enabled) { bool? }
|
9
|
+
optional(:left) { int? | float? }
|
10
|
+
optional(:opacity) { int? | float? }
|
11
|
+
optional(:top) { int? | float? }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ApexCharts::Options
|
4
|
+
module DrySchema
|
5
|
+
class GridOptions < Schema
|
6
|
+
define do
|
7
|
+
optional(:borderColor)
|
8
|
+
optional(:column)
|
9
|
+
optional(:padding)
|
10
|
+
optional(:position)
|
11
|
+
optional(:row)
|
12
|
+
optional(:show)
|
13
|
+
optional(:strokeDashArray)
|
14
|
+
optional(:xaxis)
|
15
|
+
optional(:yaxis)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ApexCharts::Options
|
4
|
+
module DrySchema
|
5
|
+
class HelperOptions < Schema
|
6
|
+
define do
|
7
|
+
optional(:brushTarget)
|
8
|
+
optional(:class)
|
9
|
+
optional(:chartId)
|
10
|
+
optional(:defer)
|
11
|
+
optional(:group)
|
12
|
+
optional(:id)
|
13
|
+
optional(:style)
|
14
|
+
optional(:var)
|
15
|
+
optional(:xtitle)
|
16
|
+
optional(:xtype)
|
17
|
+
optional(:ytitle)
|
18
|
+
optional(:ytype)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'general_schema/function'
|
4
|
+
|
5
|
+
module ApexCharts::Options
|
6
|
+
module DrySchema
|
7
|
+
class LegendOptions < Schema
|
8
|
+
define do
|
9
|
+
optional(:containerMargin).hash do
|
10
|
+
optional(:left) { int? | float? }
|
11
|
+
optional(:top) { int? | float? }
|
12
|
+
end
|
13
|
+
optional(:customLegendItems) { array? & each { str? } }
|
14
|
+
optional(:floating) { bool? }
|
15
|
+
optional(:fontFamily) { str? }
|
16
|
+
optional(:fontSize) { str? }
|
17
|
+
optional(:fontWeight) { str? | int? | float? }
|
18
|
+
optional(:formatter).hash(Function)
|
19
|
+
optional(:height) { int? | float? }
|
20
|
+
optional(:horizontalAlign) { included_in?(%w[left center right]) }
|
21
|
+
optional(:inverseOrder) { bool? }
|
22
|
+
optional(:itemMargin).hash do
|
23
|
+
optional(:horizontal) { int? | float? }
|
24
|
+
optional(:vertical) { int? | float? }
|
25
|
+
end
|
26
|
+
optional(:labels).hash do
|
27
|
+
optional(:colors) { str? | (array? & each { str? }) }
|
28
|
+
optional(:useSeriesColors) { bool? }
|
29
|
+
end
|
30
|
+
optional(:markers).hash do
|
31
|
+
optional(:customHTML).hash(Function)
|
32
|
+
optional(:fillColors) { array? & each { str? } }
|
33
|
+
optional(:height) { int? | float? }
|
34
|
+
optional(:offsetX) { int? | float? }
|
35
|
+
optional(:offsetY) { int? | float? }
|
36
|
+
optional(:onClick).hash(Function)
|
37
|
+
optional(:radius) { int? | float? }
|
38
|
+
optional(:strokeColor) { str? }
|
39
|
+
optional(:strokeWidth) { int? | float? }
|
40
|
+
optional(:width) { int? | float? }
|
41
|
+
end
|
42
|
+
optional(:offsetX) { int? | float? }
|
43
|
+
optional(:offsetY) { int? | float? }
|
44
|
+
optional(:onItemClick).hash do
|
45
|
+
optional(:toggleDataSeries) { bool? }
|
46
|
+
end
|
47
|
+
optional(:onItemHover).hash do
|
48
|
+
optional(:highlightDataSeries) { bool? }
|
49
|
+
end
|
50
|
+
optional(:position) { included_in?(%w[top right bottom left]) }
|
51
|
+
optional(:show) { bool? }
|
52
|
+
optional(:showForNullSeries) { bool? }
|
53
|
+
optional(:showForSingleSeries) { bool? }
|
54
|
+
optional(:showForZeroSeries) { bool? }
|
55
|
+
optional(:textAnchor) { str? }
|
56
|
+
optional(:tooltipHoverFormatter).hash(Function)
|
57
|
+
optional(:width) { int? | float? }
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'general_schema/function'
|
4
|
+
require_relative 'markers_options/discrete_point'
|
5
|
+
|
6
|
+
module ApexCharts::Options
|
7
|
+
module DrySchema
|
8
|
+
class MarkersOptions < Schema
|
9
|
+
define do
|
10
|
+
optional(:colors) { array? & each { str? } }
|
11
|
+
optional(:discrete).array(DiscretePoint)
|
12
|
+
optional(:fillOpacity) { int? | float? | (array? & each { int? | float? }) }
|
13
|
+
optional(:height) { int? | float? }
|
14
|
+
optional(:hover).hash do
|
15
|
+
optional(:size) { int? | float? }
|
16
|
+
optional(:sizeOffset) { int? | float? }
|
17
|
+
end
|
18
|
+
optional(:offsetX) { int? | float? }
|
19
|
+
optional(:offsetY) { int? | float? }
|
20
|
+
optional(:onClick).hash(Function)
|
21
|
+
optional(:onDblClick).hash(Function)
|
22
|
+
optional(:radius) { int? | float? }
|
23
|
+
optional(:shape) { included_in?(%w[circle square]) | (array? & each { str? }) }
|
24
|
+
optional(:showNullDataPoints) { bool? }
|
25
|
+
optional(:size) { int? | float? | (array? & each { int? | float? }) }
|
26
|
+
optional(:strokeColor) { str? | (array? & each { str? }) }
|
27
|
+
optional(:strokeDashArray) { int? | float? | (array? & each { int? | float? }) }
|
28
|
+
optional(:strokeOpacity) { int? | float? | (array? & each { int? | float? }) }
|
29
|
+
optional(:strokeWidth) { int? | float? | (array? & each { int? | float? }) }
|
30
|
+
optional(:width) { int? | float? }
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ApexCharts::Options
|
4
|
+
module DrySchema
|
5
|
+
DiscretePoint = ::Dry::Schema.Params do
|
6
|
+
optional(:dataPointIndex) { int? | float? }
|
7
|
+
optional(:fillColor) { str? }
|
8
|
+
optional(:seriesIndex) { int? | float? }
|
9
|
+
optional(:size) { int? | float? }
|
10
|
+
optional(:strokeColor) { str? }
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ApexCharts::Options
|
4
|
+
module DrySchema
|
5
|
+
class NoDataOptions < Schema
|
6
|
+
define do
|
7
|
+
optional(:align)
|
8
|
+
optional(:offsetX)
|
9
|
+
optional(:offsetY)
|
10
|
+
optional(:style)
|
11
|
+
optional(:text)
|
12
|
+
optional(:verticalAlign)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,231 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'general_schema/function'
|
4
|
+
require_relative 'general_schema/drop_shadow'
|
5
|
+
|
6
|
+
module ApexCharts::Options
|
7
|
+
module DrySchema
|
8
|
+
class PlotOptions < Schema
|
9
|
+
define do
|
10
|
+
optional(:area).hash do
|
11
|
+
optional(:fillTo) { included_in? %w[origin end] }
|
12
|
+
end
|
13
|
+
optional(:bar).hash do
|
14
|
+
optional(:barHeight) { str? }
|
15
|
+
optional(:borderRadius) { int? | float? }
|
16
|
+
optional(:colors).hash do
|
17
|
+
optional(:backgroundBarColors) { array? & each { str? } }
|
18
|
+
optional(:backgroundBarOpacity) { int? | float? }
|
19
|
+
optional(:backgroundBarRadius) { int? | float? }
|
20
|
+
optional(:ranges).array(:hash) do
|
21
|
+
optional(:color) { str? }
|
22
|
+
optional(:from) { int? | float? }
|
23
|
+
optional(:to) { int? | float? }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
optional(:columnWidth) { str? }
|
27
|
+
optional(:dataLabels).hash do
|
28
|
+
optional(:hideOverflowingLabels) { bool? }
|
29
|
+
optional(:maxItems) { int? | float? }
|
30
|
+
optional(:orientation) { included_in? %w[horizontal vertical] }
|
31
|
+
optional(:position) { str? }
|
32
|
+
end
|
33
|
+
optional(:distributed) { bool? }
|
34
|
+
optional(:endingShape) { included_in? %w[flat rounded] }
|
35
|
+
optional(:horizontal) { bool? }
|
36
|
+
optional(:rangeBarOverlap) { bool? }
|
37
|
+
optional(:rangeBarGroupRows) { bool? }
|
38
|
+
optional(:startingShape) { included_in? %w[flat rounded] }
|
39
|
+
end
|
40
|
+
optional(:boxPlot).hash do
|
41
|
+
optional(:colors).hash do
|
42
|
+
optional(:upper) { str? }
|
43
|
+
optional(:lower) { str? }
|
44
|
+
end
|
45
|
+
end
|
46
|
+
optional(:bubble).hash do
|
47
|
+
optional(:maxBubbleRadius) { int? | float? }
|
48
|
+
optional(:minBubbleRadius) { int? | float? }
|
49
|
+
end
|
50
|
+
optional(:candlestick).hash do
|
51
|
+
optional(:colors).hash do
|
52
|
+
optional(:upward) { str? }
|
53
|
+
optional(:downward) { str? }
|
54
|
+
end
|
55
|
+
optional(:wick).hash do
|
56
|
+
optional(:useFillColor) { bool? }
|
57
|
+
end
|
58
|
+
end
|
59
|
+
optional(:heatmap).hash do
|
60
|
+
optional(:colorScale).hash do
|
61
|
+
optional(:inverse) { bool? }
|
62
|
+
optional(:max) { int? | float? }
|
63
|
+
optional(:min) { int? | float? }
|
64
|
+
optional(:ranges).array(:hash) do
|
65
|
+
optional(:color) { str? }
|
66
|
+
optional(:foreColor) { str? }
|
67
|
+
optional(:from) { int? | float? }
|
68
|
+
optional(:name) { str? }
|
69
|
+
optional(:to) { int? | float? }
|
70
|
+
end
|
71
|
+
end
|
72
|
+
optional(:distributed) { bool? }
|
73
|
+
optional(:enableShades) { bool? }
|
74
|
+
optional(:radius) { int? | float? }
|
75
|
+
optional(:reverseNegativeShade) { bool? }
|
76
|
+
optional(:shadeIntensity) { int? | float? }
|
77
|
+
optional(:useFillColorAsStroke) { bool? }
|
78
|
+
end
|
79
|
+
optional(:pie).hash do
|
80
|
+
optional(:customScale) { int? | float? }
|
81
|
+
optional(:dataLabels).hash do
|
82
|
+
optional(:minAngleToShowLabel) { int? | float? }
|
83
|
+
optional(:offset) { int? | float? }
|
84
|
+
end
|
85
|
+
optional(:donut).hash do
|
86
|
+
optional(:background) { str? }
|
87
|
+
optional(:labels).hash do
|
88
|
+
optional(:name).hash do
|
89
|
+
optional(:color) { str? }
|
90
|
+
optional(:fontFamily) { str? }
|
91
|
+
optional(:fontSize) { str? }
|
92
|
+
optional(:fontWeight) { str? | int? | float? }
|
93
|
+
optional(:formatter).hash(Function)
|
94
|
+
optional(:offsetY) { int? | float? }
|
95
|
+
optional(:show) { bool? }
|
96
|
+
end
|
97
|
+
optional(:show) { bool? }
|
98
|
+
optional(:total).hash do
|
99
|
+
optional(:color) { str? }
|
100
|
+
optional(:fontFamily) { str? }
|
101
|
+
optional(:fontSize) { str? }
|
102
|
+
optional(:fontWeight) { str? | int? | float? }
|
103
|
+
optional(:formatter).hash(Function)
|
104
|
+
optional(:label) { str? }
|
105
|
+
optional(:offsetY) { int? | float? }
|
106
|
+
optional(:show) { bool? }
|
107
|
+
optional(:showAlways) { bool? }
|
108
|
+
end
|
109
|
+
optional(:value).hash do
|
110
|
+
optional(:color) { str? }
|
111
|
+
optional(:fontFamily) { str? }
|
112
|
+
optional(:fontSize) { str? }
|
113
|
+
optional(:fontWeight) { str? | int? | float? }
|
114
|
+
optional(:formatter).hash(Function)
|
115
|
+
optional(:offsetY) { int? | float? }
|
116
|
+
optional(:show) { bool? }
|
117
|
+
end
|
118
|
+
end
|
119
|
+
optional(:size) { str? }
|
120
|
+
end
|
121
|
+
optional(:expandOnClick) { int? | float? }
|
122
|
+
optional(:offsetX) { int? | float? }
|
123
|
+
optional(:offsetY) { int? | float? }
|
124
|
+
optional(:startAngle) { int? | float? }
|
125
|
+
optional(:endAngle) { int? | float? }
|
126
|
+
end
|
127
|
+
optional(:polarArea).hash do
|
128
|
+
optional(:rings).hash do
|
129
|
+
optional(:strokeColor) { str? }
|
130
|
+
optional(:strokeWidth) { int? | float? }
|
131
|
+
end
|
132
|
+
optional(:spokes).hash do
|
133
|
+
optional(:connectorColors) { str? | (array? & each { str? }) }
|
134
|
+
optional(:strokeWidth) { int? | float? }
|
135
|
+
end
|
136
|
+
end
|
137
|
+
optional(:radar).hash do
|
138
|
+
optional(:offsetX) { int? | float? }
|
139
|
+
optional(:offsetY) { int? | float? }
|
140
|
+
optional(:polygons).hash do
|
141
|
+
optional(:connectorColors) { str? | (array? & each { str? }) }
|
142
|
+
optional(:fill).hash do
|
143
|
+
optional(:colors) { str? | (array? & each { str? }) }
|
144
|
+
end
|
145
|
+
optional(:strokeColors) { str? | (array? & each { str? }) }
|
146
|
+
optional(:strokeWidth) { str? | (array? & each { str? }) }
|
147
|
+
end
|
148
|
+
optional(:size) { int? | float? }
|
149
|
+
end
|
150
|
+
optional(:radialBar).hash do
|
151
|
+
optional(:dataLabels).hash do
|
152
|
+
optional(:name).hash do
|
153
|
+
optional(:color) { str? }
|
154
|
+
optional(:fontFamily) { str? }
|
155
|
+
optional(:fontSize) { str? }
|
156
|
+
optional(:fontWeight) { str? | int? | float? }
|
157
|
+
optional(:offsetY) { int? | float? }
|
158
|
+
optional(:show) { bool? }
|
159
|
+
end
|
160
|
+
optional(:show) { bool? }
|
161
|
+
optional(:total).hash do
|
162
|
+
optional(:color) { str? }
|
163
|
+
optional(:fontFamily) { str? }
|
164
|
+
optional(:fontSize) { str? }
|
165
|
+
optional(:fontWeight) { str? | int? | float? }
|
166
|
+
optional(:formatter).hash(Function)
|
167
|
+
optional(:label) { str? }
|
168
|
+
optional(:show) { bool? }
|
169
|
+
end
|
170
|
+
optional(:value).hash do
|
171
|
+
optional(:color) { str? }
|
172
|
+
optional(:fontFamily) { str? }
|
173
|
+
optional(:fontSize) { str? }
|
174
|
+
optional(:fontWeight) { str? | int? | float? }
|
175
|
+
optional(:formatter).hash(Function)
|
176
|
+
optional(:offsetY) { int? | float? }
|
177
|
+
optional(:show) { bool? }
|
178
|
+
end
|
179
|
+
end
|
180
|
+
optional(:endAngle) { int? | float? }
|
181
|
+
optional(:hollow).hash do
|
182
|
+
optional(:background) { str? }
|
183
|
+
optional(:dropShadow).hash(DropShadow)
|
184
|
+
optional(:image) { str? }
|
185
|
+
optional(:imageClipped) { bool? }
|
186
|
+
optional(:imageHeight) { int? | float? }
|
187
|
+
optional(:imageOffsetX) { int? | float? }
|
188
|
+
optional(:imageOffsetY) { int? | float? }
|
189
|
+
optional(:imageWidth) { int? | float? }
|
190
|
+
optional(:margin) { int? | float? }
|
191
|
+
optional(:position) { included_in?(%w[front back]) }
|
192
|
+
optional(:size) { str? }
|
193
|
+
end
|
194
|
+
optional(:inverseOrder) { bool? }
|
195
|
+
optional(:offsetX) { int? | float? }
|
196
|
+
optional(:offsetY) { int? | float? }
|
197
|
+
optional(:startAngle) { int? | float? }
|
198
|
+
optional(:track).hash do
|
199
|
+
optional(:background) { str? }
|
200
|
+
optional(:dropShadow).hash(DropShadow)
|
201
|
+
optional(:endAngle) { int? | float? }
|
202
|
+
optional(:margin) { int? | float? }
|
203
|
+
optional(:opacity) { int? | float? }
|
204
|
+
optional(:show) { bool? }
|
205
|
+
optional(:startAngle) { int? | float? }
|
206
|
+
optional(:strokeWidth) { str? }
|
207
|
+
end
|
208
|
+
end
|
209
|
+
optional(:treemap).hash do
|
210
|
+
optional(:colorScale).hash do
|
211
|
+
optional(:inverse) { bool? }
|
212
|
+
optional(:max) { int? | float? }
|
213
|
+
optional(:min) { int? | float? }
|
214
|
+
optional(:ranges).array(:hash) do
|
215
|
+
optional(:color) { str? }
|
216
|
+
optional(:foreColor) { str? }
|
217
|
+
optional(:from) { int? | float? }
|
218
|
+
optional(:name) { str? }
|
219
|
+
optional(:to) { int? | float? }
|
220
|
+
end
|
221
|
+
end
|
222
|
+
optional(:distributed) { bool? }
|
223
|
+
optional(:enableShades) { bool? }
|
224
|
+
optional(:reverseNegativeShade) { bool? }
|
225
|
+
optional(:shadeIntensity) { int? | float? }
|
226
|
+
optional(:useFillColorAsStroke) { bool? }
|
227
|
+
end
|
228
|
+
end
|
229
|
+
end
|
230
|
+
end
|
231
|
+
end
|