rails_charts 0.0.2 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 50c27a4b7e73edf104326a0c43e498158b15b6983a445ada2bb253ff79ebeeee
4
- data.tar.gz: 2f30630d19ac238e32aca3648ba60adc57d3e82bde8ff3822057165ed2a9efd0
3
+ metadata.gz: f624c9ad155015b47d5bb2f4e7ede4253c9c56cbcc872cb03279f5be9210b427
4
+ data.tar.gz: e1bca3b0812cadf060220514186764188742e6f6d8d87b2ac9db07325c32eb10
5
5
  SHA512:
6
- metadata.gz: f005aa895ad8979ff0dfbd76c0f11743695ec1bd0ee80a073cd90be2ab7f92823bef2002859ac7f67c4392e36f49ca87ab659be62fbdbdc80a15b8e46c7181fa
7
- data.tar.gz: 6be80b111bbfbaf227c43f1e55cc2bf447a456b7f06e435c5441774faf10afc35b27a14813a05e9969ba507802d72bdd452eaaed991facffacb9e6a02b1a99f8
6
+ metadata.gz: c0e5933e814a589621025f45d169417a8aeaa8da44cb2c00bbcde2175f5c24ff38ebc15f5fc464b203c3c13ca0e52e724ca8e7264e26cdc8bc5784981d01d557
7
+ data.tar.gz: 18e131a0526afc482ec562a5f283f2b6f81fa93ed6b59320594f7ac6094fd862ca22be2bdb29d0f7f466ba6c9a1581c3bd2b238d9609d8abb08aa709dc089ed6
data/README.md CHANGED
@@ -1,30 +1,32 @@
1
1
  # Rails Charts
2
2
 
3
+ [![RailsJazz](https://github.com/igorkasyanchuk/rails_time_travel/blob/main/docs/my_other.svg?raw=true)](https://www.railsjazz.com)
4
+
3
5
  ![Charts](docs/all.jpg)
4
6
 
5
7
  One more gem to build nice charts for your Ruby on Rails application.
6
8
 
7
- With it you can build various types of charts Apache eCharts library (v. 5.3.2). This gem simplifies interface and adding few helpers to start adding charts in your app with just a few lines of code.
9
+ With it you can build various types of charts [Apache eCharts](https://echarts.apache.org/) library (v. 5.4.0). This gem simplifies interface and adding few helpers to start adding charts in your app with just a few lines of code.
8
10
 
9
11
  What you can build with it:
10
12
 
11
- - line chart
12
- - area chart
13
- - bar chart
14
- - donut chart
15
- - pie chart
16
- - radar chart
17
- - calendar chart
18
- - candlestick chart
19
- - funnel chart
20
- - gauge chart
21
- - parallel chart
22
- - sankey chart
23
- - scatter chart
24
- - stacked bar chart
25
- - custom chart
26
-
27
- In most cases with one line of code you can have a nice chart. The idea of this gem was inspired by [Charkick](https://github.com/ankane/chartkick) gem which is great and allows you to build charts very quickly. It works best in cooperation with [groupdate](https://github.com/ankane/groupdate) gem. Unfortunatelly it's missing many needed types of charts or other customization options.
13
+ - [area chart](#area-chart)
14
+ - [line chart](#line-chart)
15
+ - [bar chart](#bar-chart)
16
+ - [donut chart](#donut-chart)
17
+ - [pie chart](#pie-chart)
18
+ - [radar chart](#radar-chart)
19
+ - [calendar chart](#calendar-chart)
20
+ - [candlestick chart](#candlestick-chart)
21
+ - [funnel chart](#funnel-chart)
22
+ - [gauge chart](#gauge-chart)
23
+ - [parallel chart](#parallel-chart)
24
+ - [sankey chart](#sankey-chart)
25
+ - [scatter chart](#scatter-chart)
26
+ - [stacked bar chart](#stacked-bar-chart)
27
+ - [custom chart](#custom-chart)
28
+
29
+ In most cases with one line of code you can have a nice chart. The idea of this gem was inspired by [Chartkick](https://github.com/ankane/chartkick) gem which is great and allows you to build charts very quickly. It works best in cooperation with [groupdate](https://github.com/ankane/groupdate) gem. Unfortunatelly it's missing many needed types of charts or other customization options.
28
30
 
29
31
  This implementation have more options and similar "interface" for building charts.
30
32
 
@@ -64,7 +66,7 @@ or do it manualy
64
66
  <%= line_chart User.group(:age).count %>
65
67
  ```
66
68
 
67
- 4) customize charts if needed. See available options or [official documentation](https://echarts.apache.org/examples/en/index.html).
69
+ 4) customize charts if needed. See available options or [official documentation](https://echarts.apache.org/examples/en/index.html).
68
70
 
69
71
 
70
72
  ### Webpack / esbuild
@@ -100,7 +102,7 @@ window.echarts = echarts;
100
102
  <%= line_chart User.group(:age).count %>
101
103
  ```
102
104
 
103
- 4) customize charts if needed. See available options or [official documentation](https://echarts.apache.org/examples/en/index.html).
105
+ 4) customize charts if needed. See available options or [official documentation](https://echarts.apache.org/examples/en/index.html).
104
106
 
105
107
  ### Importmaps
106
108
 
@@ -111,7 +113,7 @@ pin "echarts", to: "echarts.min.js"
111
113
  pin "echarts/theme/dark", to: "echarts/theme/dark.js"
112
114
  ```
113
115
 
114
- 2) add eCharts in main JS
116
+ 2) add eCharts in main JS
115
117
 
116
118
  ```javascript
117
119
  import "echarts"
@@ -123,7 +125,7 @@ import "echarts/theme/dark"
123
125
  <%= line_chart User.group(:age).count %>
124
126
  ```
125
127
 
126
- 4) customize charts if needed. See available options or [official documentation](https://echarts.apache.org/examples/en/index.html).
128
+ 4) customize charts if needed. See available options or [official documentation](https://echarts.apache.org/examples/en/index.html).
127
129
 
128
130
  ## Options
129
131
 
@@ -183,7 +185,7 @@ Every chart has a built in default configuration for tooltips, or other options
183
185
  ![Line Chart](docs/line_chart.png)
184
186
 
185
187
  ```ruby
186
- <%= line_chart User.group(:age).count, class: 'box',
188
+ <%= line_chart User.group(:age).count, class: 'box',
187
189
  options: {
188
190
  title: {
189
191
  text: "People count by age",
@@ -202,7 +204,7 @@ Every chart has a built in default configuration for tooltips, or other options
202
204
  class: 'box',
203
205
  theme: 'sakura',
204
206
  options: {
205
- series: {
207
+ series: {
206
208
  barWidth: '50%'
207
209
  },
208
210
  tooltip: {
@@ -320,18 +322,18 @@ Every chart has a built in default configuration for tooltips, or other options
320
322
  ![Donut Chart](docs/donut_chart.png)
321
323
 
322
324
  ```ruby
323
- <%= donut_chart User.group(:role).count,
325
+ <%= donut_chart User.group(:role).count,
324
326
  class: 'box',
325
327
  options: {
326
328
  legend: {
327
329
  bottom: '0'
328
330
  },
329
- emphasis: {
331
+ emphasis: {
330
332
  itemStyle: {
331
333
  shadowBlur: 10,
332
334
  shadowOffsetX: 0,
333
335
  shadowColor: 'rgba(0, 0, 0, 0.5)'
334
- }
336
+ }
335
337
  }
336
338
  }
337
339
  %>
@@ -342,7 +344,7 @@ Every chart has a built in default configuration for tooltips, or other options
342
344
  ![Pie Chart](docs/pie_chart.png)
343
345
 
344
346
  ```ruby
345
- <%= pie_chart User.group(:role).count,
347
+ <%= pie_chart User.group(:role).count,
346
348
  class: 'box',
347
349
  options: {
348
350
  legend: { orient: 'vertical', left: 'left' }
@@ -386,12 +388,12 @@ Every chart has a built in default configuration for tooltips, or other options
386
388
  source: 'HTML',
387
389
  target: 'Good',
388
390
  value: 1
389
- },
391
+ },
390
392
  {
391
393
  source: 'JS',
392
394
  target: 'Good',
393
395
  value: 1
394
- },
396
+ },
395
397
  {
396
398
  source: 'CSS',
397
399
  target: 'Good',
@@ -406,7 +408,7 @@ Every chart has a built in default configuration for tooltips, or other options
406
408
  source: 'Good',
407
409
  target: 'Backend',
408
410
  value: 1
409
- },
411
+ },
410
412
  {
411
413
  source: 'Good',
412
414
  target: 'Frontend',
@@ -416,7 +418,7 @@ Every chart has a built in default configuration for tooltips, or other options
416
418
  source: 'Bad',
417
419
  target: 'Backend',
418
420
  value: 1
419
- },
421
+ },
420
422
  ]
421
423
  }, {
422
424
  options: {
@@ -443,7 +445,7 @@ Every chart has a built in default configuration for tooltips, or other options
443
445
  },
444
446
  yAxis: {
445
447
  name: 'Sales'
446
- },
448
+ },
447
449
  legend: {
448
450
  data: [
449
451
  {name: 'John'},
@@ -514,3 +516,6 @@ You are welcome to contributes. Some open tasks:
514
516
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
515
517
 
516
518
  Gem is using https://echarts.apache.org/ to build charts.
519
+
520
+ [<img src="https://github.com/igorkasyanchuk/rails_time_travel/blob/main/docs/more_gems.png?raw=true"
521
+ />](https://www.railsjazz.com/?utm_source=github&utm_medium=bottom&utm_campaign=rails_charts)
@@ -0,0 +1,174 @@
1
+
2
+
3
+ /*
4
+ * Licensed to the Apache Software Foundation (ASF) under one
5
+ * or more contributor license agreements. See the NOTICE file
6
+ * distributed with this work for additional information
7
+ * regarding copyright ownership. The ASF licenses this file
8
+ * to you under the Apache License, Version 2.0 (the
9
+ * "License"); you may not use this file except in compliance
10
+ * with the License. You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing,
15
+ * software distributed under the License is distributed on an
16
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17
+ * KIND, either express or implied. See the License for the
18
+ * specific language governing permissions and limitations
19
+ * under the License.
20
+ */
21
+
22
+
23
+ /**
24
+ * AUTO-GENERATED FILE. DO NOT MODIFY.
25
+ */
26
+ (function(root, factory) {
27
+ if (typeof define === 'function' && define.amd) {
28
+ // AMD. Register as an anonymous module.
29
+ define(['exports'], factory);
30
+ } else if (
31
+ typeof exports === 'object' &&
32
+ typeof exports.nodeName !== 'string'
33
+ ) {
34
+ // CommonJS
35
+ factory(exports);
36
+ } else {
37
+ // Browser globals
38
+ factory({});
39
+ }
40
+ })(this, function(exports) {
41
+
42
+
43
+ /**
44
+ * Language: Ukrainian.
45
+ */
46
+
47
+ var localeObj = {
48
+ time: {
49
+ month: [
50
+ 'Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень',
51
+ 'Липень', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень'
52
+ ],
53
+ monthAbbr: [
54
+ 'Січ', 'Лют', 'Бер', 'Кві', 'Тра', 'Чер',
55
+ 'Лип', 'Сер', 'Вер', 'Жов', 'Лис', 'Гру'
56
+ ],
57
+ dayOfWeek: [
58
+ 'Неділя', 'Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П\'ятниця', 'Субота'
59
+ ],
60
+ dayOfWeekAbbr: [
61
+ 'нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'
62
+ ]
63
+ },
64
+ legend: {
65
+ selector: {
66
+ all: 'Все',
67
+ inverse: 'Обернути'
68
+ }
69
+ },
70
+ toolbox: {
71
+ brush: {
72
+ title: {
73
+ rect: 'Выділити область',
74
+ polygon: 'Інструмент «Ласо»',
75
+ lineX: 'Горизонтальне виділення',
76
+ lineY: 'Вертикальне виділення',
77
+ keep: 'Залишити обране',
78
+ clear: 'Очистити обране'
79
+ }
80
+ },
81
+ dataView: {
82
+ title: 'Дані',
83
+ lang: ['Дані', 'Закрити', 'Оновити']
84
+ },
85
+ dataZoom: {
86
+ title: {
87
+ zoom: 'Збільшити',
88
+ back: 'Скасувати збільшення'
89
+ }
90
+ },
91
+ magicType: {
92
+ title: {
93
+ line: 'Переключитися на лінійний графік',
94
+ bar: 'Переключитися на стовпчикову діаграму',
95
+ stack: 'Стопка',
96
+ tiled: 'Плитка'
97
+ }
98
+ },
99
+ restore: {
100
+ title: 'Відновити'
101
+ },
102
+ saveAsImage: {
103
+ title: 'Зберегти зображення',
104
+ lang: ['Правий клік, щоб зберегти зображення']
105
+ }
106
+ },
107
+ series: {
108
+ typeNames: {
109
+ pie: 'Кругова діаграма',
110
+ bar: 'Стовпчикова діаграма',
111
+ line: 'Лінійний графік',
112
+ scatter: 'Точкова діаграма',
113
+ effectScatter: 'Точкова діаграма з хвилями',
114
+ radar: 'Пелюсткова діаграма',
115
+ tree: 'Дерево',
116
+ treemap: 'Пласке дерево',
117
+ boxplot: 'Ящик з вусами',
118
+ candlestick: 'Свічний графік',
119
+ k: 'Графік К-ліній',
120
+ heatmap: 'Теплова мапа',
121
+ map: 'Мапа',
122
+ parallel: 'Діаграма паралельних координат',
123
+ lines: 'Лінійний граф',
124
+ graph: 'Граф отношений',
125
+ sankey: 'Діаграма Санкей',
126
+ funnel: 'Воронкообразна діаграма',
127
+ gauge: 'Шкала',
128
+ pictorialBar: 'Стовпчик-картинка',
129
+ themeRiver: 'Тематична ріка',
130
+ sunburst: 'Сонячне проміння'
131
+ }
132
+ },
133
+ aria: {
134
+ general: {
135
+ withTitle: 'Це графік, що відрображує "{title}"',
136
+ withoutTitle: 'Це графік'
137
+ },
138
+ series: {
139
+ single: {
140
+ prefix: '',
141
+ withName: ' з типом {seriesType} та іменем {seriesName}.',
142
+ withoutName: ' з типом {seriesType}.'
143
+ },
144
+ multiple: {
145
+ prefix: '. Він складається з {seriesCount} серій.',
146
+ withName:
147
+ ' Серія {seriesId} має тип {seriesType} та відображає {seriesName}.',
148
+ withoutName: ' Серія {seriesId} має тип {seriesType}.',
149
+ separator: {
150
+ middle: '',
151
+ end: ''
152
+ }
153
+ }
154
+ },
155
+ data: {
156
+ allData: 'Дані такі: ',
157
+ partialData: 'Перші {displayCnt} елементів: ',
158
+ withName: 'значення для {name} — {value}',
159
+ withoutName: '{value}',
160
+ separator: {
161
+ middle: ', ',
162
+ end: '. '
163
+ }
164
+ }
165
+ }
166
+ };
167
+
168
+ for (var key in localeObj) {
169
+ if (localeObj.hasOwnProperty(key)) {
170
+ exports[key] = localeObj[key];
171
+ }
172
+ }
173
+
174
+ });
@@ -0,0 +1,170 @@
1
+
2
+
3
+ /*
4
+ * Licensed to the Apache Software Foundation (ASF) under one
5
+ * or more contributor license agreements. See the NOTICE file
6
+ * distributed with this work for additional information
7
+ * regarding copyright ownership. The ASF licenses this file
8
+ * to you under the Apache License, Version 2.0 (the
9
+ * "License"); you may not use this file except in compliance
10
+ * with the License. You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing,
15
+ * software distributed under the License is distributed on an
16
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17
+ * KIND, either express or implied. See the License for the
18
+ * specific language governing permissions and limitations
19
+ * under the License.
20
+ */
21
+
22
+
23
+ /**
24
+ * AUTO-GENERATED FILE. DO NOT MODIFY.
25
+ */
26
+ (function(root, factory) {
27
+ if (typeof define === 'function' && define.amd) {
28
+ // AMD. Register as an anonymous module.
29
+ define(['exports', 'echarts'], factory);
30
+ } else if (
31
+ typeof exports === 'object' &&
32
+ typeof exports.nodeName !== 'string'
33
+ ) {
34
+ // CommonJS
35
+ factory(exports, require('echarts/lib/echarts'));
36
+ } else {
37
+ // Browser globals
38
+ factory({}, root.echarts);
39
+ }
40
+ })(this, function(exports, echarts) {
41
+
42
+
43
+ /**
44
+ * Language: Ukrainian.
45
+ */
46
+
47
+ var localeObj = {
48
+ time: {
49
+ month: [
50
+ 'Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень',
51
+ 'Липень', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень'
52
+ ],
53
+ monthAbbr: [
54
+ 'Січ', 'Лют', 'Бер', 'Кві', 'Тра', 'Чер',
55
+ 'Лип', 'Сер', 'Вер', 'Жов', 'Лис', 'Гру'
56
+ ],
57
+ dayOfWeek: [
58
+ 'Неділя', 'Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П\'ятниця', 'Субота'
59
+ ],
60
+ dayOfWeekAbbr: [
61
+ 'нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'
62
+ ]
63
+ },
64
+ legend: {
65
+ selector: {
66
+ all: 'Все',
67
+ inverse: 'Обернути'
68
+ }
69
+ },
70
+ toolbox: {
71
+ brush: {
72
+ title: {
73
+ rect: 'Выділити область',
74
+ polygon: 'Інструмент «Ласо»',
75
+ lineX: 'Горизонтальне виділення',
76
+ lineY: 'Вертикальне виділення',
77
+ keep: 'Залишити обране',
78
+ clear: 'Очистити обране'
79
+ }
80
+ },
81
+ dataView: {
82
+ title: 'Дані',
83
+ lang: ['Дані', 'Закрити', 'Оновити']
84
+ },
85
+ dataZoom: {
86
+ title: {
87
+ zoom: 'Збільшити',
88
+ back: 'Скасувати збільшення'
89
+ }
90
+ },
91
+ magicType: {
92
+ title: {
93
+ line: 'Переключитися на лінійний графік',
94
+ bar: 'Переключитися на стовпчикову діаграму',
95
+ stack: 'Стопка',
96
+ tiled: 'Плитка'
97
+ }
98
+ },
99
+ restore: {
100
+ title: 'Відновити'
101
+ },
102
+ saveAsImage: {
103
+ title: 'Зберегти зображення',
104
+ lang: ['Правий клік, щоб зберегти зображення']
105
+ }
106
+ },
107
+ series: {
108
+ typeNames: {
109
+ pie: 'Кругова діаграма',
110
+ bar: 'Стовпчикова діаграма',
111
+ line: 'Лінійний графік',
112
+ scatter: 'Точкова діаграма',
113
+ effectScatter: 'Точкова діаграма з хвилями',
114
+ radar: 'Пелюсткова діаграма',
115
+ tree: 'Дерево',
116
+ treemap: 'Пласке дерево',
117
+ boxplot: 'Ящик з вусами',
118
+ candlestick: 'Свічний графік',
119
+ k: 'Графік К-ліній',
120
+ heatmap: 'Теплова мапа',
121
+ map: 'Мапа',
122
+ parallel: 'Діаграма паралельних координат',
123
+ lines: 'Лінійний граф',
124
+ graph: 'Граф отношений',
125
+ sankey: 'Діаграма Санкей',
126
+ funnel: 'Воронкообразна діаграма',
127
+ gauge: 'Шкала',
128
+ pictorialBar: 'Стовпчик-картинка',
129
+ themeRiver: 'Тематична ріка',
130
+ sunburst: 'Сонячне проміння'
131
+ }
132
+ },
133
+ aria: {
134
+ general: {
135
+ withTitle: 'Це графік, що відрображує "{title}"',
136
+ withoutTitle: 'Це графік'
137
+ },
138
+ series: {
139
+ single: {
140
+ prefix: '',
141
+ withName: ' з типом {seriesType} та іменем {seriesName}.',
142
+ withoutName: ' з типом {seriesType}.'
143
+ },
144
+ multiple: {
145
+ prefix: '. Він складається з {seriesCount} серій.',
146
+ withName:
147
+ ' Серія {seriesId} має тип {seriesType} та відображає {seriesName}.',
148
+ withoutName: ' Серія {seriesId} має тип {seriesType}.',
149
+ separator: {
150
+ middle: '',
151
+ end: ''
152
+ }
153
+ }
154
+ },
155
+ data: {
156
+ allData: 'Дані такі: ',
157
+ partialData: 'Перші {displayCnt} елементів: ',
158
+ withName: 'значення для {name} — {value}',
159
+ withoutName: '{value}',
160
+ separator: {
161
+ middle: ', ',
162
+ end: '. '
163
+ }
164
+ }
165
+ }
166
+ };
167
+
168
+ echarts.registerLocale('UA', localeObj);
169
+
170
+ });