highcharts-rails 3.0.8 → 3.0.9
Sign up to get free protection for your applications and to get access to all the features.
- 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-----
|