highcharts-rails 2.1.9 → 2.2.0
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.
- data/lib/highcharts/version.rb +1 -1
- data/vendor/assets/javascripts/highcharts.js +3872 -2035
- data/vendor/assets/javascripts/highcharts/adapters/mootools.js +37 -3
- data/vendor/assets/javascripts/highcharts/adapters/prototype.js +39 -12
- data/vendor/assets/javascripts/highcharts/modules/canvas-tools.js +3114 -0
- data/vendor/assets/javascripts/highcharts/modules/exporting.js +72 -96
- data/vendor/assets/javascripts/highcharts/themes/dark-blue.js +1 -1
- data/vendor/assets/javascripts/highcharts/themes/dark-green.js +1 -1
- data/vendor/assets/javascripts/highcharts/themes/gray.js +0 -0
- data/vendor/assets/javascripts/highcharts/themes/grid.js +0 -1
- metadata +9 -8
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Highcharts JS v2.
|
2
|
+
* @license Highcharts JS v2.2.0 (2012-02-16)
|
3
3
|
* Exporting module
|
4
4
|
*
|
5
5
|
* (c) 2010-2011 Torstein Hønsi
|
@@ -105,7 +105,6 @@ defaultOptions.exporting = {
|
|
105
105
|
type: 'image/png',
|
106
106
|
url: 'http://export.highcharts.com/',
|
107
107
|
width: 800,
|
108
|
-
enableImages: false,
|
109
108
|
buttons: {
|
110
109
|
exportButton: {
|
111
110
|
//enabled: true,
|
@@ -141,16 +140,21 @@ defaultOptions.exporting = {
|
|
141
140
|
type: 'image/svg+xml'
|
142
141
|
});
|
143
142
|
}
|
144
|
-
}
|
143
|
+
}
|
144
|
+
// Enable this block to add "View SVG" to the dropdown menu
|
145
|
+
/*
|
146
|
+
,{
|
147
|
+
|
145
148
|
text: 'View SVG',
|
146
|
-
onclick: function() {
|
149
|
+
onclick: function () {
|
147
150
|
var svg = this.getSVG()
|
148
151
|
.replace(/</g, '\n<')
|
149
152
|
.replace(/>/g, '>');
|
150
153
|
|
151
|
-
doc.body.innerHTML = '<pre>'+ svg +'</pre>';
|
154
|
+
doc.body.innerHTML = '<pre>' + svg + '</pre>';
|
152
155
|
}
|
153
|
-
}*/
|
156
|
+
} // */
|
157
|
+
]
|
154
158
|
|
155
159
|
},
|
156
160
|
printButton: {
|
@@ -182,9 +186,6 @@ extend(Chart.prototype, {
|
|
182
186
|
sandbox,
|
183
187
|
svg,
|
184
188
|
seriesOptions,
|
185
|
-
config,
|
186
|
-
pointOptions,
|
187
|
-
pointMarker,
|
188
189
|
options = merge(chart.options, additionalOptions); // copy the options and add extra options
|
189
190
|
|
190
191
|
// IE compatibility hack for generating SVG content that it doesn't really understand
|
@@ -214,56 +215,26 @@ extend(Chart.prototype, {
|
|
214
215
|
forExport: true
|
215
216
|
});
|
216
217
|
options.exporting.enabled = false; // hide buttons in print
|
217
|
-
|
218
|
-
if (!options.exporting.enableImages) {
|
219
|
-
options.chart.plotBackgroundImage = null; // the converter doesn't handle images
|
220
|
-
}
|
218
|
+
options.chart.plotBackgroundImage = null; // the converter doesn't handle images
|
221
219
|
|
222
220
|
// prepare for replicating the chart
|
223
221
|
options.series = [];
|
224
222
|
each(chart.series, function (serie) {
|
225
|
-
seriesOptions = serie.options
|
223
|
+
seriesOptions = merge(serie.options, {
|
224
|
+
animation: false, // turn off animation
|
225
|
+
showCheckbox: false,
|
226
|
+
visible: serie.visible
|
227
|
+
});
|
226
228
|
|
227
|
-
seriesOptions.
|
228
|
-
seriesOptions.showCheckbox = false;
|
229
|
-
seriesOptions.visible = serie.visible;
|
229
|
+
if (!seriesOptions.isInternal) { // used for the navigator series that has its own option set
|
230
230
|
|
231
|
-
if (!options.exporting.enableImages) {
|
232
231
|
// remove image markers
|
233
232
|
if (seriesOptions && seriesOptions.marker && /^url\(/.test(seriesOptions.marker.symbol)) {
|
234
233
|
seriesOptions.marker.symbol = 'circle';
|
235
234
|
}
|
236
|
-
}
|
237
|
-
|
238
|
-
seriesOptions.data = [];
|
239
|
-
|
240
|
-
each(serie.data, function (point) {
|
241
|
-
|
242
|
-
// extend the options by those values that can be expressed in a number or array config
|
243
|
-
config = point.config;
|
244
|
-
pointOptions = {
|
245
|
-
x: point.x,
|
246
|
-
y: point.y,
|
247
|
-
name: point.name
|
248
|
-
};
|
249
|
-
|
250
|
-
if (typeof config === 'object' && point.config && config.constructor !== Array) {
|
251
|
-
extend(pointOptions, config);
|
252
|
-
}
|
253
235
|
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
if (!options.exporting.enableImages) {
|
258
|
-
// remove image markers
|
259
|
-
pointMarker = point.config && point.config.marker;
|
260
|
-
if (pointMarker && /^url\(/.test(pointMarker.symbol)) {
|
261
|
-
delete pointMarker.symbol;
|
262
|
-
}
|
263
|
-
}
|
264
|
-
});
|
265
|
-
|
266
|
-
options.series.push(seriesOptions);
|
236
|
+
options.series.push(seriesOptions);
|
237
|
+
}
|
267
238
|
});
|
268
239
|
|
269
240
|
// generate the chart copy
|
@@ -299,9 +270,9 @@ extend(Chart.prototype, {
|
|
299
270
|
.replace(/jQuery[0-9]+="[^"]+"/g, '')
|
300
271
|
.replace(/isTracker="[^"]+"/g, '')
|
301
272
|
.replace(/url\([^#]+#/g, 'url(#')
|
302
|
-
|
303
|
-
.replace(/ href
|
304
|
-
|
273
|
+
/*.replace(/<svg /, '<svg xmlns:xlink="http://www.w3.org/1999/xlink" ')
|
274
|
+
.replace(/ href=/, ' xlink:href=')
|
275
|
+
.replace(/preserveAspectRatio="none">/g, 'preserveAspectRatio="none"/>')*/
|
305
276
|
/* This fails in IE < 8
|
306
277
|
.replace(/([0-9]+)\.([0-9]+)/g, function(s1, s2, s3) { // round off to save weight
|
307
278
|
return s2 +'.'+ s3[0];
|
@@ -316,12 +287,6 @@ extend(Chart.prototype, {
|
|
316
287
|
.replace(/class=([^" ]+)/g, 'class="$1"')
|
317
288
|
.replace(/ transform /g, ' ')
|
318
289
|
.replace(/:(path|rect)/g, '$1')
|
319
|
-
.replace(/<img ([^>]*)>/gi, '<image $1 />')
|
320
|
-
.replace(/<\/image>/g, '') // remove closing tags for images as they'll never have any content
|
321
|
-
.replace(/<image ([^>]*)([^\/])>/gi, '<image $1$2 />') // closes image tags for firefox
|
322
|
-
.replace(/width=(\d+)/g, 'width="$1"')
|
323
|
-
.replace(/height=(\d+)/g, 'height="$1"')
|
324
|
-
.replace(/hc-svg-href="/g, 'xlink:href="')
|
325
290
|
.replace(/style="([^"]+)"/g, function (s) {
|
326
291
|
return s.toLowerCase();
|
327
292
|
});
|
@@ -344,7 +309,7 @@ extend(Chart.prototype, {
|
|
344
309
|
exportChart: function (options, chartOptions) {
|
345
310
|
var form,
|
346
311
|
chart = this,
|
347
|
-
svg = chart.getSVG(chartOptions);
|
312
|
+
svg = chart.getSVG(merge(chart.options.exporting.chartOptions, chartOptions)); // docs
|
348
313
|
|
349
314
|
// merge the options
|
350
315
|
options = merge(chart.options.exporting, options);
|
@@ -539,9 +504,6 @@ extend(Chart.prototype, {
|
|
539
504
|
btnOptions = merge(chart.options.navigation.buttonOptions, options),
|
540
505
|
onclick = btnOptions.onclick,
|
541
506
|
menuItems = btnOptions.menuItems,
|
542
|
-
/*position = chart.getAlignment(btnOptions),
|
543
|
-
buttonLeft = position.x,
|
544
|
-
buttonTop = position.y,*/
|
545
507
|
buttonWidth = btnOptions.width,
|
546
508
|
buttonHeight = btnOptions.height,
|
547
509
|
box,
|
@@ -555,7 +517,8 @@ extend(Chart.prototype, {
|
|
555
517
|
symbolAttr = {
|
556
518
|
stroke: btnOptions.symbolStroke,
|
557
519
|
fill: btnOptions.symbolFill
|
558
|
-
}
|
520
|
+
},
|
521
|
+
symbolSize = btnOptions.symbolSize || 12;
|
559
522
|
|
560
523
|
// Keeps references to the button elements
|
561
524
|
if (!chart.exportDivElements) {
|
@@ -620,8 +583,6 @@ extend(Chart.prototype, {
|
|
620
583
|
.on('click', revert)
|
621
584
|
.add();
|
622
585
|
|
623
|
-
//addEvent(button.element, 'click', revert);
|
624
|
-
|
625
586
|
// add the click event
|
626
587
|
if (menuItems) {
|
627
588
|
onclick = function () {
|
@@ -640,9 +601,10 @@ extend(Chart.prototype, {
|
|
640
601
|
// the icon
|
641
602
|
symbol = renderer.symbol(
|
642
603
|
btnOptions.symbol,
|
643
|
-
btnOptions.symbolX,
|
644
|
-
btnOptions.symbolY,
|
645
|
-
|
604
|
+
btnOptions.symbolX - (symbolSize / 2),
|
605
|
+
btnOptions.symbolY - (symbolSize / 2),
|
606
|
+
symbolSize,
|
607
|
+
symbolSize
|
646
608
|
)
|
647
609
|
.align(btnOptions, true)
|
648
610
|
.attr(extend(symbolAttr, {
|
@@ -686,53 +648,67 @@ extend(Chart.prototype, {
|
|
686
648
|
}
|
687
649
|
});
|
688
650
|
|
651
|
+
/**
|
652
|
+
* Crisp for 1px stroke width, which is default. In the future, consider a smarter,
|
653
|
+
* global function.
|
654
|
+
*/
|
655
|
+
function crisp(arr) {
|
656
|
+
var i = arr.length;
|
657
|
+
while (i--) {
|
658
|
+
if (typeof arr[i] === 'number') {
|
659
|
+
arr[i] = Math.round(arr[i]) - 0.5;
|
660
|
+
}
|
661
|
+
}
|
662
|
+
return arr;
|
663
|
+
}
|
664
|
+
|
689
665
|
// Create the export icon
|
690
|
-
HC.Renderer.prototype.symbols.exportIcon = function (x, y,
|
691
|
-
return [
|
666
|
+
HC.Renderer.prototype.symbols.exportIcon = function (x, y, width, height) {
|
667
|
+
return crisp([
|
692
668
|
M, // the disk
|
693
|
-
x
|
669
|
+
x, y + width,
|
694
670
|
L,
|
695
|
-
x +
|
696
|
-
x +
|
697
|
-
x
|
671
|
+
x + width, y + height,
|
672
|
+
x + width, y + height * 0.8,
|
673
|
+
x, y + height * 0.8,
|
698
674
|
'Z',
|
699
675
|
M, // the arrow
|
700
|
-
x, y +
|
676
|
+
x + width * 0.5, y + height * 0.8,
|
701
677
|
L,
|
702
|
-
x
|
703
|
-
x
|
704
|
-
x
|
705
|
-
x +
|
706
|
-
x +
|
707
|
-
x +
|
678
|
+
x + width * 0.8, y + height * 0.4,
|
679
|
+
x + width * 0.4, y + height * 0.4,
|
680
|
+
x + width * 0.4, y,
|
681
|
+
x + width * 0.6, y,
|
682
|
+
x + width * 0.6, y + height * 0.4,
|
683
|
+
x + width * 0.2, y + height * 0.4,
|
708
684
|
'Z'
|
709
|
-
];
|
685
|
+
]);
|
710
686
|
};
|
711
687
|
// Create the print icon
|
712
|
-
HC.Renderer.prototype.symbols.printIcon = function (x, y,
|
713
|
-
return [
|
688
|
+
HC.Renderer.prototype.symbols.printIcon = function (x, y, width, height) {
|
689
|
+
return crisp([
|
714
690
|
M, // the printer
|
715
|
-
x
|
691
|
+
x, y + height * 0.7,
|
716
692
|
L,
|
717
|
-
x +
|
718
|
-
x +
|
719
|
-
x
|
693
|
+
x + width, y + height * 0.7,
|
694
|
+
x + width, y + height * 0.4,
|
695
|
+
x, y + height * 0.4,
|
720
696
|
'Z',
|
721
697
|
M, // the upper sheet
|
722
|
-
x
|
698
|
+
x + width * 0.2, y + height * 0.4,
|
723
699
|
L,
|
724
|
-
x
|
725
|
-
x +
|
726
|
-
x +
|
700
|
+
x + width * 0.2, y,
|
701
|
+
x + width * 0.8, y,
|
702
|
+
x + width * 0.8, y + height * 0.4,
|
727
703
|
'Z',
|
728
704
|
M, // the lower sheet
|
729
|
-
x
|
705
|
+
x + width * 0.2, y + height * 0.7,
|
730
706
|
L,
|
731
|
-
x
|
732
|
-
x +
|
733
|
-
x +
|
707
|
+
x, y + height,
|
708
|
+
x + width, y + height,
|
709
|
+
x + width * 0.8, y + height * 0.7,
|
734
710
|
'Z'
|
735
|
-
];
|
711
|
+
]);
|
736
712
|
};
|
737
713
|
|
738
714
|
|
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: highcharts-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-02-22 00:00:00.000000000 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: railties
|
17
|
-
requirement: &
|
17
|
+
requirement: &70259245170160 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '3.1'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70259245170160
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: bundler
|
28
|
-
requirement: &
|
28
|
+
requirement: &70259245169440 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 1.0.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70259245169440
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: rails
|
39
|
-
requirement: &
|
39
|
+
requirement: &70259245168820 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,7 +44,7 @@ dependencies:
|
|
44
44
|
version: '3.1'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70259245168820
|
48
48
|
description: Gem that includes Highcharts (Interactive JavaScript charts for your
|
49
49
|
web projects), in the Rails Asset Pipeline introduced in Rails 3.1
|
50
50
|
email:
|
@@ -65,6 +65,7 @@ files:
|
|
65
65
|
- vendor/assets/javascripts/highcharts.js
|
66
66
|
- vendor/assets/javascripts/highcharts/adapters/mootools.js
|
67
67
|
- vendor/assets/javascripts/highcharts/adapters/prototype.js
|
68
|
+
- vendor/assets/javascripts/highcharts/modules/canvas-tools.js
|
68
69
|
- vendor/assets/javascripts/highcharts/modules/exporting.js
|
69
70
|
- vendor/assets/javascripts/highcharts/themes/dark-blue.js
|
70
71
|
- vendor/assets/javascripts/highcharts/themes/dark-green.js
|