highcharts_rails 0.1.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.
Files changed (76) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +106 -0
  9. data/Rakefile +6 -0
  10. data/highcharts_rails.gemspec +27 -0
  11. data/lib/highcharts_rails/version.rb +3 -0
  12. data/lib/highcharts_rails.rb +8 -0
  13. data/vendor/assets/javascripts/highcharts-3d.src.js +2139 -0
  14. data/vendor/assets/javascripts/highcharts-more.src.js +2982 -0
  15. data/vendor/assets/javascripts/highcharts.src.js +22947 -0
  16. data/vendor/assets/javascripts/js/highcharts-3d.src.js +2085 -0
  17. data/vendor/assets/javascripts/js/highcharts-more.src.js +2820 -0
  18. data/vendor/assets/javascripts/js/highcharts.src.js +20917 -0
  19. data/vendor/assets/javascripts/js/modules/accessibility.src.js +1072 -0
  20. data/vendor/assets/javascripts/js/modules/annotations.src.js +408 -0
  21. data/vendor/assets/javascripts/js/modules/boost.src.js +652 -0
  22. data/vendor/assets/javascripts/js/modules/broken-axis.src.js +338 -0
  23. data/vendor/assets/javascripts/js/modules/data.src.js +981 -0
  24. data/vendor/assets/javascripts/js/modules/drilldown.src.js +756 -0
  25. data/vendor/assets/javascripts/js/modules/exporting.src.js +953 -0
  26. data/vendor/assets/javascripts/js/modules/funnel.src.js +290 -0
  27. data/vendor/assets/javascripts/js/modules/gantt.src.js +791 -0
  28. data/vendor/assets/javascripts/js/modules/grid-axis.src.js +545 -0
  29. data/vendor/assets/javascripts/js/modules/heatmap.src.js +798 -0
  30. data/vendor/assets/javascripts/js/modules/no-data-to-display.src.js +150 -0
  31. data/vendor/assets/javascripts/js/modules/offline-exporting.src.js +492 -0
  32. data/vendor/assets/javascripts/js/modules/overlapping-datalabels.src.js +164 -0
  33. data/vendor/assets/javascripts/js/modules/series-label.src.js +606 -0
  34. data/vendor/assets/javascripts/js/modules/solid-gauge.src.js +305 -0
  35. data/vendor/assets/javascripts/js/modules/treemap.src.js +881 -0
  36. data/vendor/assets/javascripts/js/modules/xrange-series.src.js +254 -0
  37. data/vendor/assets/javascripts/js/themes/dark-blue.js +317 -0
  38. data/vendor/assets/javascripts/js/themes/dark-green.js +314 -0
  39. data/vendor/assets/javascripts/js/themes/dark-unica.js +243 -0
  40. data/vendor/assets/javascripts/js/themes/gray.js +326 -0
  41. data/vendor/assets/javascripts/js/themes/grid-light.js +99 -0
  42. data/vendor/assets/javascripts/js/themes/grid.js +131 -0
  43. data/vendor/assets/javascripts/js/themes/sand-signika.js +129 -0
  44. data/vendor/assets/javascripts/js/themes/skies.js +112 -0
  45. data/vendor/assets/javascripts/lib/canvg.src.js +3073 -0
  46. data/vendor/assets/javascripts/lib/jspdf.src.js +3031 -0
  47. data/vendor/assets/javascripts/lib/rgbcolor.src.js +299 -0
  48. data/vendor/assets/javascripts/lib/svg2pdf.src.js +1451 -0
  49. data/vendor/assets/javascripts/modules/accessibility.src.js +1072 -0
  50. data/vendor/assets/javascripts/modules/annotations.src.js +408 -0
  51. data/vendor/assets/javascripts/modules/boost.src.js +652 -0
  52. data/vendor/assets/javascripts/modules/broken-axis.src.js +338 -0
  53. data/vendor/assets/javascripts/modules/data.src.js +981 -0
  54. data/vendor/assets/javascripts/modules/drilldown.src.js +797 -0
  55. data/vendor/assets/javascripts/modules/exporting.src.js +882 -0
  56. data/vendor/assets/javascripts/modules/funnel.src.js +304 -0
  57. data/vendor/assets/javascripts/modules/gantt.src.js +815 -0
  58. data/vendor/assets/javascripts/modules/grid-axis.src.js +547 -0
  59. data/vendor/assets/javascripts/modules/heatmap.src.js +810 -0
  60. data/vendor/assets/javascripts/modules/no-data-to-display.src.js +161 -0
  61. data/vendor/assets/javascripts/modules/offline-exporting.src.js +492 -0
  62. data/vendor/assets/javascripts/modules/overlapping-datalabels.src.js +164 -0
  63. data/vendor/assets/javascripts/modules/series-label.src.js +606 -0
  64. data/vendor/assets/javascripts/modules/solid-gauge.src.js +316 -0
  65. data/vendor/assets/javascripts/modules/treemap.src.js +935 -0
  66. data/vendor/assets/javascripts/modules/xrange-series.src.js +276 -0
  67. data/vendor/assets/javascripts/themes/dark-blue.js +317 -0
  68. data/vendor/assets/javascripts/themes/dark-green.js +314 -0
  69. data/vendor/assets/javascripts/themes/dark-unica.js +243 -0
  70. data/vendor/assets/javascripts/themes/gray.js +326 -0
  71. data/vendor/assets/javascripts/themes/grid-light.js +99 -0
  72. data/vendor/assets/javascripts/themes/grid.js +131 -0
  73. data/vendor/assets/javascripts/themes/sand-signika.js +129 -0
  74. data/vendor/assets/javascripts/themes/skies.js +112 -0
  75. data/vendor/assets/stylesheets/highcharts.scss +610 -0
  76. metadata +161 -0
@@ -0,0 +1,164 @@
1
+ /**
2
+ * @license Highcharts JS v5.0.6 (2016-12-07)
3
+ *
4
+ * (c) 2009-2016 Torstein Honsi
5
+ *
6
+ * License: www.highcharts.com/license
7
+ */
8
+ (function(factory) {
9
+ if (typeof module === 'object' && module.exports) {
10
+ module.exports = factory;
11
+ } else {
12
+ factory(Highcharts);
13
+ }
14
+ }(function(Highcharts) {
15
+ (function(H) {
16
+ /**
17
+ * (c) 2009-2016 Torstein Honsi
18
+ *
19
+ * License: www.highcharts.com/license
20
+ */
21
+ 'use strict';
22
+ /**
23
+ * Highcharts module to hide overlapping data labels. This module is included in Highcharts.
24
+ */
25
+ var Chart = H.Chart,
26
+ each = H.each,
27
+ pick = H.pick,
28
+ addEvent = H.addEvent;
29
+
30
+ // Collect potensial overlapping data labels. Stack labels probably don't need to be
31
+ // considered because they are usually accompanied by data labels that lie inside the columns.
32
+ Chart.prototype.callbacks.push(function(chart) {
33
+ function collectAndHide() {
34
+ var labels = [];
35
+
36
+ each(chart.series, function(series) {
37
+ var dlOptions = series.options.dataLabels,
38
+ collections = series.dataLabelCollections || ['dataLabel']; // Range series have two collections
39
+ if ((dlOptions.enabled || series._hasPointLabels) && !dlOptions.allowOverlap && series.visible) { // #3866
40
+ each(collections, function(coll) {
41
+ each(series.points, function(point) {
42
+ if (point[coll]) {
43
+ point[coll].labelrank = pick(point.labelrank, point.shapeArgs && point.shapeArgs.height); // #4118
44
+ labels.push(point[coll]);
45
+ }
46
+ });
47
+ });
48
+ }
49
+ });
50
+ chart.hideOverlappingLabels(labels);
51
+ }
52
+
53
+ // Do it now ...
54
+ collectAndHide();
55
+
56
+ // ... and after each chart redraw
57
+ addEvent(chart, 'redraw', collectAndHide);
58
+
59
+ });
60
+
61
+ /**
62
+ * Hide overlapping labels. Labels are moved and faded in and out on zoom to provide a smooth
63
+ * visual imression.
64
+ */
65
+ Chart.prototype.hideOverlappingLabels = function(labels) {
66
+
67
+ var len = labels.length,
68
+ label,
69
+ i,
70
+ j,
71
+ label1,
72
+ label2,
73
+ isIntersecting,
74
+ pos1,
75
+ pos2,
76
+ parent1,
77
+ parent2,
78
+ padding,
79
+ intersectRect = function(x1, y1, w1, h1, x2, y2, w2, h2) {
80
+ return !(
81
+ x2 > x1 + w1 ||
82
+ x2 + w2 < x1 ||
83
+ y2 > y1 + h1 ||
84
+ y2 + h2 < y1
85
+ );
86
+ };
87
+
88
+ // Mark with initial opacity
89
+ for (i = 0; i < len; i++) {
90
+ label = labels[i];
91
+ if (label) {
92
+ label.oldOpacity = label.opacity;
93
+ label.newOpacity = 1;
94
+ }
95
+ }
96
+
97
+ // Prevent a situation in a gradually rising slope, that each label
98
+ // will hide the previous one because the previous one always has
99
+ // lower rank.
100
+ labels.sort(function(a, b) {
101
+ return (b.labelrank || 0) - (a.labelrank || 0);
102
+ });
103
+
104
+ // Detect overlapping labels
105
+ for (i = 0; i < len; i++) {
106
+ label1 = labels[i];
107
+
108
+ for (j = i + 1; j < len; ++j) {
109
+ label2 = labels[j];
110
+ if (label1 && label2 && label1.placed && label2.placed && label1.newOpacity !== 0 && label2.newOpacity !== 0) {
111
+ pos1 = label1.alignAttr;
112
+ pos2 = label2.alignAttr;
113
+ parent1 = label1.parentGroup; // Different panes have different positions
114
+ parent2 = label2.parentGroup;
115
+ padding = 2 * (label1.box ? 0 : label1.padding); // Substract the padding if no background or border (#4333)
116
+ isIntersecting = intersectRect(
117
+ pos1.x + parent1.translateX,
118
+ pos1.y + parent1.translateY,
119
+ label1.width - padding,
120
+ label1.height - padding,
121
+ pos2.x + parent2.translateX,
122
+ pos2.y + parent2.translateY,
123
+ label2.width - padding,
124
+ label2.height - padding
125
+ );
126
+
127
+ if (isIntersecting) {
128
+ (label1.labelrank < label2.labelrank ? label1 : label2).newOpacity = 0;
129
+ }
130
+ }
131
+ }
132
+ }
133
+
134
+ // Hide or show
135
+ each(labels, function(label) {
136
+ var complete,
137
+ newOpacity;
138
+
139
+ if (label) {
140
+ newOpacity = label.newOpacity;
141
+
142
+ if (label.oldOpacity !== newOpacity && label.placed) {
143
+
144
+ // Make sure the label is completely hidden to avoid catching clicks (#4362)
145
+ if (newOpacity) {
146
+ label.show(true);
147
+ } else {
148
+ complete = function() {
149
+ label.hide();
150
+ };
151
+ }
152
+
153
+ // Animate or set the opacity
154
+ label.alignAttr.opacity = newOpacity;
155
+ label[label.isOld ? 'animate' : 'attr'](label.alignAttr, null, complete);
156
+
157
+ }
158
+ label.isOld = true;
159
+ }
160
+ });
161
+ };
162
+
163
+ }(Highcharts));
164
+ }));