chartkick 2.3.5 → 3.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +110 -42
- data/LICENSE.txt +1 -1
- data/README.md +196 -55
- data/lib/chartkick.rb +12 -16
- data/lib/chartkick/engine.rb +1 -16
- data/lib/chartkick/enumerable.rb +25 -0
- data/lib/chartkick/helper.rb +85 -24
- data/lib/chartkick/version.rb +1 -1
- data/licenses/LICENSE-chart.js.txt +9 -0
- data/licenses/LICENSE-chartkick.js.txt +22 -0
- data/licenses/LICENSE-moment.txt +22 -0
- data/vendor/assets/javascripts/Chart.bundle.js +19601 -17744
- data/vendor/assets/javascripts/chartkick.js +530 -256
- metadata +11 -21
- data/.github/ISSUE_TEMPLATE.md +0 -7
- data/.github/stale.yml +0 -16
- data/.gitignore +0 -17
- data/CONTRIBUTING.md +0 -43
- data/Gemfile +0 -4
- data/Rakefile +0 -8
- data/chartkick.gemspec +0 -23
- data/lib/chartkick/rails.rb +0 -5
- data/test/chartkick_test.rb +0 -43
- data/test/test_helper.rb +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f0229f1e93dc1d2b672317f7147394f8a17e4fb42bb1ab2c979a1ac5b67a0e7
|
4
|
+
data.tar.gz: c8229ee28b9bbcfbc61c971a39e67415295cdd8043b25cfac1fa5ef992981cf9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dce86c2e3bcf36e4c1c104e1446076cc7086563cefb12968355f236bece5460034b4e076ed98fc64f9453f6abc10b6c38287caeaef84ba0bd00566f3de0b6fe1
|
7
|
+
data.tar.gz: a2774bde5c45e347d532720b14c9ee4ed04136d379796355339e6ba5b56194a98916bee56308a3e16252afdea50110a843e4e63b783db9712d20cfaf502f8113
|
data/CHANGELOG.md
CHANGED
@@ -1,52 +1,120 @@
|
|
1
|
-
##
|
1
|
+
## 3.4.2 (2020-10-20)
|
2
|
+
|
3
|
+
- Updated Chart.js to 2.9.4
|
4
|
+
|
5
|
+
## 3.4.1 (2020-10-06)
|
6
|
+
|
7
|
+
- Relaxed validation for `width` and `height` options
|
8
|
+
|
9
|
+
## 3.4.0 (2020-08-04)
|
10
|
+
|
11
|
+
- Fixed CSS injection with `width` and `height` options - [more info](https://github.com/ankane/chartkick/issues/546)
|
12
|
+
|
13
|
+
## 3.3.2 (2020-07-23)
|
14
|
+
|
15
|
+
- Updated Chartkick.js to 3.2.1
|
16
|
+
|
17
|
+
## 3.3.1 (2019-12-26)
|
18
|
+
|
19
|
+
- Updated Chart.js to 2.9.3
|
20
|
+
- Fixed deprecation warnings in Ruby 2.7
|
21
|
+
|
22
|
+
## 3.3.0 (2019-11-09)
|
23
|
+
|
24
|
+
- Updated Chartkick.js to 3.2.0
|
25
|
+
- Rolled back Chart.js to 2.8.0 due to legend change
|
26
|
+
|
27
|
+
## 3.2.2 (2019-10-27)
|
28
|
+
|
29
|
+
- Updated Chartkick.js to 3.1.3
|
30
|
+
- Updated Chart.js to 2.9.1
|
31
|
+
|
32
|
+
## 3.2.1 (2019-07-15)
|
33
|
+
|
34
|
+
- Updated Chartkick.js to 3.1.1
|
35
|
+
|
36
|
+
## 3.2.0 (2019-06-04)
|
37
|
+
|
38
|
+
- Fixed XSS vulnerability - [more info](https://github.com/ankane/chartkick/issues/488)
|
39
|
+
|
40
|
+
## 3.1.0 (2019-05-26)
|
41
|
+
|
42
|
+
- Updated Chartkick.js to 3.1.0
|
43
|
+
- Updated Chart.js to 2.8.0
|
44
|
+
|
45
|
+
## 3.0.2 (2019-01-03)
|
46
|
+
|
47
|
+
- Fixed error with `nonce` option with Secure Headers and Rails < 5.2
|
48
|
+
- Updated Chartkick.js to 3.0.2
|
49
|
+
- Updated Chart.js to 2.7.3
|
50
|
+
|
51
|
+
## 3.0.1 (2018-08-13)
|
52
|
+
|
53
|
+
- Updated Chartkick.js to 3.0.1
|
54
|
+
|
55
|
+
## 3.0.0 (2018-08-08)
|
56
|
+
|
57
|
+
- Updated Chartkick.js to 3.0.0
|
58
|
+
- Added `code` option
|
59
|
+
- Added support for `nonce: true`
|
60
|
+
|
61
|
+
Breaking changes
|
62
|
+
|
63
|
+
- Removed support for Rails < 4.2
|
64
|
+
- Removed chartkick.js from asset precompile (no longer needed)
|
65
|
+
- Removed `xtype` option - numeric axes are automatically detected
|
66
|
+
- Removed `window.Chartkick = {...}` way to set config - use `Chartkick.configure` instead
|
67
|
+
- Removed support for the Google Charts jsapi loader - use loader.js instead
|
68
|
+
|
69
|
+
## 2.3.5 (2018-06-15)
|
2
70
|
|
3
71
|
- Updated Chartkick.js to 2.3.6
|
4
72
|
|
5
|
-
## 2.3.4
|
73
|
+
## 2.3.4 (2018-04-10)
|
6
74
|
|
7
75
|
- Updated Chartkick.js to 2.3.5
|
8
76
|
- Updated Chart.js to 2.7.2
|
9
77
|
|
10
|
-
## 2.3.3
|
78
|
+
## 2.3.3 (2018-03-25)
|
11
79
|
|
12
80
|
- Updated Chartkick.js to 2.3.4
|
13
81
|
|
14
|
-
## 2.3.2
|
82
|
+
## 2.3.2 (2018-02-26)
|
15
83
|
|
16
84
|
- Updated Chartkick.js to 2.3.3
|
17
85
|
|
18
|
-
## 2.3.1
|
86
|
+
## 2.3.1 (2018-02-23)
|
19
87
|
|
20
88
|
- Updated Chartkick.js to 2.3.1
|
21
89
|
|
22
|
-
## 2.3.0
|
90
|
+
## 2.3.0 (2018-02-21)
|
23
91
|
|
24
92
|
- Fixed deep merge error for non-Rails apps
|
25
93
|
- Updated Chartkick.js to 2.3.0
|
26
94
|
|
27
|
-
## 2.2.5
|
95
|
+
## 2.2.5 (2017-10-28)
|
28
96
|
|
29
97
|
- Updated Chart.js to 2.7.1
|
30
98
|
|
31
|
-
## 2.2.4
|
99
|
+
## 2.2.4 (2017-05-14)
|
32
100
|
|
33
101
|
- Added compatibility with Rails API
|
34
102
|
- Updated Chartkick.js to 2.2.4
|
35
103
|
|
36
|
-
## 2.2.3
|
104
|
+
## 2.2.3 (2017-02-22)
|
37
105
|
|
38
106
|
- Updated Chartkick.js to 2.2.3
|
39
107
|
- Updated Chart.js to 2.5.0
|
40
108
|
|
41
|
-
## 2.2.2
|
109
|
+
## 2.2.2 (2017-01-07)
|
42
110
|
|
43
111
|
- Updated Chartkick.js to 2.2.2
|
44
112
|
|
45
|
-
## 2.2.1
|
113
|
+
## 2.2.1 (2016-12-05)
|
46
114
|
|
47
115
|
- Updated Chartkick.js to 2.2.1
|
48
116
|
|
49
|
-
## 2.2.0
|
117
|
+
## 2.2.0 (2016-12-03)
|
50
118
|
|
51
119
|
- Updated Chartkick.js to 2.2.0
|
52
120
|
- Improved JavaScript API
|
@@ -54,59 +122,59 @@
|
|
54
122
|
- Added `refresh` option
|
55
123
|
- Added `donut` option to pie chart
|
56
124
|
|
57
|
-
## 2.1.3
|
125
|
+
## 2.1.3 (2016-11-29)
|
58
126
|
|
59
127
|
- Updated Chartkick.js to 2.1.2 - fixes missing zero values for Chart.js
|
60
128
|
|
61
|
-
## 2.1.2
|
129
|
+
## 2.1.2 (2016-11-28)
|
62
130
|
|
63
131
|
- Added `defer` option
|
64
132
|
- Added `nonce` option
|
65
133
|
- Updated Chartkick.js to 2.1.1
|
66
134
|
|
67
|
-
## 2.1.1
|
135
|
+
## 2.1.1 (2016-09-11)
|
68
136
|
|
69
137
|
- Use custom version of Chart.js to fix label overlap
|
70
138
|
|
71
|
-
## 2.1.0
|
139
|
+
## 2.1.0 (2016-09-10)
|
72
140
|
|
73
141
|
- Added basic support for new Google Charts loader
|
74
142
|
- Added `configure` function
|
75
143
|
- Dropped jQuery and Zepto dependencies for AJAX
|
76
144
|
- Updated Chart.js to 2.2.2
|
77
145
|
|
78
|
-
## 2.0.2
|
146
|
+
## 2.0.2 (2016-08-11)
|
79
147
|
|
80
148
|
- Updated Chartkick.js to 2.0.1
|
81
149
|
- Updated Chart.js to 2.2.1
|
82
150
|
|
83
|
-
## 2.0.1
|
151
|
+
## 2.0.1 (2016-07-29)
|
84
152
|
|
85
153
|
- Small Chartkick.js fixes
|
86
154
|
- Updated Chart.js to 2.2.0
|
87
155
|
|
88
|
-
## 2.0.0
|
156
|
+
## 2.0.0 (2016-05-30)
|
89
157
|
|
90
158
|
- Chart.js is now the default adapter - yay open source!
|
91
159
|
- Axis types are automatically detected - no need for `discrete: true`
|
92
160
|
- Better date support
|
93
161
|
- New JavaScript API
|
94
162
|
|
95
|
-
## 1.5.2
|
163
|
+
## 1.5.2 (2016-05-05)
|
96
164
|
|
97
165
|
- Fixed Sprockets error
|
98
166
|
|
99
|
-
## 1.5.1
|
167
|
+
## 1.5.1 (2016-05-03)
|
100
168
|
|
101
169
|
- Updated chartkick.js to latest version
|
102
170
|
- Included `Chart.bundle.js`
|
103
171
|
|
104
|
-
## 1.5.0
|
172
|
+
## 1.5.0 (2016-05-01)
|
105
173
|
|
106
174
|
- Added Chart.js adapter **beta**
|
107
175
|
- Fixed line height on timeline charts
|
108
176
|
|
109
|
-
## 1.4.2
|
177
|
+
## 1.4.2 (2016-02-29)
|
110
178
|
|
111
179
|
- Added `width` option
|
112
180
|
- Added `label` option
|
@@ -115,86 +183,86 @@
|
|
115
183
|
- Better tooltip for dates for Google Charts
|
116
184
|
- Fixed asset precompilation issue with Rails 5
|
117
185
|
|
118
|
-
## 1.4.1
|
186
|
+
## 1.4.1 (2015-09-07)
|
119
187
|
|
120
188
|
- Fixed regression with `min: nil`
|
121
189
|
|
122
|
-
## 1.4.0
|
190
|
+
## 1.4.0 (2015-08-31)
|
123
191
|
|
124
192
|
- Added scatter chart
|
125
193
|
- Added axis titles
|
126
194
|
|
127
|
-
## 1.3.2
|
195
|
+
## 1.3.2 (2014-07-04)
|
128
196
|
|
129
197
|
- Fixed `except` error when not using Rails
|
130
198
|
|
131
|
-
## 1.3.1
|
199
|
+
## 1.3.1 (2014-06-30)
|
132
200
|
|
133
201
|
- Fixed blank screen bug
|
134
202
|
- Fixed language support
|
135
203
|
|
136
|
-
## 1.3.0
|
204
|
+
## 1.3.0 (2014-06-28)
|
137
205
|
|
138
206
|
- Added timelines
|
139
207
|
|
140
|
-
## 1.2.5
|
208
|
+
## 1.2.5 (2014-06-12)
|
141
209
|
|
142
210
|
- Added support for multiple groups
|
143
211
|
- Added `html` option
|
144
212
|
|
145
|
-
## 1.2.4
|
213
|
+
## 1.2.4 (2014-03-24)
|
146
214
|
|
147
215
|
- Added global options
|
148
216
|
- Added `colors` option
|
149
217
|
|
150
|
-
## 1.2.3
|
218
|
+
## 1.2.3 (2014-03-23)
|
151
219
|
|
152
220
|
- Added geo chart
|
153
221
|
- Added `discrete` option
|
154
222
|
|
155
|
-
## 1.2.2
|
223
|
+
## 1.2.2 (2014-02-23)
|
156
224
|
|
157
225
|
- Added global `content_for` option
|
158
226
|
- Added `stacked` option
|
159
227
|
|
160
|
-
## 1.2.1
|
228
|
+
## 1.2.1 (2013-12-08)
|
161
229
|
|
162
230
|
- Added localization for Google Charts
|
163
231
|
|
164
|
-
## 1.2.0
|
232
|
+
## 1.2.0 (2013-07-27)
|
165
233
|
|
166
234
|
- Added bar chart and area chart
|
167
235
|
- Resize Google Charts on window resize
|
168
236
|
|
169
|
-
## 1.1.3
|
237
|
+
## 1.1.3 (2013-06-26)
|
170
238
|
|
171
239
|
- Added content_for option
|
172
240
|
|
173
|
-
## 1.1.2
|
241
|
+
## 1.1.2 (2013-06-11)
|
174
242
|
|
175
243
|
- Updated chartkick.js to v1.0.1
|
176
244
|
|
177
|
-
## 1.1.1
|
245
|
+
## 1.1.1 (2013-06-10)
|
178
246
|
|
179
247
|
- Added support for Sinatra
|
180
248
|
|
181
|
-
## 1.1.0
|
249
|
+
## 1.1.0 (2013-06-03)
|
182
250
|
|
183
251
|
- Added support for Padrino and Rails 2.3+
|
184
252
|
|
185
|
-
## 1.0.1
|
253
|
+
## 1.0.1 (2013-05-23)
|
186
254
|
|
187
255
|
- Updated chartkick.js to v1.0.1
|
188
256
|
|
189
|
-
## 1.0.0
|
257
|
+
## 1.0.0 (2013-05-15)
|
190
258
|
|
191
259
|
- Use semantic versioning (no changes)
|
192
260
|
|
193
|
-
## 0.0.5
|
261
|
+
## 0.0.5 (2013-05-14)
|
194
262
|
|
195
263
|
- Removed `:min => 0` default for charts with negative values
|
196
264
|
- Show legend when data given in `{:name => "", :data => {}}` format
|
197
265
|
|
198
|
-
## 0.0.4
|
266
|
+
## 0.0.4 (2013-05-13)
|
199
267
|
|
200
268
|
- Fix for `Uncaught ReferenceError: Chartkick is not defined` when chartkick.js is included in the `<head>`
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -2,12 +2,44 @@
|
|
2
2
|
|
3
3
|
Create beautiful JavaScript charts with one line of Ruby. No more fighting with charting libraries!
|
4
4
|
|
5
|
-
[See it in action](https://
|
5
|
+
[See it in action](https://chartkick.com)
|
6
6
|
|
7
|
-
:fire: For admin charts and dashboards, check out [Blazer](https://github.com/ankane/blazer/)
|
7
|
+
:fire: For admin charts and dashboards, check out [Blazer](https://github.com/ankane/blazer/), and for advanced visualizations, check out [Vega](https://github.com/ankane/vega)
|
8
8
|
|
9
9
|
:two_hearts: A perfect companion to [Groupdate](https://github.com/ankane/groupdate), [Hightop](https://github.com/ankane/hightop), and [ActiveMedian](https://github.com/ankane/active_median)
|
10
10
|
|
11
|
+
[](https://travis-ci.org/ankane/chartkick)
|
12
|
+
|
13
|
+
## Quick Start
|
14
|
+
|
15
|
+
Add this line to your application's Gemfile:
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
gem "chartkick"
|
19
|
+
```
|
20
|
+
|
21
|
+
For Rails 6 / Webpacker, run:
|
22
|
+
|
23
|
+
```sh
|
24
|
+
yarn add chartkick chart.js
|
25
|
+
```
|
26
|
+
|
27
|
+
And in `app/javascript/packs/application.js`, add:
|
28
|
+
|
29
|
+
```js
|
30
|
+
require("chartkick")
|
31
|
+
require("chart.js")
|
32
|
+
```
|
33
|
+
|
34
|
+
For Rails 5 / Sprockets, in `app/assets/javascripts/application.js`, add:
|
35
|
+
|
36
|
+
```js
|
37
|
+
//= require chartkick
|
38
|
+
//= require Chart.bundle
|
39
|
+
```
|
40
|
+
|
41
|
+
This sets up Chartkick with Chart.js. For other charting libraries, see [detailed instructions](#installation).
|
42
|
+
|
11
43
|
## Charts
|
12
44
|
|
13
45
|
Line chart
|
@@ -116,6 +148,12 @@ Min and max values
|
|
116
148
|
|
117
149
|
`min` defaults to 0 for charts with non-negative values. Use `nil` to let the charting library decide.
|
118
150
|
|
151
|
+
Min and max for x-axis - *Chart.js*
|
152
|
+
|
153
|
+
```erb
|
154
|
+
<%= line_chart data, xmin: "2018-01-01", xmax: "2019-01-01" %>
|
155
|
+
```
|
156
|
+
|
119
157
|
Colors
|
120
158
|
|
121
159
|
```erb
|
@@ -206,6 +244,30 @@ Set a decimal separator - *Chart.js, Highcharts*
|
|
206
244
|
<%= line_chart data, decimal: "," %>
|
207
245
|
```
|
208
246
|
|
247
|
+
Set significant digits - *Chart.js, Highcharts*
|
248
|
+
|
249
|
+
```erb
|
250
|
+
<%= line_chart data, precision: 3 %>
|
251
|
+
```
|
252
|
+
|
253
|
+
Set rounding - *Chart.js, Highcharts*
|
254
|
+
|
255
|
+
```erb
|
256
|
+
<%= line_chart data, round: 2 %>
|
257
|
+
```
|
258
|
+
|
259
|
+
Show insignificant zeros, useful for currency - *Chart.js, Highcharts*
|
260
|
+
|
261
|
+
```erb
|
262
|
+
<%= line_chart data, round: 2, zeros: true %>
|
263
|
+
```
|
264
|
+
|
265
|
+
Friendly byte sizes - *Chart.js 2.8+*
|
266
|
+
|
267
|
+
```erb
|
268
|
+
<%= line_chart data, bytes: true %>
|
269
|
+
```
|
270
|
+
|
209
271
|
Show a message when data is empty
|
210
272
|
|
211
273
|
```erb
|
@@ -257,18 +319,19 @@ You capture the JavaScript in a content block with:
|
|
257
319
|
Chartkick.options[:content_for] = :charts_js
|
258
320
|
```
|
259
321
|
|
260
|
-
Then, in your layout:
|
322
|
+
Then, in your layout, use:
|
261
323
|
|
262
324
|
```erb
|
263
|
-
<%= yield :charts_js %>
|
264
|
-
<%= yield_content :charts_js %> <!-- Padrino -->
|
325
|
+
<%= yield :charts_js %>
|
265
326
|
```
|
266
327
|
|
328
|
+
For Padrino, use `yield_content` instead of `yield`.
|
329
|
+
|
267
330
|
This is great for including all of your JavaScript at the bottom of the page.
|
268
331
|
|
269
332
|
### Data
|
270
333
|
|
271
|
-
Pass data as a
|
334
|
+
Pass data as a hash or array
|
272
335
|
|
273
336
|
```erb
|
274
337
|
<%= pie_chart({"Football" => 10, "Basketball" => 5}) %>
|
@@ -284,12 +347,33 @@ For multiple series, use the format
|
|
284
347
|
] %>
|
285
348
|
```
|
286
349
|
|
287
|
-
Times can be a time
|
350
|
+
Times can be a time or a string (strings are parsed)
|
288
351
|
|
289
352
|
```erb
|
290
|
-
<%= line_chart({20.day.ago => 5,
|
353
|
+
<%= line_chart({20.day.ago => 5, "2013-05-07 00:00:00 UTC" => 7}) %>
|
291
354
|
```
|
292
355
|
|
356
|
+
### Multiple Series
|
357
|
+
|
358
|
+
You can pass a few options with a series:
|
359
|
+
|
360
|
+
- `name`
|
361
|
+
- `data`
|
362
|
+
- `color`
|
363
|
+
- `dataset` - *Chart.js only*
|
364
|
+
- `points` - *Chart.js only*
|
365
|
+
- `curve` - *Chart.js only*
|
366
|
+
|
367
|
+
### Code
|
368
|
+
|
369
|
+
If you want to use the charting library directly, get the code with:
|
370
|
+
|
371
|
+
```erb
|
372
|
+
<%= line_chart data, code: true %>
|
373
|
+
```
|
374
|
+
|
375
|
+
The code will be logged to the JavaScript console. JavaScript functions cannot be logged, so it may not be identical.
|
376
|
+
|
293
377
|
### Download Charts
|
294
378
|
|
295
379
|
*Chart.js only*
|
@@ -300,13 +384,25 @@ Give users the ability to download charts. It all happens in the browser - no se
|
|
300
384
|
<%= line_chart data, download: true %>
|
301
385
|
```
|
302
386
|
|
387
|
+
Safari will open the image in a new window instead of downloading.
|
388
|
+
|
303
389
|
Set the filename
|
304
390
|
|
305
391
|
```erb
|
306
|
-
<%= line_chart data, download: "boom" %>
|
392
|
+
<%= line_chart data, download: {filename: "boom"} %>
|
307
393
|
```
|
308
394
|
|
309
|
-
|
395
|
+
Set the background color
|
396
|
+
|
397
|
+
```erb
|
398
|
+
<%= line_chart data, download: {background: "#ffffff"} %>
|
399
|
+
```
|
400
|
+
|
401
|
+
Set title
|
402
|
+
|
403
|
+
```erb
|
404
|
+
<%= line_chart data, title: "Awesome chart" %>
|
405
|
+
```
|
310
406
|
|
311
407
|
## Installation
|
312
408
|
|
@@ -318,91 +414,116 @@ gem "chartkick"
|
|
318
414
|
|
319
415
|
Next, choose your charting library.
|
320
416
|
|
321
|
-
|
417
|
+
- [Chart.js](#chart-js)
|
418
|
+
- [Google Charts](#google-charts)
|
419
|
+
- [Highcharts](#highcharts)
|
322
420
|
|
323
|
-
|
421
|
+
In the instructions below, `application.js` must be included **before** the charts in your views, unless using the `:content_for` option.
|
324
422
|
|
325
|
-
|
423
|
+
### Chart.js
|
326
424
|
|
327
|
-
|
425
|
+
For Rails 6 / Webpacker, run:
|
328
426
|
|
329
|
-
```
|
330
|
-
|
331
|
-
//= require chartkick
|
427
|
+
```sh
|
428
|
+
yarn add chartkick chart.js
|
332
429
|
```
|
333
430
|
|
334
|
-
|
431
|
+
And in `app/javascript/packs/application.js`, add:
|
432
|
+
|
433
|
+
```js
|
434
|
+
require("chartkick")
|
435
|
+
require("chart.js")
|
436
|
+
```
|
335
437
|
|
336
|
-
|
438
|
+
For Rails 5 / Sprockets, in `app/assets/javascripts/application.js`, add:
|
337
439
|
|
338
440
|
```js
|
339
441
|
//= require chartkick
|
442
|
+
//= require Chart.bundle
|
340
443
|
```
|
341
444
|
|
342
|
-
|
445
|
+
### Google Charts
|
446
|
+
|
447
|
+
In your layout or views, add:
|
343
448
|
|
344
449
|
```erb
|
345
450
|
<%= javascript_include_tag "https://www.gstatic.com/charts/loader.js" %>
|
346
451
|
```
|
347
452
|
|
348
|
-
|
453
|
+
For Rails 6 / Webpacker, run:
|
349
454
|
|
350
|
-
|
455
|
+
```sh
|
456
|
+
yarn add chartkick
|
457
|
+
```
|
351
458
|
|
352
|
-
|
459
|
+
And in `app/javascript/packs/application.js`, add:
|
353
460
|
|
354
461
|
```js
|
355
|
-
|
356
|
-
//= require chartkick
|
462
|
+
require("chartkick")
|
357
463
|
```
|
358
464
|
|
359
|
-
|
465
|
+
For Rails 5 / Sprockets, in `app/assets/javascripts/application.js`, add:
|
360
466
|
|
361
|
-
|
467
|
+
```js
|
468
|
+
//= require chartkick
|
469
|
+
```
|
362
470
|
|
363
|
-
|
471
|
+
To specify a language or Google Maps API key, use:
|
364
472
|
|
365
|
-
```
|
366
|
-
|
473
|
+
```js
|
474
|
+
Chartkick.configure({language: "de", mapsApiKey: "..."})
|
367
475
|
```
|
368
476
|
|
369
|
-
|
477
|
+
before your charts.
|
478
|
+
|
479
|
+
### Highcharts
|
370
480
|
|
371
|
-
|
372
|
-
import Chartkick from "chartkick";
|
373
|
-
window.Chartkick = Chartkick;
|
481
|
+
For Rails 6 / Webpacker, run:
|
374
482
|
|
375
|
-
|
376
|
-
|
377
|
-
|
483
|
+
```sh
|
484
|
+
yarn add chartkick highcharts
|
485
|
+
```
|
378
486
|
|
379
|
-
|
380
|
-
import Highcharts from "highcharts";
|
381
|
-
Chartkick.addAdapter(Highcharts);
|
487
|
+
And in `app/javascript/packs/application.js`, add:
|
382
488
|
|
383
|
-
|
384
|
-
|
489
|
+
```js
|
490
|
+
require("chartkick").use(require("highcharts"))
|
385
491
|
```
|
386
492
|
|
387
|
-
|
493
|
+
For Rails 5 / Sprockets, download [highcharts.js](https://code.highcharts.com/highcharts.js) into `vendor/assets/javascripts` (or use `yarn add highcharts` in Rails 5.1+), and in `app/assets/javascripts/application.js`, add:
|
494
|
+
|
495
|
+
```js
|
496
|
+
//= require chartkick
|
497
|
+
//= require highcharts
|
498
|
+
```
|
388
499
|
|
389
500
|
### Sinatra and Padrino
|
390
501
|
|
391
|
-
|
502
|
+
Download [chartkick.js](https://raw.githubusercontent.com/ankane/chartkick/master/vendor/assets/javascripts/chartkick.js) and include it manually.
|
392
503
|
|
393
504
|
```html
|
394
505
|
<script src="chartkick.js"></script>
|
395
506
|
```
|
396
507
|
|
397
|
-
|
508
|
+
Then include the charting library.
|
398
509
|
|
399
|
-
|
510
|
+
Chart.js - download [Chart.bundle.js](https://unpkg.com/chart.js@2/dist/Chart.bundle.js)
|
400
511
|
|
401
|
-
```
|
402
|
-
|
512
|
+
```html
|
513
|
+
<script src="Chart.bundle.js"></script>
|
403
514
|
```
|
404
515
|
|
405
|
-
|
516
|
+
Google Charts
|
517
|
+
|
518
|
+
```html
|
519
|
+
<script src="https://www.gstatic.com/charts/loader.js"></script>
|
520
|
+
```
|
521
|
+
|
522
|
+
Highcharts - download [highcharts.js](https://code.highcharts.com/highcharts.js)
|
523
|
+
|
524
|
+
```html
|
525
|
+
<script src="highcharts.js"></script>
|
526
|
+
```
|
406
527
|
|
407
528
|
### Multiple Libraries
|
408
529
|
|
@@ -461,6 +582,12 @@ Redraw the chart with:
|
|
461
582
|
chart.redraw()
|
462
583
|
```
|
463
584
|
|
585
|
+
Destroy the chart with:
|
586
|
+
|
587
|
+
```javascript
|
588
|
+
chart.destroy()
|
589
|
+
```
|
590
|
+
|
464
591
|
Loop over charts with:
|
465
592
|
|
466
593
|
```javascript
|
@@ -469,6 +596,10 @@ Chartkick.eachChart( function(chart) {
|
|
469
596
|
})
|
470
597
|
```
|
471
598
|
|
599
|
+
## Content Security Policy (CSP)
|
600
|
+
|
601
|
+
Check out [how to configure CSP](https://github.com/ankane/chartkick/blob/master/guides/Content-Security-Policy.md)
|
602
|
+
|
472
603
|
## No Ruby? No Problem
|
473
604
|
|
474
605
|
Check out [chartkick.js](https://github.com/ankane/chartkick.js)
|
@@ -476,18 +607,21 @@ Check out [chartkick.js](https://github.com/ankane/chartkick.js)
|
|
476
607
|
## Tutorials
|
477
608
|
|
478
609
|
- [Charts with Chartkick and Groupdate](https://gorails.com/episodes/charts-with-chartkick-and-groupdate)
|
610
|
+
- [Creando gráficos en Ruby on Rails con Chartkick y Chart.js](https://www.youtube.com/watch?v=W92AlkwQn3M)
|
479
611
|
- [Make Easy Graphs and Charts on Rails with Chartkick](https://www.sitepoint.com/make-easy-graphs-and-charts-on-rails-with-chartkick/)
|
480
612
|
- [Practical Graphs on Rails: Chartkick in Practice](https://www.sitepoint.com/graphs-on-rails-chartkick-in-practice/)
|
481
613
|
|
482
614
|
## Upgrading
|
483
615
|
|
484
|
-
###
|
616
|
+
### 3.0
|
485
617
|
|
486
618
|
Breaking changes
|
487
619
|
|
488
|
-
-
|
489
|
-
-
|
490
|
-
-
|
620
|
+
- Removed support for Rails < 4.2
|
621
|
+
- Removed chartkick.js from asset precompile (no longer needed)
|
622
|
+
- Removed `xtype` option - numeric axes are automatically detected
|
623
|
+
- Removed `window.Chartkick = {...}` way to set config - use `Chartkick.configure` instead
|
624
|
+
- Removed support for the Google Charts jsapi loader - use loader.js instead
|
491
625
|
|
492
626
|
## Credits
|
493
627
|
|
@@ -497,8 +631,6 @@ Chartkick uses [iso8601.js](https://github.com/Do/iso8601.js) to parse dates and
|
|
497
631
|
|
498
632
|
View the [changelog](https://github.com/ankane/chartkick/blob/master/CHANGELOG.md)
|
499
633
|
|
500
|
-
Chartkick follows [Semantic Versioning](https://semver.org/)
|
501
|
-
|
502
634
|
## Contributing
|
503
635
|
|
504
636
|
Everyone is encouraged to help improve this project. Here are a few ways you can help:
|
@@ -507,3 +639,12 @@ Everyone is encouraged to help improve this project. Here are a few ways you can
|
|
507
639
|
- Fix bugs and [submit pull requests](https://github.com/ankane/chartkick/pulls)
|
508
640
|
- Write, clarify, or fix documentation
|
509
641
|
- Suggest or add new features
|
642
|
+
|
643
|
+
To get started with development:
|
644
|
+
|
645
|
+
```sh
|
646
|
+
git clone https://github.com/ankane/chartkick.git
|
647
|
+
cd chartkick
|
648
|
+
bundle install
|
649
|
+
bundle exec rake test
|
650
|
+
```
|