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,316 @@
1
+ /**
2
+ * @license Highcharts JS v5.0.6 (2016-12-07)
3
+ * Solid angular gauge module
4
+ *
5
+ * (c) 2010-2016 Torstein Honsi
6
+ *
7
+ * License: www.highcharts.com/license
8
+ */
9
+ (function(factory) {
10
+ if (typeof module === 'object' && module.exports) {
11
+ module.exports = factory;
12
+ } else {
13
+ factory(Highcharts);
14
+ }
15
+ }(function(Highcharts) {
16
+ (function(H) {
17
+ /**
18
+ * Solid angular gauge module
19
+ *
20
+ * (c) 2010-2016 Torstein Honsi
21
+ *
22
+ * License: www.highcharts.com/license
23
+ */
24
+
25
+ 'use strict';
26
+
27
+ var pInt = H.pInt,
28
+ pick = H.pick,
29
+ each = H.each,
30
+ isNumber = H.isNumber,
31
+ colorAxisMethods;
32
+
33
+ // These methods are defined in the ColorAxis object, and copied here.
34
+ // If we implement an AMD system we should make ColorAxis a dependency.
35
+ colorAxisMethods = {
36
+
37
+
38
+ initDataClasses: function(userOptions) {
39
+ var axis = this,
40
+ chart = this.chart,
41
+ dataClasses,
42
+ colorCounter = 0,
43
+ options = this.options;
44
+ this.dataClasses = dataClasses = [];
45
+
46
+ each(userOptions.dataClasses, function(dataClass, i) {
47
+ var colors;
48
+
49
+ dataClass = H.merge(dataClass);
50
+ dataClasses.push(dataClass);
51
+ if (!dataClass.color) {
52
+ if (options.dataClassColor === 'category') {
53
+ colors = chart.options.colors;
54
+ dataClass.color = colors[colorCounter++];
55
+ // loop back to zero
56
+ if (colorCounter === colors.length) {
57
+ colorCounter = 0;
58
+ }
59
+ } else {
60
+ dataClass.color = axis.tweenColors(H.color(options.minColor), H.color(options.maxColor), i / (userOptions.dataClasses.length - 1));
61
+ }
62
+ }
63
+ });
64
+ },
65
+
66
+ initStops: function(userOptions) {
67
+ this.stops = userOptions.stops || [
68
+ [0, this.options.minColor],
69
+ [1, this.options.maxColor]
70
+ ];
71
+ each(this.stops, function(stop) {
72
+ stop.color = H.color(stop[1]);
73
+ });
74
+ },
75
+ /**
76
+ * Translate from a value to a color
77
+ */
78
+ toColor: function(value, point) {
79
+ var pos,
80
+ stops = this.stops,
81
+ from,
82
+ to,
83
+ color,
84
+ dataClasses = this.dataClasses,
85
+ dataClass,
86
+ i;
87
+
88
+ if (dataClasses) {
89
+ i = dataClasses.length;
90
+ while (i--) {
91
+ dataClass = dataClasses[i];
92
+ from = dataClass.from;
93
+ to = dataClass.to;
94
+ if ((from === undefined || value >= from) && (to === undefined || value <= to)) {
95
+ color = dataClass.color;
96
+ if (point) {
97
+ point.dataClass = i;
98
+ }
99
+ break;
100
+ }
101
+ }
102
+
103
+ } else {
104
+
105
+ if (this.isLog) {
106
+ value = this.val2lin(value);
107
+ }
108
+ pos = 1 - ((this.max - value) / (this.max - this.min));
109
+ i = stops.length;
110
+ while (i--) {
111
+ if (pos > stops[i][0]) {
112
+ break;
113
+ }
114
+ }
115
+ from = stops[i] || stops[i + 1];
116
+ to = stops[i + 1] || from;
117
+
118
+ // The position within the gradient
119
+ pos = 1 - (to[0] - pos) / ((to[0] - from[0]) || 1);
120
+
121
+ color = this.tweenColors(
122
+ from.color,
123
+ to.color,
124
+ pos
125
+ );
126
+ }
127
+ return color;
128
+ },
129
+ /*
130
+ * Return an intermediate color between two colors, according to pos where 0
131
+ * is the from color and 1 is the to color.
132
+ */
133
+ tweenColors: function(from, to, pos) {
134
+ // Check for has alpha, because rgba colors perform worse due to lack of
135
+ // support in WebKit.
136
+ var hasAlpha,
137
+ ret;
138
+
139
+ // Unsupported color, return to-color (#3920)
140
+ if (!to.rgba.length || !from.rgba.length) {
141
+ ret = to.input || 'none';
142
+
143
+ // Interpolate
144
+ } else {
145
+ from = from.rgba;
146
+ to = to.rgba;
147
+ hasAlpha = (to[3] !== 1 || from[3] !== 1);
148
+ ret = (hasAlpha ? 'rgba(' : 'rgb(') +
149
+ Math.round(to[0] + (from[0] - to[0]) * (1 - pos)) + ',' +
150
+ Math.round(to[1] + (from[1] - to[1]) * (1 - pos)) + ',' +
151
+ Math.round(to[2] + (from[2] - to[2]) * (1 - pos)) +
152
+ (hasAlpha ? (',' + (to[3] + (from[3] - to[3]) * (1 - pos))) : '') + ')';
153
+ }
154
+ return ret;
155
+ }
156
+ };
157
+
158
+ /**
159
+ * Handle animation of the color attributes directly
160
+ */
161
+ each(['fill', 'stroke'], function(prop) {
162
+ H.Fx.prototype[prop + 'Setter'] = function() {
163
+ this.elem.attr(
164
+ prop,
165
+ colorAxisMethods.tweenColors(
166
+ H.color(this.start),
167
+ H.color(this.end),
168
+ this.pos
169
+ ),
170
+ null,
171
+ true
172
+ );
173
+ };
174
+ });
175
+
176
+ // The solidgauge series type
177
+ H.seriesType('solidgauge', 'gauge', {
178
+ colorByPoint: true
179
+
180
+ }, {
181
+
182
+ /**
183
+ * Extend the translate function to extend the Y axis with the necessary
184
+ * decoration (#5895).
185
+ */
186
+ translate: function() {
187
+ var axis = this.yAxis;
188
+ H.extend(axis, colorAxisMethods);
189
+
190
+ // Prepare data classes
191
+ if (!axis.dataClasses && axis.options.dataClasses) {
192
+ axis.initDataClasses(axis.options);
193
+ }
194
+ axis.initStops(axis.options);
195
+
196
+ // Generate points and inherit data label position
197
+ H.seriesTypes.gauge.prototype.translate.call(this);
198
+ },
199
+
200
+ /**
201
+ * Draw the points where each point is one needle
202
+ */
203
+ drawPoints: function() {
204
+ var series = this,
205
+ yAxis = series.yAxis,
206
+ center = yAxis.center,
207
+ options = series.options,
208
+ renderer = series.chart.renderer,
209
+ overshoot = options.overshoot,
210
+ overshootVal = isNumber(overshoot) ? overshoot / 180 * Math.PI : 0,
211
+ thresholdAngleRad;
212
+
213
+ // Handle the threshold option
214
+ if (isNumber(options.threshold)) {
215
+ thresholdAngleRad = yAxis.startAngleRad + yAxis.translate(
216
+ options.threshold,
217
+ null,
218
+ null,
219
+ null,
220
+ true
221
+ );
222
+ }
223
+ this.thresholdAngleRad = pick(thresholdAngleRad, yAxis.startAngleRad);
224
+
225
+
226
+ each(series.points, function(point) {
227
+ var graphic = point.graphic,
228
+ rotation = yAxis.startAngleRad + yAxis.translate(point.y, null, null, null, true),
229
+ radius = (pInt(pick(point.options.radius, options.radius, 100)) * center[2]) / 200,
230
+ innerRadius = (pInt(pick(point.options.innerRadius, options.innerRadius, 60)) * center[2]) / 200,
231
+ shapeArgs,
232
+ d,
233
+ toColor = yAxis.toColor(point.y, point),
234
+ axisMinAngle = Math.min(yAxis.startAngleRad, yAxis.endAngleRad),
235
+ axisMaxAngle = Math.max(yAxis.startAngleRad, yAxis.endAngleRad),
236
+ minAngle,
237
+ maxAngle;
238
+
239
+ if (toColor === 'none') { // #3708
240
+ toColor = point.color || series.color || 'none';
241
+ }
242
+ if (toColor !== 'none') {
243
+ point.color = toColor;
244
+ }
245
+
246
+ // Handle overshoot and clipping to axis max/min
247
+ rotation = Math.max(axisMinAngle - overshootVal, Math.min(axisMaxAngle + overshootVal, rotation));
248
+
249
+ // Handle the wrap option
250
+ if (options.wrap === false) {
251
+ rotation = Math.max(axisMinAngle, Math.min(axisMaxAngle, rotation));
252
+ }
253
+
254
+ minAngle = Math.min(rotation, series.thresholdAngleRad);
255
+ maxAngle = Math.max(rotation, series.thresholdAngleRad);
256
+
257
+ if (maxAngle - minAngle > 2 * Math.PI) {
258
+ maxAngle = minAngle + 2 * Math.PI;
259
+ }
260
+
261
+ point.shapeArgs = shapeArgs = {
262
+ x: center[0],
263
+ y: center[1],
264
+ r: radius,
265
+ innerR: innerRadius,
266
+ start: minAngle,
267
+ end: maxAngle,
268
+ fill: toColor
269
+ };
270
+ point.startR = radius; // For PieSeries.animate
271
+
272
+ if (graphic) {
273
+ d = shapeArgs.d;
274
+ graphic.animate(shapeArgs);
275
+ if (d) {
276
+ shapeArgs.d = d; // animate alters it
277
+ }
278
+ } else {
279
+ point.graphic = renderer.arc(shapeArgs)
280
+ .addClass('highcharts-point')
281
+ .attr({
282
+ fill: toColor,
283
+ 'sweep-flag': 0
284
+ })
285
+ .add(series.group);
286
+
287
+
288
+ if (options.linecap !== 'square') {
289
+ point.graphic.attr({
290
+ 'stroke-linecap': 'round',
291
+ 'stroke-linejoin': 'round'
292
+ });
293
+ }
294
+ point.graphic.attr({
295
+ stroke: options.borderColor || 'none',
296
+ 'stroke-width': options.borderWidth || 0
297
+ });
298
+
299
+ }
300
+ });
301
+ },
302
+
303
+ /**
304
+ * Extend the pie slice animation by animating from start angle and up
305
+ */
306
+ animate: function(init) {
307
+
308
+ if (!init) {
309
+ this.startAngleRad = this.thresholdAngleRad;
310
+ H.seriesTypes.pie.prototype.animate.call(this, init);
311
+ }
312
+ }
313
+ });
314
+
315
+ }(Highcharts));
316
+ }));