highcharts-rails 5.0.12 → 5.0.13
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.markdown +59 -0
- data/app/assets/javascripts/highcharts.js +6250 -788
- data/app/assets/javascripts/highcharts/highcharts-3d.js +210 -25
- data/app/assets/javascripts/highcharts/highcharts-more.js +908 -22
- data/app/assets/javascripts/highcharts/modules/accessibility.js +272 -64
- data/app/assets/javascripts/highcharts/modules/annotations.js +1 -1
- data/app/assets/javascripts/highcharts/modules/boost.js +89 -66
- data/app/assets/javascripts/highcharts/modules/broken-axis.js +65 -4
- data/app/assets/javascripts/highcharts/modules/data.js +1 -1
- data/app/assets/javascripts/highcharts/modules/drilldown.js +234 -17
- data/app/assets/javascripts/highcharts/modules/exporting.js +508 -69
- data/app/assets/javascripts/highcharts/modules/funnel.js +129 -8
- data/app/assets/javascripts/highcharts/modules/grid-axis.js +1 -1
- data/app/assets/javascripts/highcharts/modules/heatmap.js +361 -44
- data/app/assets/javascripts/highcharts/modules/no-data-to-display.js +64 -1
- data/app/assets/javascripts/highcharts/modules/offline-exporting.js +44 -44
- data/app/assets/javascripts/highcharts/modules/overlapping-datalabels.js +26 -3
- data/app/assets/javascripts/highcharts/modules/series-label.js +19 -1
- data/app/assets/javascripts/highcharts/modules/solid-gauge.js +14 -5
- data/app/assets/javascripts/highcharts/modules/stock.js +1122 -86
- data/app/assets/javascripts/highcharts/modules/treemap.js +265 -43
- data/app/assets/javascripts/highcharts/modules/xrange-series.js +1 -1
- data/lib/highcharts/version.rb +1 -1
- metadata +1 -1
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v5.0.
|
2
|
+
* @license Highcharts JS v5.0.13 (2017-07-27)
|
3
3
|
*
|
4
4
|
* (c) 2014 Highsoft AS
|
5
5
|
* Authors: Jon Arild Nygard / Oystein Moseng
|
@@ -62,44 +62,281 @@
|
|
62
62
|
};
|
63
63
|
|
64
64
|
// The Treemap series type
|
65
|
+
/**
|
66
|
+
* @extends {plotOptions.scatter}
|
67
|
+
* @optionparent plotOptions.treemap
|
68
|
+
*/
|
65
69
|
seriesType('treemap', 'scatter', {
|
70
|
+
|
71
|
+
/**
|
72
|
+
* Whether to display this series type or specific series item in the
|
73
|
+
* legend.
|
74
|
+
*
|
75
|
+
* @type {Boolean}
|
76
|
+
* @default false
|
77
|
+
* @product highcharts
|
78
|
+
*/
|
66
79
|
showInLegend: false,
|
80
|
+
|
81
|
+
/**
|
82
|
+
*/
|
67
83
|
marker: false,
|
84
|
+
|
85
|
+
/**
|
86
|
+
* @extends plotOptions.heatmap.dataLabels
|
87
|
+
* @since 4.1.0
|
88
|
+
* @product highcharts
|
89
|
+
*/
|
68
90
|
dataLabels: {
|
91
|
+
|
92
|
+
/**
|
93
|
+
* Enable or disable the data labels.
|
94
|
+
*
|
95
|
+
* @type {Boolean}
|
96
|
+
* @sample {highcharts} highcharts/plotoptions/series-datalabels-enabled/ Data labels enabled
|
97
|
+
* @default true
|
98
|
+
* @since 4.1.0
|
99
|
+
* @product highcharts
|
100
|
+
*/
|
69
101
|
enabled: true,
|
102
|
+
|
103
|
+
/**
|
104
|
+
* Whether to defer displaying the data labels until the initial series
|
105
|
+
* animation has finished.
|
106
|
+
*
|
107
|
+
* @type {Boolean}
|
108
|
+
* @default false
|
109
|
+
* @since 4.1.0
|
110
|
+
* @product highcharts
|
111
|
+
*/
|
70
112
|
defer: false,
|
113
|
+
|
114
|
+
/**
|
115
|
+
* The vertical alignment of a data label. Can be one of top, middle
|
116
|
+
* or bottom. The default value depends on the data, for instance
|
117
|
+
* in a column chart, the label is above positive values and below
|
118
|
+
* negative values.
|
119
|
+
*
|
120
|
+
* @type {String}
|
121
|
+
* @default middle
|
122
|
+
* @since 4.1.0
|
123
|
+
* @product highcharts
|
124
|
+
*/
|
71
125
|
verticalAlign: 'middle',
|
126
|
+
|
127
|
+
/**
|
128
|
+
*/
|
72
129
|
formatter: function() { // #2945
|
73
130
|
return this.point.name || this.point.id;
|
74
131
|
},
|
132
|
+
|
133
|
+
/**
|
134
|
+
* Whether to align the data label inside the box or to the actual
|
135
|
+
* value point.
|
136
|
+
*
|
137
|
+
* @type {Boolean}
|
138
|
+
* @default true
|
139
|
+
* @since 4.1.0
|
140
|
+
* @product highcharts
|
141
|
+
*/
|
75
142
|
inside: true
|
76
143
|
},
|
144
|
+
|
145
|
+
/**
|
146
|
+
* @extends plotOptions.heatmap.tooltip
|
147
|
+
* @since 4.1.0
|
148
|
+
* @product highcharts
|
149
|
+
*/
|
77
150
|
tooltip: {
|
151
|
+
|
152
|
+
/**
|
153
|
+
* The HTML of the tooltip header line. Variables are enclosed by
|
154
|
+
* curly brackets. Available variables are point.key, series.name,
|
155
|
+
* series.color and other members from the point and series objects.
|
156
|
+
* The point.key variable contains the category name, x value or
|
157
|
+
* datetime string depending on the type of axis. For datetime axes,
|
158
|
+
* the point.key date format can be set using tooltip.xDateFormat.
|
159
|
+
*
|
160
|
+
* @type {String}
|
161
|
+
* @sample {highcharts} highcharts/tooltip/footerformat/ A HTML table in the tooltip
|
162
|
+
* @default ""
|
163
|
+
* @since 4.1.0
|
164
|
+
* @product highcharts
|
165
|
+
*/
|
78
166
|
headerFormat: '',
|
167
|
+
|
168
|
+
/**
|
169
|
+
* The HTML of the point's line in the tooltip. Variables are enclosed
|
170
|
+
* by curly brackets. Available variables are point.x, point.y, series.
|
171
|
+
* name and series.color and other properties on the same form. Furthermore,
|
172
|
+
* point.y can be extended by the tooltip.yPrefix and tooltip.ySuffix
|
173
|
+
* variables. This can also be overridden for each series, which makes
|
174
|
+
* it a good hook for displaying units.
|
175
|
+
*
|
176
|
+
* @type {String}
|
177
|
+
* @sample {highcharts} highcharts/tooltip/pointformat/ A different point format with value suffix
|
178
|
+
* @default "<b>{point.name}</b>: {point.value}</b><br/>"
|
179
|
+
* @since 4.1.0
|
180
|
+
* @product highcharts
|
181
|
+
*/
|
79
182
|
pointFormat: '<b>{point.name}</b>: {point.value}</b><br/>'
|
80
183
|
},
|
184
|
+
|
185
|
+
/**
|
186
|
+
* Whether to ignore hidden points when the layout algorithm runs.
|
187
|
+
* If `false`, hidden points will leave open spaces.
|
188
|
+
*
|
189
|
+
* @type {Boolean}
|
190
|
+
* @default true
|
191
|
+
* @since 5.0.8
|
192
|
+
* @product highcharts
|
193
|
+
*/
|
81
194
|
ignoreHiddenPoint: true,
|
195
|
+
|
196
|
+
/**
|
197
|
+
* This option decides which algorithm is used for setting position
|
198
|
+
* and dimensions of the points. Can be one of `sliceAndDice`, `stripes`,
|
199
|
+
* `squarified` or `strip`.
|
200
|
+
*
|
201
|
+
* @validvalue ["sliceAndDice", "stripes", "squarified", "strip"]
|
202
|
+
* @type {String}
|
203
|
+
* @see [How to write your own algorithm](http://www.highcharts.com/docs/chart-
|
204
|
+
* and-series-types/treemap)
|
205
|
+
* @sample {highcharts} highcharts/plotoptions/treemap-layoutalgorithm-sliceanddice/ SliceAndDice by default
|
206
|
+
* @sample {highcharts} highcharts/plotoptions/treemap-layoutalgorithm-stripes/ Stripes
|
207
|
+
* @sample {highcharts} highcharts/plotoptions/treemap-layoutalgorithm-squarified/ Squarified
|
208
|
+
* @sample {highcharts} highcharts/plotoptions/treemap-layoutalgorithm-strip/ Strip
|
209
|
+
* @default sliceAndDice
|
210
|
+
* @since 4.1.0
|
211
|
+
* @product highcharts
|
212
|
+
*/
|
82
213
|
layoutAlgorithm: 'sliceAndDice',
|
214
|
+
|
215
|
+
/**
|
216
|
+
* Defines which direction the layout algorithm will start drawing.
|
217
|
+
* Possible values are "vertical" and "horizontal".
|
218
|
+
*
|
219
|
+
* @validvalue ["vertical", "horizontal"]
|
220
|
+
* @type {String}
|
221
|
+
* @default vertical
|
222
|
+
* @since 4.1.0
|
223
|
+
* @product highcharts
|
224
|
+
*/
|
83
225
|
layoutStartingDirection: 'vertical',
|
226
|
+
|
227
|
+
/**
|
228
|
+
* Enabling this option will make the treemap alternate the drawing
|
229
|
+
* direction between vertical and horizontal. The next levels starting
|
230
|
+
* direction will always be the opposite of the previous.
|
231
|
+
*
|
232
|
+
* @type {Boolean}
|
233
|
+
* @sample {highcharts} highcharts/plotoptions/treemap-alternatestartingdirection-true/ Enabled
|
234
|
+
* @default false
|
235
|
+
* @since 4.1.0
|
236
|
+
* @product highcharts
|
237
|
+
*/
|
84
238
|
alternateStartingDirection: false,
|
239
|
+
|
240
|
+
/**
|
241
|
+
* Used together with the levels and allowDrillToNode options. When
|
242
|
+
* set to false the first level visible when drilling is considered
|
243
|
+
* to be level one. Otherwise the level will be the same as the tree
|
244
|
+
* structure.
|
245
|
+
*
|
246
|
+
* @validvalue [true, false]
|
247
|
+
* @type {Boolean}
|
248
|
+
* @default true
|
249
|
+
* @since 4.1.0
|
250
|
+
* @product highcharts
|
251
|
+
*/
|
85
252
|
levelIsConstant: true,
|
253
|
+
|
254
|
+
/**
|
255
|
+
*/
|
86
256
|
drillUpButton: {
|
257
|
+
|
258
|
+
/**
|
259
|
+
*/
|
87
260
|
position: {
|
261
|
+
|
262
|
+
/**
|
263
|
+
*/
|
88
264
|
align: 'right',
|
265
|
+
|
266
|
+
/**
|
267
|
+
*/
|
89
268
|
x: -10,
|
269
|
+
|
270
|
+
/**
|
271
|
+
*/
|
90
272
|
y: 10
|
91
273
|
}
|
92
274
|
},
|
93
275
|
|
94
276
|
// Presentational options
|
277
|
+
|
278
|
+
/**
|
279
|
+
* The color of the border surrounding each tree map item.
|
280
|
+
*
|
281
|
+
* @type {Color}
|
282
|
+
* @default #e6e6e6
|
283
|
+
* @product highcharts
|
284
|
+
*/
|
95
285
|
borderColor: '#e6e6e6',
|
286
|
+
|
287
|
+
/**
|
288
|
+
*/
|
96
289
|
borderWidth: 1,
|
290
|
+
|
291
|
+
/**
|
292
|
+
* The opacity of a point in treemap. When a point has children, the
|
293
|
+
* visibility of the children is determined by the opacity.
|
294
|
+
*
|
295
|
+
* @type {Number}
|
296
|
+
* @default 0.15
|
297
|
+
* @since 4.2.4
|
298
|
+
* @product highcharts
|
299
|
+
*/
|
97
300
|
opacity: 0.15,
|
301
|
+
|
302
|
+
/**
|
303
|
+
* A wrapper object for all the series options in specific states.
|
304
|
+
*
|
305
|
+
* @extends plotOptions.heatmap.states
|
306
|
+
* @product highcharts
|
307
|
+
*/
|
98
308
|
states: {
|
309
|
+
|
310
|
+
/**
|
311
|
+
* Options for the hovered series
|
312
|
+
*
|
313
|
+
* @extends plotOptions.heatmap.states.hover
|
314
|
+
* @excluding halo
|
315
|
+
* @product highcharts
|
316
|
+
*/
|
99
317
|
hover: {
|
318
|
+
|
319
|
+
/**
|
320
|
+
*/
|
100
321
|
borderColor: '#999999',
|
322
|
+
|
323
|
+
/**
|
324
|
+
*/
|
101
325
|
brightness: seriesTypes.heatmap ? 0 : 0.1,
|
326
|
+
|
327
|
+
/**
|
328
|
+
* The opacity of a point in treemap. When a point has children,
|
329
|
+
* the visibility of the children is determined by the opacity.
|
330
|
+
*
|
331
|
+
* @type {Number}
|
332
|
+
* @default 0.75
|
333
|
+
* @since 4.2.4
|
334
|
+
* @product highcharts
|
335
|
+
*/
|
102
336
|
opacity: 0.75,
|
337
|
+
|
338
|
+
/**
|
339
|
+
*/
|
103
340
|
shadow: false
|
104
341
|
}
|
105
342
|
}
|
@@ -109,6 +346,7 @@
|
|
109
346
|
}, {
|
110
347
|
pointArrayMap: ['value'],
|
111
348
|
axisTypes: seriesTypes.heatmap ? ['xAxis', 'yAxis', 'colorAxis'] : ['xAxis', 'yAxis'],
|
349
|
+
directTouch: true,
|
112
350
|
optionalAxis: 'colorAxis',
|
113
351
|
getSymbol: noop,
|
114
352
|
parallelArrays: ['x', 'y', 'value', 'colorValue'],
|
@@ -196,51 +434,13 @@
|
|
196
434
|
children = [],
|
197
435
|
val,
|
198
436
|
point = series.points[tree.i];
|
199
|
-
// Parents of the root node is by default visible
|
200
|
-
recursive(series.nodeMap[series.rootNode], function(node) {
|
201
|
-
var next = false,
|
202
|
-
p = node.parent;
|
203
|
-
node.visible = true;
|
204
|
-
if (p || p === '') {
|
205
|
-
next = series.nodeMap[p];
|
206
|
-
}
|
207
|
-
return next;
|
208
|
-
});
|
209
|
-
// Children of the root node is by default visible
|
210
|
-
recursive(series.nodeMap[series.rootNode].children, function(children) {
|
211
|
-
var next = false;
|
212
|
-
each(children, function(child) {
|
213
|
-
child.visible = true;
|
214
|
-
if (child.children.length) {
|
215
|
-
next = (next || []).concat(child.children);
|
216
|
-
}
|
217
|
-
});
|
218
|
-
return next;
|
219
|
-
});
|
220
437
|
|
221
438
|
// First give the children some values
|
222
439
|
each(tree.children, function(child) {
|
223
440
|
child = series.setTreeValues(child);
|
224
441
|
children.push(child);
|
225
|
-
|
226
442
|
if (!child.ignore) {
|
227
443
|
childrenTotal += child.val;
|
228
|
-
} else {
|
229
|
-
// @todo Add predicate to avoid looping already ignored children
|
230
|
-
recursive(child.children, function(children) {
|
231
|
-
var next = false;
|
232
|
-
each(children, function(node) {
|
233
|
-
extend(node, {
|
234
|
-
ignore: true,
|
235
|
-
isLeaf: false,
|
236
|
-
visible: false
|
237
|
-
});
|
238
|
-
if (node.children.length) {
|
239
|
-
next = (next || []).concat(node.children);
|
240
|
-
}
|
241
|
-
});
|
242
|
-
return next;
|
243
|
-
});
|
244
444
|
}
|
245
445
|
});
|
246
446
|
// Sort the children
|
@@ -258,7 +458,7 @@
|
|
258
458
|
// Ignore this node if point is not visible
|
259
459
|
ignore: !(pick(point && point.visible, true) && (val > 0)),
|
260
460
|
isLeaf: tree.visible && !childrenTotal,
|
261
|
-
levelDynamic:
|
461
|
+
levelDynamic: tree.level - (options.levelIsConstant ? series.nodeMap[series.rootNode].level : 0),
|
262
462
|
name: pick(point && point.name, ''),
|
263
463
|
sortIndex: pick(point && point.sortIndex, -val),
|
264
464
|
val: val
|
@@ -607,6 +807,27 @@
|
|
607
807
|
rootId = series.rootNode;
|
608
808
|
rootNode = series.nodeMap[rootId];
|
609
809
|
}
|
810
|
+
// Parents of the root node is by default visible
|
811
|
+
recursive(series.nodeMap[series.rootNode], function(node) {
|
812
|
+
var next = false,
|
813
|
+
p = node.parent;
|
814
|
+
node.visible = true;
|
815
|
+
if (p || p === '') {
|
816
|
+
next = series.nodeMap[p];
|
817
|
+
}
|
818
|
+
return next;
|
819
|
+
});
|
820
|
+
// Children of the root node is by default visible
|
821
|
+
recursive(series.nodeMap[series.rootNode].children, function(children) {
|
822
|
+
var next = false;
|
823
|
+
each(children, function(child) {
|
824
|
+
child.visible = true;
|
825
|
+
if (child.children.length) {
|
826
|
+
next = (next || []).concat(child.children);
|
827
|
+
}
|
828
|
+
});
|
829
|
+
return next;
|
830
|
+
});
|
610
831
|
series.setTreeValues(tree);
|
611
832
|
|
612
833
|
// Calculate plotting values.
|
@@ -696,8 +917,9 @@
|
|
696
917
|
alignDataLabel: function(point) {
|
697
918
|
seriesTypes.column.prototype.alignDataLabel.apply(this, arguments);
|
698
919
|
if (point.dataLabel) {
|
920
|
+
// point.node.zIndex could be undefined (#6956)
|
699
921
|
point.dataLabel.attr({
|
700
|
-
zIndex: point.node.zIndex + 1
|
922
|
+
zIndex: (point.node.zIndex || 0) + 1
|
701
923
|
});
|
702
924
|
}
|
703
925
|
},
|
@@ -795,7 +1017,7 @@
|
|
795
1017
|
* Finds the drill id for a parent node.
|
796
1018
|
* Returns false if point should not have a click event
|
797
1019
|
* @param {Object} point
|
798
|
-
* @return {
|
1020
|
+
* @return {String|Boolean} Drill to id or false when point should not have a click event
|
799
1021
|
*/
|
800
1022
|
drillToByGroup: function(point) {
|
801
1023
|
var series = this,
|
@@ -809,7 +1031,7 @@
|
|
809
1031
|
* Finds the drill id for a leaf node.
|
810
1032
|
* Returns false if point should not have a click event
|
811
1033
|
* @param {Object} point
|
812
|
-
* @return {
|
1034
|
+
* @return {String|Boolean} Drill to id or false when point should not have a click event
|
813
1035
|
*/
|
814
1036
|
drillToByLeaf: function(point) {
|
815
1037
|
var series = this,
|
data/lib/highcharts/version.rb
CHANGED