apexcharts 0.1.7 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +138 -71
  3. data/lib/apex_charts/charts.rb +17 -0
  4. data/lib/{apexcharts/charts/area.rb → apex_charts/charts/area_chart.rb} +1 -1
  5. data/lib/{apexcharts/charts/bar.rb → apex_charts/charts/bar_chart.rb} +1 -1
  6. data/lib/{apexcharts/charts/base.rb → apex_charts/charts/base_chart.rb} +6 -4
  7. data/lib/apex_charts/charts/box_plot_chart.rb +8 -0
  8. data/lib/{apexcharts/charts/bubble.rb → apex_charts/charts/bubble_chart.rb} +2 -2
  9. data/lib/{apexcharts/charts/candlestick.rb → apex_charts/charts/candlestick_chart.rb} +1 -1
  10. data/lib/{apexcharts/charts/cartesian.rb → apex_charts/charts/cartesian_chart.rb} +9 -9
  11. data/lib/{apexcharts/charts/column.rb → apex_charts/charts/column_chart.rb} +3 -1
  12. data/lib/{apexcharts/charts/donut.rb → apex_charts/charts/donut_chart.rb} +1 -1
  13. data/lib/{apexcharts → apex_charts}/charts/features/annotations.rb +7 -5
  14. data/lib/{apexcharts → apex_charts}/charts/features/mixable.rb +1 -1
  15. data/lib/{apexcharts/charts/heatmap.rb → apex_charts/charts/heatmap_chart.rb} +2 -2
  16. data/lib/{apexcharts/charts/line.rb → apex_charts/charts/line_chart.rb} +1 -1
  17. data/lib/{apexcharts/charts/mixed.rb → apex_charts/charts/mixed_charts.rb} +13 -7
  18. data/lib/{apexcharts/charts/pie.rb → apex_charts/charts/pie_chart.rb} +1 -1
  19. data/lib/apex_charts/charts/polar_chart.rb +9 -0
  20. data/lib/{apexcharts/charts/radar.rb → apex_charts/charts/radar_chart.rb} +2 -2
  21. data/lib/{apexcharts/charts/radial_bar.rb → apex_charts/charts/radial_bar_chart.rb} +1 -1
  22. data/lib/{apexcharts/charts/range_bar.rb → apex_charts/charts/range_bar_chart.rb} +1 -1
  23. data/lib/{apexcharts/charts/scatter.rb → apex_charts/charts/scatter_chart.rb} +1 -1
  24. data/lib/{apexcharts/charts/syncing.rb → apex_charts/charts/syncing_charts.rb} +2 -2
  25. data/lib/{apexcharts → apex_charts}/colors.rb +2 -1
  26. data/lib/apex_charts/config/default_options.rb +16 -0
  27. data/lib/apex_charts/config/schema.rb +20 -0
  28. data/lib/apex_charts/configuration.rb +27 -0
  29. data/lib/{apexcharts → apex_charts}/helper.rb +25 -24
  30. data/lib/apex_charts/options/default/annotations_options.rb +14 -0
  31. data/lib/apex_charts/options/default/chart_options.rb +33 -0
  32. data/lib/apex_charts/options/default/data_labels_options.rb +18 -0
  33. data/lib/apex_charts/options/default/fill_options.rb +14 -0
  34. data/lib/apex_charts/options/default/grid_options.rb +17 -0
  35. data/lib/apex_charts/options/default/helper_options.rb +22 -0
  36. data/lib/apex_charts/options/default/legend_options.rb +33 -0
  37. data/lib/apex_charts/options/default/markers_options.rb +26 -0
  38. data/lib/apex_charts/options/default/no_data_options.rb +14 -0
  39. data/lib/apex_charts/options/default/plot_options.rb +19 -0
  40. data/lib/apex_charts/options/default/root_options.rb +38 -0
  41. data/lib/apex_charts/options/default/states_options.rb +11 -0
  42. data/lib/apex_charts/options/default/stroke_options.rb +14 -0
  43. data/lib/apex_charts/options/default/theme_options.rb +11 -0
  44. data/lib/apex_charts/options/default/title_subtitle_options.rb +15 -0
  45. data/lib/apex_charts/options/default/tooltip_options.rb +25 -0
  46. data/lib/apex_charts/options/default/x_axis_options.rb +27 -0
  47. data/lib/apex_charts/options/default/y_axis_options.rb +28 -0
  48. data/lib/apex_charts/options/dry_schema/annotations_options.rb +22 -0
  49. data/lib/apex_charts/options/dry_schema/annotations_options/annotation_label.rb +24 -0
  50. data/lib/apex_charts/options/dry_schema/annotations_options/image_annotations.rb +15 -0
  51. data/lib/apex_charts/options/dry_schema/annotations_options/point_annotations.rb +33 -0
  52. data/lib/apex_charts/options/dry_schema/annotations_options/text_annotations.rb +26 -0
  53. data/lib/apex_charts/options/dry_schema/annotations_options/x_axis_annotations.rb +20 -0
  54. data/lib/apex_charts/options/dry_schema/annotations_options/y_axis_annotations.rb +21 -0
  55. data/lib/apex_charts/options/dry_schema/chart_options.rb +35 -0
  56. data/lib/apex_charts/options/dry_schema/data_labels_options.rb +37 -0
  57. data/lib/apex_charts/options/dry_schema/fill_options.rb +34 -0
  58. data/lib/apex_charts/options/dry_schema/general_schema/drop_shadow.rb +14 -0
  59. data/lib/apex_charts/options/dry_schema/general_schema/function.rb +12 -0
  60. data/lib/apex_charts/options/dry_schema/grid_options.rb +19 -0
  61. data/lib/apex_charts/options/dry_schema/helper_options.rb +22 -0
  62. data/lib/apex_charts/options/dry_schema/legend_options.rb +61 -0
  63. data/lib/apex_charts/options/dry_schema/markers_options.rb +34 -0
  64. data/lib/apex_charts/options/dry_schema/markers_options/discrete_point.rb +13 -0
  65. data/lib/apex_charts/options/dry_schema/no_data_options.rb +16 -0
  66. data/lib/apex_charts/options/dry_schema/plot_options.rb +231 -0
  67. data/lib/apex_charts/options/dry_schema/root_options.rb +42 -0
  68. data/lib/apex_charts/options/dry_schema/schema.rb +32 -0
  69. data/lib/apex_charts/options/dry_schema/states_options.rb +22 -0
  70. data/lib/apex_charts/options/dry_schema/states_options/filter.rb +10 -0
  71. data/lib/apex_charts/options/dry_schema/stroke_options.rb +21 -0
  72. data/lib/apex_charts/options/dry_schema/theme_options.rb +18 -0
  73. data/lib/apex_charts/options/dry_schema/title_subtitle_options.rb +22 -0
  74. data/lib/apex_charts/options/dry_schema/tooltip_options.rb +27 -0
  75. data/lib/apex_charts/options/dry_schema/x_axis_options.rb +30 -0
  76. data/lib/apex_charts/options/dry_schema/y_axis_options.rb +30 -0
  77. data/lib/{apexcharts → apex_charts}/options_builder.rb +63 -40
  78. data/lib/{apexcharts → apex_charts}/prefix_with_apex.rb +3 -1
  79. data/lib/{apexcharts → apex_charts}/prefixer.rb +2 -0
  80. data/lib/apex_charts/renderer.rb +113 -0
  81. data/lib/apex_charts/series.rb +7 -0
  82. data/lib/{apexcharts/series/bubble.rb → apex_charts/series/bubble_series.rb} +4 -2
  83. data/lib/{apexcharts/series/cartesian.rb → apex_charts/series/cartesian_series.rb} +4 -2
  84. data/lib/{apexcharts/series/polar.rb → apex_charts/series/polar_series.rb} +4 -2
  85. data/lib/{apexcharts → apex_charts}/support/rails.rb +0 -0
  86. data/lib/{apexcharts → apex_charts}/support/sinatra.rb +0 -0
  87. data/lib/{apexcharts → apex_charts}/theme.rb +2 -18
  88. data/lib/{apexcharts → apex_charts}/utils.rb +0 -0
  89. data/lib/{apexcharts → apex_charts}/utils/copy.rb +2 -0
  90. data/lib/{apexcharts → apex_charts}/utils/date_time.rb +7 -2
  91. data/lib/{apexcharts → apex_charts}/utils/hash.rb +2 -0
  92. data/lib/{apexcharts → apex_charts}/version.rb +2 -1
  93. data/lib/apexcharts.rb +3 -3
  94. data/vendor/assets/javascripts/apexcharts.js +11 -3
  95. metadata +103 -74
  96. data/lib/apexcharts/charts.rb +0 -13
  97. data/lib/apexcharts/charts/polar.rb +0 -7
  98. data/lib/apexcharts/config.rb +0 -25
  99. data/lib/apexcharts/config/default_options.rb +0 -12
  100. data/lib/apexcharts/options/annotations.rb +0 -10
  101. data/lib/apexcharts/options/axis.rb +0 -17
  102. data/lib/apexcharts/options/chart.rb +0 -26
  103. data/lib/apexcharts/options/data_labels.rb +0 -14
  104. data/lib/apexcharts/options/div_attributes.rb +0 -9
  105. data/lib/apexcharts/options/fill.rb +0 -12
  106. data/lib/apexcharts/options/grid.rb +0 -15
  107. data/lib/apexcharts/options/legend.rb +0 -27
  108. data/lib/apexcharts/options/markers.rb +0 -18
  109. data/lib/apexcharts/options/no_data.rb +0 -12
  110. data/lib/apexcharts/options/plot_options.rb +0 -12
  111. data/lib/apexcharts/options/root.rb +0 -44
  112. data/lib/apexcharts/options/states.rb +0 -9
  113. data/lib/apexcharts/options/stroke.rb +0 -12
  114. data/lib/apexcharts/options/subtitle.rb +0 -9
  115. data/lib/apexcharts/options/theme.rb +0 -8
  116. data/lib/apexcharts/options/title.rb +0 -13
  117. data/lib/apexcharts/options/tooltip.rb +0 -22
  118. data/lib/apexcharts/options/x_axis.rb +0 -12
  119. data/lib/apexcharts/options/y_axis.rb +0 -15
  120. data/lib/apexcharts/renderer.rb +0 -68
  121. data/lib/apexcharts/series.rb +0 -7
@@ -0,0 +1,14 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class AnnotationsOptions < ::SmartKv
4
+ optional *%i[
5
+ images
6
+ points
7
+ position
8
+ texts
9
+ xaxis
10
+ yaxis
11
+ ]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,33 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class ChartOptions < ::SmartKv
4
+ optional *%i[
5
+ animations
6
+ background
7
+ brush
8
+ defaultLocale
9
+ dropShadow
10
+ events
11
+ fontFamily
12
+ foreColor
13
+ group
14
+ height
15
+ id
16
+ locales
17
+ offsetX
18
+ offsetY
19
+ parentHeightOffset
20
+ redrawOnParentResize
21
+ redrawOnWindowResize
22
+ selection
23
+ sparkline
24
+ stackType
25
+ stacked
26
+ toolbar
27
+ type
28
+ width
29
+ zoom
30
+ ]
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,18 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class DataLabelsOptions < ::SmartKv
4
+ optional *%i[
5
+ background
6
+ distributed
7
+ dropShadow
8
+ enabled
9
+ enabledOnSeries
10
+ formatter
11
+ offsetX
12
+ offsetY
13
+ style
14
+ textAnchor
15
+ ]
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,14 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class FillOptions < ::SmartKv
4
+ optional *%i[
5
+ colors
6
+ gradient
7
+ image
8
+ opacity
9
+ pattern
10
+ type
11
+ ]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,17 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class GridOptions < ::SmartKv
4
+ optional *%i[
5
+ borderColor
6
+ column
7
+ padding
8
+ position
9
+ row
10
+ show
11
+ strokeDashArray
12
+ xaxis
13
+ yaxis
14
+ ]
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,22 @@
1
+ require 'smart_kv'
2
+
3
+ module ApexCharts::Options
4
+ module Default
5
+ class HelperOptions < ::SmartKv
6
+ optional *%i[
7
+ brushTarget
8
+ class
9
+ chartId
10
+ defer
11
+ group
12
+ id
13
+ style
14
+ var
15
+ xtitle
16
+ xtype
17
+ ytitle
18
+ ytype
19
+ ]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,33 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class LegendOptions < ::SmartKv
4
+ optional *%i[
5
+ containerMargin
6
+ customLegendItems
7
+ floating
8
+ fontFamily
9
+ fontSize
10
+ fontWeight
11
+ formatter
12
+ height
13
+ horizontalAlign
14
+ inverseOrder
15
+ itemMargin
16
+ labels
17
+ markers
18
+ offsetX
19
+ offsetY
20
+ onItemClick
21
+ onItemHover
22
+ position
23
+ show
24
+ showForNullSeries
25
+ showForSingleSeries
26
+ showForZeroSeries
27
+ textAnchor
28
+ tooltipHoverFormatter
29
+ width
30
+ ]
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,26 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class MarkersOptions < ::SmartKv
4
+ optional *%i[
5
+ colors
6
+ discrete
7
+ fillOpacity
8
+ height
9
+ hover
10
+ offsetX
11
+ offsetY
12
+ onClick
13
+ onDblClick
14
+ radius
15
+ shape
16
+ showNullDataPoints
17
+ size
18
+ strokeColors
19
+ strokeDashArray
20
+ strokeOpacity
21
+ strokeWidth
22
+ width
23
+ ]
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,14 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class NoDataOptions < ::SmartKv
4
+ optional *%i[
5
+ align
6
+ offsetX
7
+ offsetY
8
+ style
9
+ text
10
+ verticalAlign
11
+ ]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,19 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class PlotOptions < ::SmartKv
4
+ optional *%i[
5
+ area
6
+ bar
7
+ boxPlot
8
+ bubble
9
+ candlestick
10
+ heatmap
11
+ pie
12
+ polarArea
13
+ radar
14
+ radialBar
15
+ treemap
16
+ ]
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,38 @@
1
+ require_relative 'helper_options'
2
+ require_relative 'chart_options'
3
+ require_relative 'stroke_options'
4
+ require_relative 'states_options'
5
+
6
+ module ApexCharts::Options
7
+ module Default
8
+ class RootOptions < ::SmartKv
9
+ optional *%i[
10
+ annotations
11
+ chart
12
+ colors
13
+ dataLabels
14
+ fill
15
+ grid
16
+ labels
17
+ legend
18
+ markers
19
+ noData
20
+ plotOptions
21
+ responsive
22
+ series
23
+ states
24
+ stroke
25
+ subtitle
26
+ theme
27
+ title
28
+ tooltip
29
+ xaxis
30
+ yaxis
31
+ ],
32
+ *HelperOptions.optional_keys,
33
+ *ChartOptions.optional_keys,
34
+ *StrokeOptions.optional_keys,
35
+ *StatesOptions.optional_keys
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,11 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class StatesOptions < ::SmartKv
4
+ optional *%i[
5
+ active
6
+ hover
7
+ normal
8
+ ]
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class StrokeOptions < ::SmartKv
4
+ optional *%i[
5
+ colors
6
+ curve
7
+ dashArray
8
+ lineCap
9
+ show
10
+ width
11
+ ]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,11 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class ThemeOptions < ::SmartKv
4
+ optional *%i[
5
+ mode
6
+ monochrome
7
+ palette
8
+ ]
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,15 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class TitleSubtitleOptions < ::SmartKv
4
+ optional *%i[
5
+ align
6
+ floating
7
+ margin
8
+ offsetX
9
+ offsetY
10
+ style
11
+ text
12
+ ]
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,25 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class TooltipOptions < ::SmartKv
4
+ optional *%i[
5
+ custom
6
+ enabled
7
+ enabledOnSeries
8
+ fillSeriesColor
9
+ fixed
10
+ followCursor
11
+ intersect
12
+ inverseOrder
13
+ items
14
+ marker
15
+ onDatasetHover
16
+ shared
17
+ style
18
+ theme
19
+ x
20
+ y
21
+ z
22
+ ]
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,27 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class XAxisOptions < ::SmartKv
4
+ optional *%i[
5
+ axisBorder
6
+ axisTicks
7
+ categories
8
+ crosshairs
9
+ floating
10
+ labels
11
+ max
12
+ min
13
+ offsetX
14
+ offsetY
15
+ overwriteCategories
16
+ position
17
+ range
18
+ sorted
19
+ tickAmount
20
+ tickPlacement
21
+ title
22
+ tooltip
23
+ type
24
+ ]
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,28 @@
1
+ module ApexCharts::Options
2
+ module Default
3
+ class YAxisOptions < ::SmartKv
4
+ optional *%i[
5
+ axisBorder
6
+ axisTicks
7
+ crosshairs
8
+ decimalsInFloat
9
+ floating
10
+ forceNiceScale
11
+ labels
12
+ logarithmic
13
+ max
14
+ min
15
+ opposite
16
+ reversed
17
+ seriesName
18
+ show
19
+ showAlways
20
+ showForNullSeries
21
+ tickAmount
22
+ title
23
+ tooltip
24
+ type
25
+ ]
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'annotations_options/image_annotations'
4
+ require_relative 'annotations_options/point_annotations'
5
+ require_relative 'annotations_options/text_annotations'
6
+ require_relative 'annotations_options/x_axis_annotations'
7
+ require_relative 'annotations_options/y_axis_annotations'
8
+
9
+ module ApexCharts::Options
10
+ module DrySchema
11
+ class AnnotationsOptions < Schema
12
+ define do
13
+ optional(:images).array(ImageAnnotations)
14
+ optional(:points).array(PointAnnotations)
15
+ optional(:position).filled(:string)
16
+ optional(:texts).array(TextAnnotations)
17
+ optional(:xaxis).array(XAxisAnnotations)
18
+ optional(:yaxis).array(YAxisAnnotations)
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ApexCharts::Options
4
+ module DrySchema
5
+ AnnotationLabel = ::Dry::Schema.Params do
6
+ optional(:backgroundColor) { str? }
7
+ optional(:borderColor) { str? }
8
+ optional(:borderRadius) { int? | float? }
9
+ optional(:borderWidth) { int? | float? }
10
+ optional(:fontFamily) { filled? > str? }
11
+ optional(:fontSize) { str? | int? | float? }
12
+ optional(:fontWeight) { str? | int? | float? }
13
+ optional(:foreColor) { str? }
14
+ optional(:paddingBottom) { int? | float? }
15
+ optional(:paddingLeft) { int? | float? }
16
+ optional(:paddingRight) { int? | float? }
17
+ optional(:paddingTop) { int? | float? }
18
+ optional(:text) { str? }
19
+ optional(:textAnchor) { str? }
20
+ optional(:x) { int? | float? }
21
+ optional(:y) { int? | float? }
22
+ end
23
+ end
24
+ end