highcharts-rails 3.0.8 → 3.0.9
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
- checksums.yaml.gz.asc +13 -13
- data.tar.gz.asc +13 -13
- data/CHANGELOG.markdown +20 -0
- data/app/assets/javascripts/highcharts.js +94 -87
- data/app/assets/javascripts/highcharts/adapters/mootools-adapter.js +1 -1
- data/app/assets/javascripts/highcharts/adapters/prototype-adapter.js +1 -1
- data/app/assets/javascripts/highcharts/adapters/standalone-framework.js +1 -1
- data/app/assets/javascripts/highcharts/highcharts-more.js +6 -3
- data/app/assets/javascripts/highcharts/modules/canvas-tools.js +1 -1
- data/app/assets/javascripts/highcharts/modules/data.js +19 -6
- data/app/assets/javascripts/highcharts/modules/drilldown.js +13 -5
- data/app/assets/javascripts/highcharts/modules/exporting.js +3 -3
- data/app/assets/javascripts/highcharts/modules/no-data-to-display.js +1 -1
- data/lib/highcharts/version.rb +1 -1
- metadata +2 -2
- metadata.gz.asc +13 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e24562dd01a4658fb93f40796dca0312b6f9ac68
|
4
|
+
data.tar.gz: 44ff0bfcf4d78c5e8aef8a354f8c3b7f0fe450c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15b919d02b6e1d2f84fa4d56f70214c12c2babac3031aac05dda8f094e476ac76eba920396999bdb52407934333601098607053727d70a9ff95a451365b61144
|
7
|
+
data.tar.gz: 832f0b1bde80d4cf886f5d760dfb6ec2173b30a038582a4403eb5f2a3851adafb8d0714a22ff3ff3fcdaee345711510659326e250f69b104b529ad78243192d3
|
checksums.yaml.gz.asc
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
|
3
3
|
Comment: GPGTools - http://gpgtools.org
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
=
|
5
|
+
iQIcBAABAgAGBQJS1mNAAAoJEH1ncb0Txu7X14wP+wVxkh+IpSrYl9UobGQGiEtg
|
6
|
+
UKL72qT4iyLmmhDjZ6uoWUV4vqLZ5o9fRda1UDME/dypHZ34itoLeiTC8NWPvstF
|
7
|
+
5gdte22q2TWT2+/7Hq1oUyd1LO2FQRJgcrcypi8gNZrhzFvMgNjh0T3mVo9vP28Z
|
8
|
+
JV4BKakda/uqKvj3f2crubtAKMJzlVzeUYJWLTuYXXFCUC6N6Ii/cUjdVF5o2xX5
|
9
|
+
tSTyX/KNt3eEe8cfxPs9aGRKy8/0lZDwPtYSZqzLrBtkjDlfKOcu8Vt16TazdEOO
|
10
|
+
eLujL7DAYe7hJVWxpVOIL5xYsxYC53nxkY7wT8Le/SOcvwp4ljtMEIFahT/n4rY1
|
11
|
+
pGV5k8HZgdRkrQXIkvw6cGc3YUcfSPZ+Cd6iOpmt8E4+rGIDu/fQ8r08545/UzMF
|
12
|
+
3ymNmNBCkvf3dFbkGMBd+CrNfl+OC4VFXG4VYOahUm1oR0flxr9wvdYFitYHueVQ
|
13
|
+
2f8hYHOTwZOT/JrmdLPXcS9WXVTu11jBvTDfAfre3fgRPdHprE1SKkwYURoEGVOJ
|
14
|
+
K9gTka4Fi4phXoitTHBq8U8PCkNjaEJQrZHue3PnXFvXfljoaAVpLTnoPr4Rn6Yu
|
15
|
+
CLp7V3AUrLZIaZ/DzbwwemJ3cTkb7rFgZiT9mccxBUMllaPIgKBUeVEHgwSCVz58
|
16
|
+
DTkBqgruP1mZW6+jLh15
|
17
|
+
=ArMS
|
18
18
|
-----END PGP SIGNATURE-----
|
data.tar.gz.asc
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
|
3
3
|
Comment: GPGTools - http://gpgtools.org
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
=
|
5
|
+
iQIcBAABAgAGBQJS1mNAAAoJEH1ncb0Txu7XwbQQALDnpvWuEFOtD6jgkTz+j5jy
|
6
|
+
hCGBBzp0ntgiSYKOxUnDSOhpKRaYC3KVsi5u/SUE/QgXbBSeq34Trwzu6eLf5OUd
|
7
|
+
JI+M6V77Ys4JSOdhmbUoP3MYhsOEUFScy+o1/PRijxTwoITfGcgU2R4b54h7V/5B
|
8
|
+
E/SjBp0McUmgvgkgBFzf+ePD4bZML/SWAMGAh74ln5jHtbT1BcNZACTzZlcwYMjS
|
9
|
+
JJ83hVyqZCyX81ybTHhCKlCXIxutkKiDBKDhbQ3VKBlbbBCfFHzSC5fo9JNUI+mY
|
10
|
+
SyDx7vltGoOEwHlemiJup9m1IgzjURNn8kb3iUWNhV5M2SF2pr8WJeWAFg3IYCVD
|
11
|
+
vM0yh/Kb4/IBN3hAhLIvAuOezBvYD6+S2QxnVRaD+3lZLR+EBnN0ActgObzbMmQ0
|
12
|
+
wh3nyfWKHsN1rj4hvwg9S+mgGrUX+L3MCn/6tVFtKqQqv/eyiBO9jrp19JKrRIR9
|
13
|
+
9b4QhzBpC/Ndyao8BxrLi/LZTV9RaPAQ3ViWjpzLPqEEVPD18u9vmlNNLk5YtNyU
|
14
|
+
VPYuYy6uKRJfEt3OalxPGHE0Q5uy43rVqUaFtzpJvniI2yLgDksY4LhMGu7+BxO6
|
15
|
+
6lw288GM5J8serY04nHyRPFpwDVh0pODO3LUzvaeO3PhhRWloraQrdR4q0Sn5TGw
|
16
|
+
utTFR5Gct1/T+ggURhWP
|
17
|
+
=Edn+
|
18
18
|
-----END PGP SIGNATURE-----
|
data/CHANGELOG.markdown
CHANGED
@@ -1,3 +1,23 @@
|
|
1
|
+
# 3.0.9 / 2014-01-15
|
2
|
+
|
3
|
+
* Updated Highcharts to 3.0.9
|
4
|
+
* Added bower.json file. Closes #2244.
|
5
|
+
* Fixed JS error on quickly moving the mouse out of a chart. Related to #2499.
|
6
|
+
* Fixed issue with text positioning in modern IE when CSS line height was much smaller than font size. Closes #2444. Closes #2568. Closes #2569. Affects #2591.
|
7
|
+
* Fixed issue with crosshairs not exactly following the tooltip, mostly visible ou touch devices. Closes #2582
|
8
|
+
* Fixed issue with categorized Y axis on gauges being positioned wrong. Closes #2593.
|
9
|
+
* Reverted optimization that skipped individual handling of point attributes. Closes #2549. Closes #2587.
|
10
|
+
* Fixed issue with adding a point in the middle of a line series failing. Issue #1109.
|
11
|
+
* Fixed regression with datetime tooltip header format falling back to full years. Closes #2581.
|
12
|
+
* Fixed rounding error in stack labels. Closes #2576.
|
13
|
+
* Implemented new option, switchRowsAndColumns, in the data module.
|
14
|
+
* Fixed regression in 3.0.8 with hover color of columns having individual color option. Closes #2579.
|
15
|
+
* Fixed issue with fillColor on box plots not honored when colorByPoint is true. Closes #2574.
|
16
|
+
|
17
|
+
# 3.0.8 / 2014-01-09
|
18
|
+
|
19
|
+
* Updated Highcharts to 3.0.8
|
20
|
+
|
1
21
|
# 3.0.7 / 2013-10-24
|
2
22
|
|
3
23
|
* Updated Highcharts to 3.0.7
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// @compilation_level SIMPLE_OPTIMIZATIONS
|
3
3
|
|
4
4
|
/**
|
5
|
-
* @license Highcharts JS v3.0.
|
5
|
+
* @license Highcharts JS v3.0.9 (2014-01-15)
|
6
6
|
*
|
7
7
|
* (c) 2009-2014 Torstein Honsi
|
8
8
|
*
|
@@ -55,7 +55,7 @@ var UNDEFINED,
|
|
55
55
|
noop = function () {},
|
56
56
|
charts = [],
|
57
57
|
PRODUCT = 'Highcharts',
|
58
|
-
VERSION = '3.0.
|
58
|
+
VERSION = '3.0.9',
|
59
59
|
|
60
60
|
// some constants for frequently used strings
|
61
61
|
DIV = 'div',
|
@@ -1303,8 +1303,7 @@ defaultLabelOptions = {
|
|
1303
1303
|
style: {
|
1304
1304
|
color: '#666',
|
1305
1305
|
cursor: 'default',
|
1306
|
-
fontSize: '11px'
|
1307
|
-
lineHeight: '14px'
|
1306
|
+
fontSize: '11px'
|
1308
1307
|
}
|
1309
1308
|
};
|
1310
1309
|
|
@@ -1326,9 +1325,9 @@ defaultOptions = {
|
|
1326
1325
|
},
|
1327
1326
|
global: {
|
1328
1327
|
useUTC: true,
|
1329
|
-
//timezoneOffset: 0,
|
1330
|
-
canvasToolsURL: 'http://code.highcharts.com/3.0.
|
1331
|
-
VMLRadialGradientURL: 'http://code.highcharts.com/3.0.
|
1328
|
+
//timezoneOffset: 0,
|
1329
|
+
canvasToolsURL: 'http://code.highcharts.com/3.0.9/modules/canvas-tools.js',
|
1330
|
+
VMLRadialGradientURL: 'http://code.highcharts.com/3.0.9/gfx/vml-radial-gradient.png'
|
1332
1331
|
},
|
1333
1332
|
chart: {
|
1334
1333
|
//animation: true,
|
@@ -2489,8 +2488,8 @@ SVGElement.prototype = {
|
|
2489
2488
|
width = bBox.width;
|
2490
2489
|
height = bBox.height;
|
2491
2490
|
|
2492
|
-
// Workaround for wrong bounding box in IE9 and IE10 (#1101, #1505, #1669)
|
2493
|
-
if (isIE && styles && styles.fontSize === '11px' && height.toPrecision(3) === '
|
2491
|
+
// Workaround for wrong bounding box in IE9 and IE10 (#1101, #1505, #1669, #2568)
|
2492
|
+
if (isIE && styles && styles.fontSize === '11px' && height.toPrecision(3) === '16.9') {
|
2494
2493
|
bBox.height = height = 14;
|
2495
2494
|
}
|
2496
2495
|
|
@@ -2894,7 +2893,16 @@ SVGRenderer.prototype = {
|
|
2894
2893
|
textStyles = wrapper.styles,
|
2895
2894
|
width = wrapper.textWidth,
|
2896
2895
|
textLineHeight = textStyles && textStyles.lineHeight,
|
2897
|
-
i = childNodes.length
|
2896
|
+
i = childNodes.length,
|
2897
|
+
getLineHeight = function (tspan) {
|
2898
|
+
return textLineHeight ?
|
2899
|
+
pInt(textLineHeight) :
|
2900
|
+
renderer.fontMetrics(
|
2901
|
+
/px$/.test(tspan && tspan.style.fontSize) ?
|
2902
|
+
tspan.style.fontSize :
|
2903
|
+
(textStyles.fontSize || 11)
|
2904
|
+
).h;
|
2905
|
+
};
|
2898
2906
|
|
2899
2907
|
/// remove old text
|
2900
2908
|
while (i--) {
|
@@ -2963,11 +2971,7 @@ SVGRenderer.prototype = {
|
|
2963
2971
|
attr(
|
2964
2972
|
tspan,
|
2965
2973
|
'dy',
|
2966
|
-
|
2967
|
-
/px$/.test(tspan.style.fontSize) ?
|
2968
|
-
tspan.style.fontSize :
|
2969
|
-
textStyles.fontSize
|
2970
|
-
).h,
|
2974
|
+
getLineHeight(tspan),
|
2971
2975
|
// Safari 6.0.2 - too optimized for its own good (#1539)
|
2972
2976
|
// TODO: revisit this with future versions of Safari
|
2973
2977
|
isWebKit && tspan.offsetHeight
|
@@ -2982,12 +2986,12 @@ SVGRenderer.prototype = {
|
|
2982
2986
|
// check width and apply soft breaks
|
2983
2987
|
if (width) {
|
2984
2988
|
var words = span.replace(/([^\^])-/g, '$1- ').split(' '), // #1273
|
2985
|
-
hasWhiteSpace = words.length > 1 && textStyles.whiteSpace !== 'nowrap',
|
2989
|
+
hasWhiteSpace = words.length > 1 && textStyles.whiteSpace !== 'nowrap',
|
2986
2990
|
tooLong,
|
2987
2991
|
actualWidth,
|
2988
2992
|
clipHeight = wrapper._clipHeight,
|
2989
2993
|
rest = [],
|
2990
|
-
dy =
|
2994
|
+
dy = getLineHeight(),
|
2991
2995
|
softLineNo = 1,
|
2992
2996
|
bBox;
|
2993
2997
|
|
@@ -5788,7 +5792,6 @@ Tick.prototype = {
|
|
5788
5792
|
labelEdge = axis.labelEdge,
|
5789
5793
|
justifyLabel = axis.justifyLabels && (isFirst || isLast);
|
5790
5794
|
|
5791
|
-
// docs: auto step pulls out overlapping labels
|
5792
5795
|
// Hide it if it now overlaps the neighbour label
|
5793
5796
|
if (labelEdge[line] === UNDEFINED || pxPos + leftSide > labelEdge[line]) {
|
5794
5797
|
labelEdge[line] = pxPos + rightSide;
|
@@ -9265,7 +9268,7 @@ Pointer.prototype = {
|
|
9265
9268
|
|
9266
9269
|
// Draw independent crosshairs
|
9267
9270
|
each(chart.axes, function (axis) {
|
9268
|
-
axis.drawCrosshair(e, pick(
|
9271
|
+
axis.drawCrosshair(e, pick(point, hoverPoint));
|
9269
9272
|
});
|
9270
9273
|
},
|
9271
9274
|
|
@@ -9770,7 +9773,7 @@ Pointer.prototype = {
|
|
9770
9773
|
onTrackerMouseOut: function (e) {
|
9771
9774
|
var series = this.chart.hoverSeries,
|
9772
9775
|
relatedTarget = e.relatedTarget || e.toElement,
|
9773
|
-
relatedSeries = relatedTarget.point && relatedTarget.point.series; // #2499
|
9776
|
+
relatedSeries = relatedTarget && relatedTarget.point && relatedTarget.point.series; // #2499
|
9774
9777
|
|
9775
9778
|
if (series && !series.options.stickyTracking && !this.inClass(relatedTarget, PREFIX + 'tooltip') &&
|
9776
9779
|
relatedSeries !== series) {
|
@@ -10840,14 +10843,14 @@ var LegendSymbolMixin = Highcharts.LegendSymbolMixin = {
|
|
10840
10843
|
* @param {Object} item The series (this) or point
|
10841
10844
|
*/
|
10842
10845
|
drawRectangle: function (legend, item) {
|
10843
|
-
var symbolHeight = legend.options.symbolHeight || 12;
|
10846
|
+
var symbolHeight = legend.options.symbolHeight || 12;
|
10844
10847
|
|
10845
10848
|
item.legendSymbol = this.chart.renderer.rect(
|
10846
10849
|
0,
|
10847
10850
|
legend.baseline - 5 - (symbolHeight / 2),
|
10848
10851
|
legend.symbolWidth,
|
10849
10852
|
symbolHeight,
|
10850
|
-
pick(legend.options.symbolRadius, 2)
|
10853
|
+
pick(legend.options.symbolRadius, 2)
|
10851
10854
|
).attr({
|
10852
10855
|
zIndex: 3
|
10853
10856
|
}).add(item.legendGroup);
|
@@ -13611,10 +13614,10 @@ Series.prototype = {
|
|
13611
13614
|
|
13612
13615
|
// Percent stacked areas
|
13613
13616
|
} else {
|
13614
|
-
stack.total
|
13617
|
+
stack.total = correctFloat(stack.total + (mathAbs(y) || 0));
|
13615
13618
|
}
|
13616
13619
|
} else {
|
13617
|
-
stack.total
|
13620
|
+
stack.total = correctFloat(stack.total + (y || 0));
|
13618
13621
|
}
|
13619
13622
|
|
13620
13623
|
stack.cum = (stack.cum || 0) + (y || 0);
|
@@ -13889,7 +13892,7 @@ Series.prototype = {
|
|
13889
13892
|
var series = this,
|
13890
13893
|
tooltipOptions = series.tooltipOptions,
|
13891
13894
|
dateTimeLabelFormats = tooltipOptions.dateTimeLabelFormats,
|
13892
|
-
xDateFormat = tooltipOptions.xDateFormat
|
13895
|
+
xDateFormat = tooltipOptions.xDateFormat,
|
13893
13896
|
xAxis = series.xAxis,
|
13894
13897
|
isDateTime = xAxis && xAxis.options.type === 'datetime',
|
13895
13898
|
headerFormat = tooltipOptions.headerFormat,
|
@@ -13908,6 +13911,9 @@ Series.prototype = {
|
|
13908
13911
|
} else {
|
13909
13912
|
xDateFormat = dateTimeLabelFormats.day;
|
13910
13913
|
}
|
13914
|
+
|
13915
|
+
xDateFormat = xDateFormat || dateTimeLabelFormats.year; // #2546, 2581
|
13916
|
+
|
13911
13917
|
}
|
13912
13918
|
|
13913
13919
|
// Insert the header date format if any
|
@@ -14082,7 +14088,6 @@ Series.prototype = {
|
|
14082
14088
|
graphic,
|
14083
14089
|
options = series.options,
|
14084
14090
|
seriesMarkerOptions = options.marker,
|
14085
|
-
seriesPointAttr = series.pointAttr[''],
|
14086
14091
|
pointMarkerOptions,
|
14087
14092
|
enabled,
|
14088
14093
|
isInside,
|
@@ -14104,7 +14109,7 @@ Series.prototype = {
|
|
14104
14109
|
if (enabled && plotY !== UNDEFINED && !isNaN(plotY) && point.y !== null) {
|
14105
14110
|
|
14106
14111
|
// shortcuts
|
14107
|
-
pointAttr = point.pointAttr[point.selected ? SELECT_STATE : NORMAL_STATE]
|
14112
|
+
pointAttr = point.pointAttr[point.selected ? SELECT_STATE : NORMAL_STATE];
|
14108
14113
|
radius = pointAttr.r;
|
14109
14114
|
symbol = pick(pointMarkerOptions.symbol, series.symbol);
|
14110
14115
|
isImage = symbol.indexOf('url') === 0;
|
@@ -14192,9 +14197,10 @@ Series.prototype = {
|
|
14192
14197
|
pointAttr,
|
14193
14198
|
pointAttrToOptions = series.pointAttrToOptions,
|
14194
14199
|
hasPointSpecificOptions,
|
14195
|
-
turboThreshold = seriesOptions.turboThreshold,
|
14196
14200
|
negativeColor = seriesOptions.negativeColor,
|
14197
14201
|
defaultLineColor = normalOptions.lineColor,
|
14202
|
+
defaultFillColor = normalOptions.fillColor,
|
14203
|
+
attr,
|
14198
14204
|
key;
|
14199
14205
|
|
14200
14206
|
// series type specific modifications
|
@@ -14229,78 +14235,79 @@ Series.prototype = {
|
|
14229
14235
|
// options are given. If not, create a referance to the series wide point
|
14230
14236
|
// attributes
|
14231
14237
|
i = points.length;
|
14232
|
-
|
14233
|
-
|
14234
|
-
|
14235
|
-
|
14236
|
-
|
14237
|
-
|
14238
|
-
}
|
14238
|
+
while (i--) {
|
14239
|
+
point = points[i];
|
14240
|
+
normalOptions = (point.options && point.options.marker) || point.options;
|
14241
|
+
if (normalOptions && normalOptions.enabled === false) {
|
14242
|
+
normalOptions.radius = 0;
|
14243
|
+
}
|
14239
14244
|
|
14240
|
-
|
14241
|
-
|
14242
|
-
|
14245
|
+
if (point.negative && negativeColor) {
|
14246
|
+
point.color = point.fillColor = negativeColor;
|
14247
|
+
}
|
14243
14248
|
|
14244
|
-
|
14249
|
+
hasPointSpecificOptions = seriesOptions.colorByPoint || point.color; // #868
|
14245
14250
|
|
14246
|
-
|
14247
|
-
|
14248
|
-
|
14249
|
-
|
14250
|
-
|
14251
|
-
}
|
14251
|
+
// check if the point has specific visual options
|
14252
|
+
if (point.options) {
|
14253
|
+
for (key in pointAttrToOptions) {
|
14254
|
+
if (defined(normalOptions[pointAttrToOptions[key]])) {
|
14255
|
+
hasPointSpecificOptions = true;
|
14252
14256
|
}
|
14253
14257
|
}
|
14258
|
+
}
|
14254
14259
|
|
14255
|
-
|
14256
|
-
|
14257
|
-
|
14258
|
-
|
14259
|
-
|
14260
|
-
|
14261
|
-
|
14262
|
-
|
14263
|
-
// Handle colors for column and pies
|
14264
|
-
if (!seriesOptions.marker) { // column, bar, point
|
14265
|
-
// if no hover color is given, brighten the normal color
|
14266
|
-
pointStateOptionsHover.color = pointStateOptionsHover.color || stateOptionsHover.color ||
|
14267
|
-
Color(point.color)
|
14268
|
-
.brighten(pointStateOptionsHover.brightness || stateOptionsHover.brightness)
|
14269
|
-
.get();
|
14260
|
+
// a specific marker config object is defined for the individual point:
|
14261
|
+
// create it's own attribute collection
|
14262
|
+
if (hasPointSpecificOptions) {
|
14263
|
+
normalOptions = normalOptions || {};
|
14264
|
+
pointAttr = [];
|
14265
|
+
stateOptions = normalOptions.states || {}; // reassign for individual point
|
14266
|
+
pointStateOptionsHover = stateOptions[HOVER_STATE] = stateOptions[HOVER_STATE] || {};
|
14270
14267
|
|
14271
|
-
|
14268
|
+
// Handle colors for column and pies
|
14269
|
+
if (!seriesOptions.marker) { // column, bar, point
|
14270
|
+
// if no hover color is given, brighten the normal color
|
14271
|
+
pointStateOptionsHover.color =
|
14272
|
+
Color(pointStateOptionsHover.color || point.color)
|
14273
|
+
.brighten(pointStateOptionsHover.brightness ||
|
14274
|
+
stateOptionsHover.brightness).get();
|
14272
14275
|
|
14273
|
-
|
14274
|
-
pointAttr[NORMAL_STATE] = series.convertAttribs(extend({
|
14275
|
-
color: point.color, // #868
|
14276
|
-
fillColor: point.color, // Individual point color or negative color markers (#2219)
|
14277
|
-
lineColor: defaultLineColor === null ? point.color : UNDEFINED // Bubbles take point color, line markers use white
|
14278
|
-
}, normalOptions), seriesPointAttr[NORMAL_STATE]);
|
14279
|
-
|
14280
|
-
// inherit from point normal and series hover
|
14281
|
-
pointAttr[HOVER_STATE] = series.convertAttribs(
|
14282
|
-
stateOptions[HOVER_STATE],
|
14283
|
-
seriesPointAttr[HOVER_STATE],
|
14284
|
-
pointAttr[NORMAL_STATE]
|
14285
|
-
);
|
14276
|
+
}
|
14286
14277
|
|
14287
|
-
|
14288
|
-
|
14289
|
-
|
14290
|
-
|
14291
|
-
|
14292
|
-
|
14278
|
+
// normal point state inherits series wide normal state
|
14279
|
+
attr = { color: point.color }; // #868
|
14280
|
+
if (!defaultFillColor) { // Individual point color or negative color markers (#2219)
|
14281
|
+
attr.fillColor = point.color;
|
14282
|
+
}
|
14283
|
+
if (!defaultLineColor) {
|
14284
|
+
attr.lineColor = point.color; // Bubbles take point color, line markers use white
|
14285
|
+
}
|
14286
|
+
pointAttr[NORMAL_STATE] = series.convertAttribs(extend(attr, normalOptions), seriesPointAttr[NORMAL_STATE]);
|
14293
14287
|
|
14288
|
+
// inherit from point normal and series hover
|
14289
|
+
pointAttr[HOVER_STATE] = series.convertAttribs(
|
14290
|
+
stateOptions[HOVER_STATE],
|
14291
|
+
seriesPointAttr[HOVER_STATE],
|
14292
|
+
pointAttr[NORMAL_STATE]
|
14293
|
+
);
|
14294
14294
|
|
14295
|
-
//
|
14296
|
-
|
14297
|
-
|
14298
|
-
|
14299
|
-
|
14295
|
+
// inherit from point normal and series hover
|
14296
|
+
pointAttr[SELECT_STATE] = series.convertAttribs(
|
14297
|
+
stateOptions[SELECT_STATE],
|
14298
|
+
seriesPointAttr[SELECT_STATE],
|
14299
|
+
pointAttr[NORMAL_STATE]
|
14300
|
+
);
|
14300
14301
|
|
14301
|
-
point.pointAttr = pointAttr;
|
14302
14302
|
|
14303
|
+
// no marker config object is created: copy a reference to the series-wide
|
14304
|
+
// attribute collection
|
14305
|
+
} else {
|
14306
|
+
pointAttr = seriesPointAttr;
|
14303
14307
|
}
|
14308
|
+
|
14309
|
+
point.pointAttr = pointAttr;
|
14310
|
+
|
14304
14311
|
}
|
14305
14312
|
},
|
14306
14313
|
|
@@ -15230,7 +15237,7 @@ extend(Series.prototype, {
|
|
15230
15237
|
}
|
15231
15238
|
}
|
15232
15239
|
|
15233
|
-
series.updateParallelArrays(point, 'splice', i); // insert undefined item
|
15240
|
+
series.updateParallelArrays(point, 'splice', i, 0, 0); // insert undefined item
|
15234
15241
|
series.updateParallelArrays(point, i); // update it
|
15235
15242
|
|
15236
15243
|
if (names) {
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// @compilation_level SIMPLE_OPTIMIZATIONS
|
3
3
|
|
4
4
|
/**
|
5
|
-
* @license Highcharts JS v3.0.
|
5
|
+
* @license Highcharts JS v3.0.9 (2014-01-15)
|
6
6
|
*
|
7
7
|
* (c) 2009-2014 Torstein Honsi
|
8
8
|
*
|
@@ -274,6 +274,10 @@ var radialAxisMixin = {
|
|
274
274
|
if (this.isXAxis) {
|
275
275
|
this.minPixelPadding = this.transA * this.minPointOffset +
|
276
276
|
(this.reversed ? (this.endAngleRad - this.startAngleRad) / 4 : 0); // ???
|
277
|
+
} else {
|
278
|
+
// This is a workaround for regression #2593, but categories still don't position correctly.
|
279
|
+
// TODO: Implement true handling of Y axis categories on gauges.
|
280
|
+
this.minPixelPadding = 0;
|
277
281
|
}
|
278
282
|
}
|
279
283
|
},
|
@@ -578,8 +582,7 @@ wrap(tickProto, 'getLabelPosition', function (proceed, x, y, label, horiz, label
|
|
578
582
|
|
579
583
|
// Vertically centered
|
580
584
|
} else if (optionsY === null) {
|
581
|
-
optionsY =
|
582
|
-
|
585
|
+
optionsY = axis.chart.renderer.fontMetrics(label.styles.fontSize).b - label.getBBox().height / 2;
|
583
586
|
}
|
584
587
|
|
585
588
|
// Automatic alignment
|
@@ -2908,7 +2908,7 @@ if (CanvasRenderingContext2D) {
|
|
2908
2908
|
});
|
2909
2909
|
}
|
2910
2910
|
}/**
|
2911
|
-
* @license Highcharts JS v3.0.
|
2911
|
+
* @license Highcharts JS v3.0.9 (2014-01-15)
|
2912
2912
|
* CanVGRenderer Extension module
|
2913
2913
|
*
|
2914
2914
|
* (c) 2011-2012 Torstein Honsi, Erik Olsson
|
@@ -72,6 +72,10 @@
|
|
72
72
|
* - startRow : Integer
|
73
73
|
* In tabular input data, the first row (indexed by 0) to use.
|
74
74
|
*
|
75
|
+
* - switchRowsAndColumns : Boolean
|
76
|
+
* Switch rows and columns of the input data, so that this.columns effectively becomes the
|
77
|
+
* rows of the data set, and the rows are interpreted as series.
|
78
|
+
*
|
75
79
|
* - table : String|HTMLElement
|
76
80
|
* A HTML table or the id of such to be parsed as input data. Related options ara startRow,
|
77
81
|
* endRow, startColumn and endColumn to delimit what part of the table is used.
|
@@ -144,8 +148,16 @@
|
|
144
148
|
};
|
145
149
|
},
|
146
150
|
|
147
|
-
|
151
|
+
/**
|
152
|
+
* When the data is parsed into columns, either by CSV, table, GS or direct input,
|
153
|
+
* continue with other operations.
|
154
|
+
*/
|
148
155
|
dataFound: function () {
|
156
|
+
|
157
|
+
if (this.options.switchRowsAndColumns) {
|
158
|
+
this.columns = this.rowsToColumns(this.columns);
|
159
|
+
}
|
160
|
+
|
149
161
|
// Interpret the values into right types
|
150
162
|
this.parseTypes();
|
151
163
|
|
@@ -250,8 +262,6 @@
|
|
250
262
|
},
|
251
263
|
|
252
264
|
/**
|
253
|
-
* TODO:
|
254
|
-
* - switchRowsAndColumns
|
255
265
|
*/
|
256
266
|
parseGoogleSpreadsheet: function () {
|
257
267
|
var self = this,
|
@@ -341,7 +351,6 @@
|
|
341
351
|
|
342
352
|
/**
|
343
353
|
* Parse numeric cells in to number types and date types in to true dates.
|
344
|
-
* @param {Object} columns
|
345
354
|
*/
|
346
355
|
parseTypes: function () {
|
347
356
|
var columns = this.columns,
|
@@ -386,7 +395,11 @@
|
|
386
395
|
}
|
387
396
|
}
|
388
397
|
},
|
389
|
-
|
398
|
+
|
399
|
+
/**
|
400
|
+
* A collection of available date formats, extendable from the outside to support
|
401
|
+
* custom date formats.
|
402
|
+
*/
|
390
403
|
dateFormats: {
|
391
404
|
'YYYY-mm-dd': {
|
392
405
|
regex: '^([0-9]{4})-([0-9]{2})-([0-9]{2})$',
|
@@ -395,7 +408,7 @@
|
|
395
408
|
}
|
396
409
|
}
|
397
410
|
},
|
398
|
-
|
411
|
+
|
399
412
|
/**
|
400
413
|
* Parse a date and return it as a number. Overridable through options.parseDate.
|
401
414
|
*/
|
@@ -146,22 +146,30 @@
|
|
146
146
|
Chart.prototype.showDrillUpButton = function () {
|
147
147
|
var chart = this,
|
148
148
|
backText = this.getDrilldownBackText(),
|
149
|
-
buttonOptions = chart.options.drilldown.drillUpButton
|
149
|
+
buttonOptions = chart.options.drilldown.drillUpButton,
|
150
|
+
attr,
|
151
|
+
states;
|
150
152
|
|
151
153
|
|
152
154
|
if (!this.drillUpButton) {
|
155
|
+
attr = buttonOptions.theme;
|
156
|
+
states = attr && attr.states;
|
157
|
+
|
153
158
|
this.drillUpButton = this.renderer.button(
|
154
159
|
backText,
|
155
160
|
null,
|
156
161
|
null,
|
157
162
|
function () {
|
158
163
|
chart.drillUp();
|
159
|
-
}
|
164
|
+
},
|
165
|
+
attr,
|
166
|
+
states && states.hover,
|
167
|
+
states && states.select
|
160
168
|
)
|
161
|
-
.attr(
|
169
|
+
.attr({
|
162
170
|
align: buttonOptions.position.align,
|
163
171
|
zIndex: 9
|
164
|
-
}
|
172
|
+
})
|
165
173
|
.add()
|
166
174
|
.align(buttonOptions.position, false, buttonOptions.relativeTo || 'plotBox');
|
167
175
|
} else {
|
@@ -350,7 +358,7 @@
|
|
350
358
|
var series = this.series,
|
351
359
|
chart = series.chart,
|
352
360
|
drilldown = chart.options.drilldown,
|
353
|
-
i = drilldown.series.length,
|
361
|
+
i = (drilldown.series || []).length,
|
354
362
|
seriesOptions;
|
355
363
|
|
356
364
|
while (i-- && !seriesOptions) {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v3.0.
|
2
|
+
* @license Highcharts JS v3.0.9 (2014-01-15)
|
3
3
|
* Exporting module
|
4
4
|
*
|
5
5
|
* (c) 2010-2014 Torstein Honsi
|
@@ -167,7 +167,7 @@ Highcharts.post = function (url, data, formAttributes) {
|
|
167
167
|
method: 'post',
|
168
168
|
action: url,
|
169
169
|
enctype: 'multipart/form-data'
|
170
|
-
}, formAttributes), {
|
170
|
+
}, formAttributes), {
|
171
171
|
display: NONE
|
172
172
|
}, doc.body);
|
173
173
|
|
@@ -326,7 +326,7 @@ extend(Chart.prototype, {
|
|
326
326
|
|
327
327
|
/**
|
328
328
|
* Submit the SVG representation of the chart to the server
|
329
|
-
* @param {Object} options Exporting options. Possible members are url, type and
|
329
|
+
* @param {Object} options Exporting options. Possible members are url, type, width and formAttributes.
|
330
330
|
* @param {Object} chartOptions Additional chart options for the SVG representation of the chart
|
331
331
|
*/
|
332
332
|
exportChart: function (options, chartOptions) {
|
data/lib/highcharts/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: highcharts-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Per Christian B. Viken
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
metadata.gz.asc
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
|
3
3
|
Comment: GPGTools - http://gpgtools.org
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
=
|
5
|
+
iQIcBAABAgAGBQJS1mNAAAoJEH1ncb0Txu7XfV4P/05oGakw9qagcBIc6WuZdZnu
|
6
|
+
iIuVVp2bHuMWgwaogJtEAINLR/6egMzAvsHKte/tdVJccEQ2xDaCI6o8bvl7DXhu
|
7
|
+
Rssn1xaNW2ov3IVPMXlB6gpo4RVKrLWaJp2ZXvO/owqUG/mvmIWnkZdbRvoc4NTg
|
8
|
+
/GZz/ftwsaKmB7QmOXfbhafpIiCh6b3pYAbby603u+upqcmO4vwQaDhdpaPVjLCI
|
9
|
+
qyf8M6JQkJOCu3Hlli7sxc4vWC/yjlNP4b1006WWRcn19Z2TJNjfsN9FHW0JZyCG
|
10
|
+
ZkL2nOSW6BGufsTIA+WHcZCKwWKEMIZtL6PcWEMhq6c5WcLNaMGsYjhknBDBxKNp
|
11
|
+
3mM+1ZB/m0k+tQ//AQFtNdEtFmB8Fo8hmGfscRa3hDegMR8OIuB9tlWhq7ZBy5nK
|
12
|
+
NtZ0+6Zbr/wfeVOdjmKZaXL+TkPnmsuP+8S43A4R/T7jtqYUb2DwTaQO77HorIOJ
|
13
|
+
iWQ/H9AqCsGMwKLRfcPAxHYBjkYRNsF//OIT45nYrW5jgxvcb5hshVEdgJpdGeC/
|
14
|
+
M1ABEiVK3LlHP61w6Xh8QYSH3R5CLkO4iG304uWMNltTPkptiYVKQ5sPxASqzbWk
|
15
|
+
9F41iBwQeDI9Ke4MTtJyAbqmqfirkBmTQKazBMkzPHiFBMR3LAguSvhd+WmBqQun
|
16
|
+
bI5BUHBiFL+xuuFSIarU
|
17
|
+
=u2+l
|
18
18
|
-----END PGP SIGNATURE-----
|