morrisjs-rails 0.4.3 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/morrisjs-rails/version.rb +1 -1
- data/vendor/assets/javascripts/morris.js +269 -137
- data/vendor/assets/stylesheets/morris.css +2 -2
- metadata +11 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45e6c7dea9af4ad673b2099893a2660870ab6a08
|
4
|
+
data.tar.gz: faf9927817aa156869084ff6670de11f0043fab4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b4b2f994aa2b24003880404f4e5a4ee1bb33d90fae36341d2e2ae0665c1d993afffaf765e044f3823b5465468c10c4649c1c62f74e53f00f3d3a9b2ec277b13a
|
7
|
+
data.tar.gz: 0b4aaeddc989fefc7a28f718773eb724a5c5fbfa419704e81571cd73c4f484d42f6d03d005815e6962635e4761e37f7833b8c85f52dea4bcf7f9add8478029d6
|
@@ -1,9 +1,16 @@
|
|
1
|
+
/* @license
|
2
|
+
morris.js v0.5.0
|
3
|
+
Copyright 2014 Olly Smith All rights reserved.
|
4
|
+
Licensed under the BSD-2-Clause License.
|
5
|
+
*/
|
6
|
+
|
7
|
+
|
1
8
|
(function() {
|
2
9
|
var $, Morris, minutesSpecHelper, secondsSpecHelper,
|
3
10
|
__slice = [].slice,
|
11
|
+
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
|
4
12
|
__hasProp = {}.hasOwnProperty,
|
5
13
|
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
|
6
|
-
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
|
7
14
|
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
|
8
15
|
|
9
16
|
Morris = window.Morris = {};
|
@@ -11,7 +18,6 @@
|
|
11
18
|
$ = jQuery;
|
12
19
|
|
13
20
|
Morris.EventEmitter = (function() {
|
14
|
-
|
15
21
|
function EventEmitter() {}
|
16
22
|
|
17
23
|
EventEmitter.prototype.on = function(name, handler) {
|
@@ -65,17 +71,17 @@
|
|
65
71
|
};
|
66
72
|
|
67
73
|
Morris.Grid = (function(_super) {
|
68
|
-
|
69
74
|
__extends(Grid, _super);
|
70
75
|
|
71
76
|
function Grid(options) {
|
77
|
+
this.resizeHandler = __bind(this.resizeHandler, this);
|
72
78
|
var _this = this;
|
73
79
|
if (typeof options.element === 'string') {
|
74
80
|
this.el = $(document.getElementById(options.element));
|
75
81
|
} else {
|
76
82
|
this.el = $(options.element);
|
77
83
|
}
|
78
|
-
if (
|
84
|
+
if ((this.el == null) || this.el.length === 0) {
|
79
85
|
throw new Error("Graph container element not found");
|
80
86
|
}
|
81
87
|
if (this.el.css('position') === 'static') {
|
@@ -89,16 +95,32 @@
|
|
89
95
|
this.elementWidth = null;
|
90
96
|
this.elementHeight = null;
|
91
97
|
this.dirty = false;
|
98
|
+
this.selectFrom = null;
|
92
99
|
if (this.init) {
|
93
100
|
this.init();
|
94
101
|
}
|
95
102
|
this.setData(this.options.data);
|
96
103
|
this.el.bind('mousemove', function(evt) {
|
97
|
-
var offset;
|
104
|
+
var left, offset, right, width, x;
|
98
105
|
offset = _this.el.offset();
|
99
|
-
|
106
|
+
x = evt.pageX - offset.left;
|
107
|
+
if (_this.selectFrom) {
|
108
|
+
left = _this.data[_this.hitTest(Math.min(x, _this.selectFrom))]._x;
|
109
|
+
right = _this.data[_this.hitTest(Math.max(x, _this.selectFrom))]._x;
|
110
|
+
width = right - left;
|
111
|
+
return _this.selectionRect.attr({
|
112
|
+
x: left,
|
113
|
+
width: width
|
114
|
+
});
|
115
|
+
} else {
|
116
|
+
return _this.fire('hovermove', x, evt.pageY - offset.top);
|
117
|
+
}
|
100
118
|
});
|
101
|
-
this.el.bind('
|
119
|
+
this.el.bind('mouseleave', function(evt) {
|
120
|
+
if (_this.selectFrom) {
|
121
|
+
_this.selectionRect.hide();
|
122
|
+
_this.selectFrom = null;
|
123
|
+
}
|
102
124
|
return _this.fire('hoverout');
|
103
125
|
});
|
104
126
|
this.el.bind('touchstart touchmove touchend', function(evt) {
|
@@ -113,6 +135,31 @@
|
|
113
135
|
offset = _this.el.offset();
|
114
136
|
return _this.fire('gridclick', evt.pageX - offset.left, evt.pageY - offset.top);
|
115
137
|
});
|
138
|
+
if (this.options.rangeSelect) {
|
139
|
+
this.selectionRect = this.raphael.rect(0, 0, 0, this.el.innerHeight()).attr({
|
140
|
+
fill: this.options.rangeSelectColor,
|
141
|
+
stroke: false
|
142
|
+
}).toBack().hide();
|
143
|
+
this.el.bind('mousedown', function(evt) {
|
144
|
+
var offset;
|
145
|
+
offset = _this.el.offset();
|
146
|
+
return _this.startRange(evt.pageX - offset.left);
|
147
|
+
});
|
148
|
+
this.el.bind('mouseup', function(evt) {
|
149
|
+
var offset;
|
150
|
+
offset = _this.el.offset();
|
151
|
+
_this.endRange(evt.pageX - offset.left);
|
152
|
+
return _this.fire('hovermove', evt.pageX - offset.left, evt.pageY - offset.top);
|
153
|
+
});
|
154
|
+
}
|
155
|
+
if (this.options.resize) {
|
156
|
+
$(window).bind('resize', function(evt) {
|
157
|
+
if (_this.timeoutId != null) {
|
158
|
+
window.clearTimeout(_this.timeoutId);
|
159
|
+
}
|
160
|
+
return _this.timeoutId = window.setTimeout(_this.resizeHandler, 100);
|
161
|
+
});
|
162
|
+
}
|
116
163
|
if (this.postInit) {
|
117
164
|
this.postInit();
|
118
165
|
}
|
@@ -143,16 +190,19 @@
|
|
143
190
|
goalLineColors: ['#666633', '#999966', '#cc6666', '#663333'],
|
144
191
|
events: [],
|
145
192
|
eventStrokeWidth: 1.0,
|
146
|
-
eventLineColors: ['#005a04', '#ccffbb', '#3a5f0b', '#005502']
|
193
|
+
eventLineColors: ['#005a04', '#ccffbb', '#3a5f0b', '#005502'],
|
194
|
+
rangeSelect: null,
|
195
|
+
rangeSelectColor: '#eef',
|
196
|
+
resize: false
|
147
197
|
};
|
148
198
|
|
149
199
|
Grid.prototype.setData = function(data, redraw) {
|
150
|
-
var e, idx, index, maxGoal, minGoal, ret, row, step, total, y, ykey, ymax, ymin, yval;
|
200
|
+
var e, idx, index, maxGoal, minGoal, ret, row, step, total, y, ykey, ymax, ymin, yval, _ref;
|
151
201
|
if (redraw == null) {
|
152
202
|
redraw = true;
|
153
203
|
}
|
154
204
|
this.options.data = data;
|
155
|
-
if (
|
205
|
+
if ((data == null) || data.length === 0) {
|
156
206
|
this.data = [];
|
157
207
|
this.raphael.clear();
|
158
208
|
if (this.hover != null) {
|
@@ -163,8 +213,8 @@
|
|
163
213
|
ymax = this.cumulative ? 0 : null;
|
164
214
|
ymin = this.cumulative ? 0 : null;
|
165
215
|
if (this.options.goals.length > 0) {
|
166
|
-
minGoal = Math.min.apply(
|
167
|
-
maxGoal = Math.max.apply(
|
216
|
+
minGoal = Math.min.apply(Math, this.options.goals);
|
217
|
+
maxGoal = Math.max.apply(Math, this.options.goals);
|
168
218
|
ymin = ymin != null ? Math.min(ymin, minGoal) : minGoal;
|
169
219
|
ymax = ymax != null ? Math.max(ymax, maxGoal) : maxGoal;
|
170
220
|
}
|
@@ -173,7 +223,9 @@
|
|
173
223
|
_results = [];
|
174
224
|
for (index = _i = 0, _len = data.length; _i < _len; index = ++_i) {
|
175
225
|
row = data[index];
|
176
|
-
ret = {
|
226
|
+
ret = {
|
227
|
+
src: row
|
228
|
+
};
|
177
229
|
ret.label = row[this.options.xkey];
|
178
230
|
if (this.options.parseTime) {
|
179
231
|
ret.x = Morris.parseDate(ret.label);
|
@@ -234,19 +286,23 @@
|
|
234
286
|
this.xmin = this.data[0].x;
|
235
287
|
this.xmax = this.data[this.data.length - 1].x;
|
236
288
|
this.events = [];
|
237
|
-
if (this.options.
|
238
|
-
this.
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
289
|
+
if (this.options.events.length > 0) {
|
290
|
+
if (this.options.parseTime) {
|
291
|
+
this.events = (function() {
|
292
|
+
var _i, _len, _ref, _results;
|
293
|
+
_ref = this.options.events;
|
294
|
+
_results = [];
|
295
|
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
296
|
+
e = _ref[_i];
|
297
|
+
_results.push(Morris.parseDate(e));
|
298
|
+
}
|
299
|
+
return _results;
|
300
|
+
}).call(this);
|
301
|
+
} else {
|
302
|
+
this.events = this.options.events;
|
303
|
+
}
|
304
|
+
this.xmax = Math.max(this.xmax, Math.max.apply(Math, this.events));
|
305
|
+
this.xmin = Math.min(this.xmin, Math.min.apply(Math, this.events));
|
250
306
|
}
|
251
307
|
if (this.xmin === this.xmax) {
|
252
308
|
this.xmin -= 1;
|
@@ -260,7 +316,7 @@
|
|
260
316
|
}
|
261
317
|
this.ymax += 1;
|
262
318
|
}
|
263
|
-
if (this.options.axes === true || this.options.grid === true) {
|
319
|
+
if (((_ref = this.options.axes) === true || _ref === 'both' || _ref === 'y') || this.options.grid === true) {
|
264
320
|
if (this.options.ymax === this.gridDefaults.ymax && this.options.ymin === this.gridDefaults.ymin) {
|
265
321
|
this.grid = this.autoGridLines(this.ymin, this.ymax, this.options.numLines);
|
266
322
|
this.ymin = Math.min(this.ymin, this.grid[0]);
|
@@ -268,9 +324,9 @@
|
|
268
324
|
} else {
|
269
325
|
step = (this.ymax - this.ymin) / (this.options.numLines - 1);
|
270
326
|
this.grid = (function() {
|
271
|
-
var _i,
|
327
|
+
var _i, _ref1, _ref2, _results;
|
272
328
|
_results = [];
|
273
|
-
for (y = _i =
|
329
|
+
for (y = _i = _ref1 = this.ymin, _ref2 = this.ymax; step > 0 ? _i <= _ref2 : _i >= _ref2; y = _i += step) {
|
274
330
|
_results.push(y);
|
275
331
|
}
|
276
332
|
return _results;
|
@@ -330,7 +386,7 @@
|
|
330
386
|
grid = (function() {
|
331
387
|
var _i, _results;
|
332
388
|
_results = [];
|
333
|
-
for (y = _i = gmin;
|
389
|
+
for (y = _i = gmin; step > 0 ? _i <= gmax : _i >= gmax; y = _i += step) {
|
334
390
|
_results.push(parseFloat(y.toFixed(1 - smag)));
|
335
391
|
}
|
336
392
|
return _results;
|
@@ -339,7 +395,7 @@
|
|
339
395
|
grid = (function() {
|
340
396
|
var _i, _results;
|
341
397
|
_results = [];
|
342
|
-
for (y = _i = gmin;
|
398
|
+
for (y = _i = gmin; step > 0 ? _i <= gmax : _i >= gmax; y = _i += step) {
|
343
399
|
_results.push(y);
|
344
400
|
}
|
345
401
|
return _results;
|
@@ -349,7 +405,7 @@
|
|
349
405
|
};
|
350
406
|
|
351
407
|
Grid.prototype._calc = function() {
|
352
|
-
var bottomOffsets, gridLine, h, i, w, yLabelWidths;
|
408
|
+
var bottomOffsets, gridLine, h, i, w, yLabelWidths, _ref, _ref1;
|
353
409
|
w = this.el.width();
|
354
410
|
h = this.el.height();
|
355
411
|
if (this.elementWidth !== w || this.elementHeight !== h || this.dirty) {
|
@@ -360,22 +416,24 @@
|
|
360
416
|
this.right = this.elementWidth - this.options.padding;
|
361
417
|
this.top = this.options.padding;
|
362
418
|
this.bottom = this.elementHeight - this.options.padding;
|
363
|
-
if (this.options.axes) {
|
419
|
+
if ((_ref = this.options.axes) === true || _ref === 'both' || _ref === 'y') {
|
364
420
|
yLabelWidths = (function() {
|
365
|
-
var _i, _len,
|
366
|
-
|
421
|
+
var _i, _len, _ref1, _results;
|
422
|
+
_ref1 = this.grid;
|
367
423
|
_results = [];
|
368
|
-
for (_i = 0, _len =
|
369
|
-
gridLine =
|
424
|
+
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
|
425
|
+
gridLine = _ref1[_i];
|
370
426
|
_results.push(this.measureText(this.yAxisFormat(gridLine)).width);
|
371
427
|
}
|
372
428
|
return _results;
|
373
429
|
}).call(this);
|
374
430
|
this.left += Math.max.apply(Math, yLabelWidths);
|
431
|
+
}
|
432
|
+
if ((_ref1 = this.options.axes) === true || _ref1 === 'both' || _ref1 === 'x') {
|
375
433
|
bottomOffsets = (function() {
|
376
|
-
var _i,
|
434
|
+
var _i, _ref2, _results;
|
377
435
|
_results = [];
|
378
|
-
for (i = _i = 0,
|
436
|
+
for (i = _i = 0, _ref2 = this.data.length; 0 <= _ref2 ? _i < _ref2 : _i > _ref2; i = 0 <= _ref2 ? ++_i : --_i) {
|
379
437
|
_results.push(this.measureText(this.data[i].text, -this.options.xLabelAngle).height);
|
380
438
|
}
|
381
439
|
return _results;
|
@@ -438,25 +496,17 @@
|
|
438
496
|
}
|
439
497
|
};
|
440
498
|
|
441
|
-
Grid.prototype.updateHover = function(x, y) {
|
442
|
-
var hit, _ref;
|
443
|
-
hit = this.hitTest(x, y);
|
444
|
-
if (hit != null) {
|
445
|
-
return (_ref = this.hover).update.apply(_ref, hit);
|
446
|
-
}
|
447
|
-
};
|
448
|
-
|
449
499
|
Grid.prototype.drawGrid = function() {
|
450
|
-
var lineY, y, _i, _len, _ref, _results;
|
451
|
-
if (this.options.grid === false && this.options.axes
|
500
|
+
var lineY, y, _i, _len, _ref, _ref1, _ref2, _results;
|
501
|
+
if (this.options.grid === false && ((_ref = this.options.axes) !== true && _ref !== 'both' && _ref !== 'y')) {
|
452
502
|
return;
|
453
503
|
}
|
454
|
-
|
504
|
+
_ref1 = this.grid;
|
455
505
|
_results = [];
|
456
|
-
for (_i = 0, _len =
|
457
|
-
lineY =
|
506
|
+
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
|
507
|
+
lineY = _ref1[_i];
|
458
508
|
y = this.transY(lineY);
|
459
|
-
if (this.options.axes) {
|
509
|
+
if ((_ref2 = this.options.axes) === true || _ref2 === 'both' || _ref2 === 'y') {
|
460
510
|
this.drawYAxisLabel(this.left - this.options.padding / 2, y, this.yAxisFormat(lineY));
|
461
511
|
}
|
462
512
|
if (this.options.grid) {
|
@@ -508,6 +558,34 @@
|
|
508
558
|
return this.raphael.path(path).attr('stroke', this.options.gridLineColor).attr('stroke-width', this.options.gridStrokeWidth);
|
509
559
|
};
|
510
560
|
|
561
|
+
Grid.prototype.startRange = function(x) {
|
562
|
+
this.hover.hide();
|
563
|
+
this.selectFrom = x;
|
564
|
+
return this.selectionRect.attr({
|
565
|
+
x: x,
|
566
|
+
width: 0
|
567
|
+
}).show();
|
568
|
+
};
|
569
|
+
|
570
|
+
Grid.prototype.endRange = function(x) {
|
571
|
+
var end, start;
|
572
|
+
if (this.selectFrom) {
|
573
|
+
start = Math.min(this.selectFrom, x);
|
574
|
+
end = Math.max(this.selectFrom, x);
|
575
|
+
this.options.rangeSelect.call(this.el, {
|
576
|
+
start: this.data[this.hitTest(start)].x,
|
577
|
+
end: this.data[this.hitTest(end)].x
|
578
|
+
});
|
579
|
+
return this.selectFrom = null;
|
580
|
+
}
|
581
|
+
};
|
582
|
+
|
583
|
+
Grid.prototype.resizeHandler = function() {
|
584
|
+
this.timeoutId = null;
|
585
|
+
this.raphael.setSize(this.el.width(), this.el.height());
|
586
|
+
return this.redraw();
|
587
|
+
};
|
588
|
+
|
511
589
|
return Grid;
|
512
590
|
|
513
591
|
})(Morris.EventEmitter);
|
@@ -570,7 +648,6 @@
|
|
570
648
|
};
|
571
649
|
|
572
650
|
Morris.Hover = (function() {
|
573
|
-
|
574
651
|
Hover.defaults = {
|
575
652
|
"class": 'morris-hover morris-default-style'
|
576
653
|
};
|
@@ -632,16 +709,12 @@
|
|
632
709
|
})();
|
633
710
|
|
634
711
|
Morris.Line = (function(_super) {
|
635
|
-
|
636
712
|
__extends(Line, _super);
|
637
713
|
|
638
714
|
function Line(options) {
|
639
715
|
this.hilight = __bind(this.hilight, this);
|
640
|
-
|
641
716
|
this.onHoverOut = __bind(this.onHoverOut, this);
|
642
|
-
|
643
717
|
this.onHoverMove = __bind(this.onHoverMove, this);
|
644
|
-
|
645
718
|
this.onGridClick = __bind(this.onGridClick, this);
|
646
719
|
if (!(this instanceof Morris.Line)) {
|
647
720
|
return new Morris.Line(options);
|
@@ -650,12 +723,6 @@
|
|
650
723
|
}
|
651
724
|
|
652
725
|
Line.prototype.init = function() {
|
653
|
-
this.pointGrow = Raphael.animation({
|
654
|
-
r: this.options.pointSize + 3
|
655
|
-
}, 25, 'linear');
|
656
|
-
this.pointShrink = Raphael.animation({
|
657
|
-
r: this.options.pointSize
|
658
|
-
}, 25, 'linear');
|
659
726
|
if (this.options.hideHover !== 'always') {
|
660
727
|
this.hover = new Morris.Hover({
|
661
728
|
parent: this.el
|
@@ -670,7 +737,7 @@
|
|
670
737
|
lineWidth: 3,
|
671
738
|
pointSize: 4,
|
672
739
|
lineColors: ['#0b62a4', '#7A92A3', '#4da74d', '#afd8f8', '#edc240', '#cb4b4b', '#9440ed'],
|
673
|
-
|
740
|
+
pointStrokeWidths: [1],
|
674
741
|
pointStrokeColors: ['#ffffff'],
|
675
742
|
pointFillColors: [],
|
676
743
|
smooth: true,
|
@@ -707,7 +774,7 @@
|
|
707
774
|
}
|
708
775
|
return _results1;
|
709
776
|
}).call(this);
|
710
|
-
_results.push(row._ymax = Math.min.apply(
|
777
|
+
_results.push(row._ymax = Math.min.apply(Math, [this.bottom].concat((function() {
|
711
778
|
var _j, _len1, _ref1, _results1;
|
712
779
|
_ref1 = row._y;
|
713
780
|
_results1 = [];
|
@@ -723,7 +790,7 @@
|
|
723
790
|
return _results;
|
724
791
|
};
|
725
792
|
|
726
|
-
Line.prototype.hitTest = function(x
|
793
|
+
Line.prototype.hitTest = function(x) {
|
727
794
|
var index, r, _i, _len, _ref;
|
728
795
|
if (this.data.length === 0) {
|
729
796
|
return null;
|
@@ -740,13 +807,13 @@
|
|
740
807
|
|
741
808
|
Line.prototype.onGridClick = function(x, y) {
|
742
809
|
var index;
|
743
|
-
index = this.hitTest(x
|
744
|
-
return this.fire('click', index, this.
|
810
|
+
index = this.hitTest(x);
|
811
|
+
return this.fire('click', index, this.data[index].src, x, y);
|
745
812
|
};
|
746
813
|
|
747
814
|
Line.prototype.onHoverMove = function(x, y) {
|
748
815
|
var index;
|
749
|
-
index = this.hitTest(x
|
816
|
+
index = this.hitTest(x);
|
750
817
|
return this.displayHoverForRow(index);
|
751
818
|
};
|
752
819
|
|
@@ -777,7 +844,7 @@
|
|
777
844
|
content += "<div class='morris-hover-point' style='color: " + (this.colorFor(row, j, 'label')) + "'>\n " + this.options.labels[j] + ":\n " + (this.yLabelFormat(y)) + "\n</div>";
|
778
845
|
}
|
779
846
|
if (typeof this.options.hoverCallback === 'function') {
|
780
|
-
content = this.options.hoverCallback(index, this.options, content);
|
847
|
+
content = this.options.hoverCallback(index, this.options, content, row.src);
|
781
848
|
}
|
782
849
|
return [content, row._x, row._ymax];
|
783
850
|
};
|
@@ -788,7 +855,7 @@
|
|
788
855
|
var _i, _ref, _ref1, _results;
|
789
856
|
_results = [];
|
790
857
|
for (i = _i = 0, _ref = this.options.ykeys.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {
|
791
|
-
smooth = this.options.smooth ===
|
858
|
+
smooth = typeof this.options.smooth === "boolean" ? this.options.smooth : (_ref1 = this.options.ykeys[i], __indexOf.call(this.options.smooth, _ref1) >= 0);
|
792
859
|
coords = (function() {
|
793
860
|
var _j, _len, _ref2, _results1;
|
794
861
|
_ref2 = this.data;
|
@@ -828,7 +895,8 @@
|
|
828
895
|
};
|
829
896
|
|
830
897
|
Line.prototype.draw = function() {
|
831
|
-
|
898
|
+
var _ref;
|
899
|
+
if ((_ref = this.options.axes) === true || _ref === 'both' || _ref === 'x') {
|
832
900
|
this.drawXAxis();
|
833
901
|
}
|
834
902
|
this.drawSeries();
|
@@ -855,7 +923,7 @@
|
|
855
923
|
label.transform("t" + offset + ",0...");
|
856
924
|
}
|
857
925
|
labelBox = label.getBBox();
|
858
|
-
if ((
|
926
|
+
if (((prevLabelMargin == null) || prevLabelMargin >= labelBox.x + labelBox.width || (prevAngleMargin != null) && prevAngleMargin >= labelBox.x) && labelBox.x >= 0 && (labelBox.x + labelBox.width) < _this.el.width()) {
|
859
927
|
if (_this.options.xLabelAngle !== 0) {
|
860
928
|
margin = 1.25 * _this.options.gridTextSize / Math.sin(_this.options.xLabelAngle * Math.PI / 180.0);
|
861
929
|
prevAngleMargin = labelBox.x - margin;
|
@@ -914,7 +982,7 @@
|
|
914
982
|
row = _ref[_i];
|
915
983
|
circle = null;
|
916
984
|
if (row._y[index] != null) {
|
917
|
-
circle = this.drawLinePoint(row._x, row._y[index], this.
|
985
|
+
circle = this.drawLinePoint(row._x, row._y[index], this.colorFor(row, index, 'point'), index);
|
918
986
|
}
|
919
987
|
_results.push(this.seriesPoints[index].push(circle));
|
920
988
|
}
|
@@ -925,7 +993,7 @@
|
|
925
993
|
var path;
|
926
994
|
path = this.paths[index];
|
927
995
|
if (path !== null) {
|
928
|
-
return this.drawLinePath(path, this.colorFor(null, index, 'line'));
|
996
|
+
return this.drawLinePath(path, this.colorFor(null, index, 'line'), index);
|
929
997
|
}
|
930
998
|
};
|
931
999
|
|
@@ -1001,14 +1069,14 @@
|
|
1001
1069
|
if (this.prevHilight !== null && this.prevHilight !== index) {
|
1002
1070
|
for (i = _i = 0, _ref = this.seriesPoints.length - 1; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) {
|
1003
1071
|
if (this.seriesPoints[i][this.prevHilight]) {
|
1004
|
-
this.seriesPoints[i][this.prevHilight].animate(this.
|
1072
|
+
this.seriesPoints[i][this.prevHilight].animate(this.pointShrinkSeries(i));
|
1005
1073
|
}
|
1006
1074
|
}
|
1007
1075
|
}
|
1008
1076
|
if (index !== null && this.prevHilight !== index) {
|
1009
1077
|
for (i = _j = 0, _ref1 = this.seriesPoints.length - 1; 0 <= _ref1 ? _j <= _ref1 : _j >= _ref1; i = 0 <= _ref1 ? ++_j : --_j) {
|
1010
1078
|
if (this.seriesPoints[i][index]) {
|
1011
|
-
this.seriesPoints[i][index].animate(this.
|
1079
|
+
this.seriesPoints[i][index].animate(this.pointGrowSeries(i));
|
1012
1080
|
}
|
1013
1081
|
}
|
1014
1082
|
}
|
@@ -1029,22 +1097,50 @@
|
|
1029
1097
|
return this.raphael.text(xPos, yPos, text).attr('font-size', this.options.gridTextSize).attr('font-family', this.options.gridTextFamily).attr('font-weight', this.options.gridTextWeight).attr('fill', this.options.gridTextColor);
|
1030
1098
|
};
|
1031
1099
|
|
1032
|
-
Line.prototype.drawLinePath = function(path, lineColor) {
|
1033
|
-
return this.raphael.path(path).attr('stroke', lineColor).attr('stroke-width', this.
|
1100
|
+
Line.prototype.drawLinePath = function(path, lineColor, lineIndex) {
|
1101
|
+
return this.raphael.path(path).attr('stroke', lineColor).attr('stroke-width', this.lineWidthForSeries(lineIndex));
|
1034
1102
|
};
|
1035
1103
|
|
1036
|
-
Line.prototype.drawLinePoint = function(xPos, yPos,
|
1037
|
-
return this.raphael.circle(xPos, yPos,
|
1104
|
+
Line.prototype.drawLinePoint = function(xPos, yPos, pointColor, lineIndex) {
|
1105
|
+
return this.raphael.circle(xPos, yPos, this.pointSizeForSeries(lineIndex)).attr('fill', pointColor).attr('stroke-width', this.pointStrokeWidthForSeries(lineIndex)).attr('stroke', this.pointStrokeColorForSeries(lineIndex));
|
1038
1106
|
};
|
1039
1107
|
|
1040
|
-
Line.prototype.
|
1041
|
-
return this.options.
|
1108
|
+
Line.prototype.pointStrokeWidthForSeries = function(index) {
|
1109
|
+
return this.options.pointStrokeWidths[index % this.options.pointStrokeWidths.length];
|
1042
1110
|
};
|
1043
1111
|
|
1044
|
-
Line.prototype.
|
1112
|
+
Line.prototype.pointStrokeColorForSeries = function(index) {
|
1045
1113
|
return this.options.pointStrokeColors[index % this.options.pointStrokeColors.length];
|
1046
1114
|
};
|
1047
1115
|
|
1116
|
+
Line.prototype.lineWidthForSeries = function(index) {
|
1117
|
+
if (this.options.lineWidth instanceof Array) {
|
1118
|
+
return this.options.lineWidth[index % this.options.lineWidth.length];
|
1119
|
+
} else {
|
1120
|
+
return this.options.lineWidth;
|
1121
|
+
}
|
1122
|
+
};
|
1123
|
+
|
1124
|
+
Line.prototype.pointSizeForSeries = function(index) {
|
1125
|
+
if (this.options.pointSize instanceof Array) {
|
1126
|
+
return this.options.pointSize[index % this.options.pointSize.length];
|
1127
|
+
} else {
|
1128
|
+
return this.options.pointSize;
|
1129
|
+
}
|
1130
|
+
};
|
1131
|
+
|
1132
|
+
Line.prototype.pointGrowSeries = function(index) {
|
1133
|
+
return Raphael.animation({
|
1134
|
+
r: this.pointSizeForSeries(index) + 3
|
1135
|
+
}, 25, 'linear');
|
1136
|
+
};
|
1137
|
+
|
1138
|
+
Line.prototype.pointShrinkSeries = function(index) {
|
1139
|
+
return Raphael.animation({
|
1140
|
+
r: this.pointSizeForSeries(index)
|
1141
|
+
}, 25, 'linear');
|
1142
|
+
};
|
1143
|
+
|
1048
1144
|
return Line;
|
1049
1145
|
|
1050
1146
|
})(Morris.Grid);
|
@@ -1151,6 +1247,18 @@
|
|
1151
1247
|
return d.setMonth(d.getMonth() + 1);
|
1152
1248
|
}
|
1153
1249
|
},
|
1250
|
+
"week": {
|
1251
|
+
span: 604800000,
|
1252
|
+
start: function(d) {
|
1253
|
+
return new Date(d.getFullYear(), d.getMonth(), d.getDate());
|
1254
|
+
},
|
1255
|
+
fmt: function(d) {
|
1256
|
+
return "" + (d.getFullYear()) + "-" + (Morris.pad2(d.getMonth() + 1)) + "-" + (Morris.pad2(d.getDate()));
|
1257
|
+
},
|
1258
|
+
incr: function(d) {
|
1259
|
+
return d.setDate(d.getDate() + 7);
|
1260
|
+
}
|
1261
|
+
},
|
1154
1262
|
"day": {
|
1155
1263
|
span: 86400000,
|
1156
1264
|
start: function(d) {
|
@@ -1176,7 +1284,7 @@
|
|
1176
1284
|
"second": secondsSpecHelper(1)
|
1177
1285
|
};
|
1178
1286
|
|
1179
|
-
Morris.AUTO_LABEL_ORDER = ["decade", "year", "month", "day", "hour", "30min", "15min", "10min", "5min", "minute", "30sec", "15sec", "10sec", "5sec", "second"];
|
1287
|
+
Morris.AUTO_LABEL_ORDER = ["decade", "year", "month", "week", "day", "hour", "30min", "15min", "10min", "5min", "minute", "30sec", "15sec", "10sec", "5sec", "second"];
|
1180
1288
|
|
1181
1289
|
Morris.Area = (function(_super) {
|
1182
1290
|
var areaDefaults;
|
@@ -1271,7 +1379,7 @@
|
|
1271
1379
|
};
|
1272
1380
|
|
1273
1381
|
Area.prototype.drawFilledPath = function(path, fill) {
|
1274
|
-
return this.raphael.path(path).attr('fill', fill).attr('fill-opacity', this.options.fillOpacity).attr('stroke
|
1382
|
+
return this.raphael.path(path).attr('fill', fill).attr('fill-opacity', this.options.fillOpacity).attr('stroke', 'none');
|
1275
1383
|
};
|
1276
1384
|
|
1277
1385
|
return Area;
|
@@ -1279,14 +1387,11 @@
|
|
1279
1387
|
})(Morris.Line);
|
1280
1388
|
|
1281
1389
|
Morris.Bar = (function(_super) {
|
1282
|
-
|
1283
1390
|
__extends(Bar, _super);
|
1284
1391
|
|
1285
1392
|
function Bar(options) {
|
1286
1393
|
this.onHoverOut = __bind(this.onHoverOut, this);
|
1287
|
-
|
1288
1394
|
this.onHoverMove = __bind(this.onHoverMove, this);
|
1289
|
-
|
1290
1395
|
this.onGridClick = __bind(this.onGridClick, this);
|
1291
1396
|
if (!(this instanceof Morris.Bar)) {
|
1292
1397
|
return new Morris.Bar(options);
|
@@ -1312,6 +1417,8 @@
|
|
1312
1417
|
barSizeRatio: 0.75,
|
1313
1418
|
barGap: 3,
|
1314
1419
|
barColors: ['#0b62a4', '#7a92a3', '#4da74d', '#afd8f8', '#edc240', '#cb4b4b', '#9440ed'],
|
1420
|
+
barOpacity: 1.0,
|
1421
|
+
barRadius: [0, 0, 0, 0],
|
1315
1422
|
xLabelMargin: 50
|
1316
1423
|
};
|
1317
1424
|
|
@@ -1349,7 +1456,8 @@
|
|
1349
1456
|
};
|
1350
1457
|
|
1351
1458
|
Bar.prototype.draw = function() {
|
1352
|
-
|
1459
|
+
var _ref;
|
1460
|
+
if ((_ref = this.options.axes) === true || _ref === 'both' || _ref === 'x') {
|
1353
1461
|
this.drawXAxis();
|
1354
1462
|
}
|
1355
1463
|
return this.drawSeries();
|
@@ -1357,7 +1465,7 @@
|
|
1357
1465
|
|
1358
1466
|
Bar.prototype.drawXAxis = function() {
|
1359
1467
|
var i, label, labelBox, margin, offset, prevAngleMargin, prevLabelMargin, row, textBox, ypos, _i, _ref, _results;
|
1360
|
-
ypos = this.bottom + this.options.padding / 2;
|
1468
|
+
ypos = this.bottom + (this.options.xAxisLabelTopPadding || this.options.padding / 2);
|
1361
1469
|
prevLabelMargin = null;
|
1362
1470
|
prevAngleMargin = null;
|
1363
1471
|
_results = [];
|
@@ -1372,7 +1480,7 @@
|
|
1372
1480
|
offset = -0.5 * textBox.width * Math.cos(this.options.xLabelAngle * Math.PI / 180.0);
|
1373
1481
|
label.transform("t" + offset + ",0...");
|
1374
1482
|
}
|
1375
|
-
if ((
|
1483
|
+
if (((prevLabelMargin == null) || prevLabelMargin >= labelBox.x + labelBox.width || (prevAngleMargin != null) && prevAngleMargin >= labelBox.x) && labelBox.x >= 0 && (labelBox.x + labelBox.width) < this.el.width()) {
|
1376
1484
|
if (this.options.xLabelAngle !== 0) {
|
1377
1485
|
margin = 1.25 * this.options.gridTextSize / Math.sin(this.options.xLabelAngle * Math.PI / 180.0);
|
1378
1486
|
prevAngleMargin = labelBox.x - margin;
|
@@ -1386,11 +1494,15 @@
|
|
1386
1494
|
};
|
1387
1495
|
|
1388
1496
|
Bar.prototype.drawSeries = function() {
|
1389
|
-
var barWidth, bottom, groupWidth, idx, lastTop, left, leftPadding, numBars, row, sidx, size, top, ypos, zeroPos;
|
1497
|
+
var barWidth, bottom, groupWidth, idx, lastTop, left, leftPadding, numBars, row, sidx, size, spaceLeft, top, ypos, zeroPos;
|
1390
1498
|
groupWidth = this.width / this.options.data.length;
|
1391
1499
|
numBars = this.options.stacked != null ? 1 : this.options.ykeys.length;
|
1392
1500
|
barWidth = (groupWidth * this.options.barSizeRatio - this.options.barGap * (numBars - 1)) / numBars;
|
1393
|
-
|
1501
|
+
if (this.options.barSize) {
|
1502
|
+
barWidth = Math.min(barWidth, this.options.barSize);
|
1503
|
+
}
|
1504
|
+
spaceLeft = groupWidth - barWidth * numBars - this.options.barGap * (numBars - 1);
|
1505
|
+
leftPadding = spaceLeft / 2;
|
1394
1506
|
zeroPos = this.ymin <= 0 && this.ymax >= 0 ? this.transY(0) : null;
|
1395
1507
|
return this.bars = (function() {
|
1396
1508
|
var _i, _len, _ref, _results;
|
@@ -1421,7 +1533,7 @@
|
|
1421
1533
|
if (this.options.stacked) {
|
1422
1534
|
top -= lastTop;
|
1423
1535
|
}
|
1424
|
-
this.drawBar(left, top, barWidth, size, this.colorFor(row, sidx, 'bar'));
|
1536
|
+
this.drawBar(left, top, barWidth, size, this.colorFor(row, sidx, 'bar'), this.options.barOpacity, this.options.barRadius);
|
1425
1537
|
_results1.push(lastTop += size);
|
1426
1538
|
} else {
|
1427
1539
|
_results1.push(null);
|
@@ -1453,7 +1565,7 @@
|
|
1453
1565
|
}
|
1454
1566
|
};
|
1455
1567
|
|
1456
|
-
Bar.prototype.hitTest = function(x
|
1568
|
+
Bar.prototype.hitTest = function(x) {
|
1457
1569
|
if (this.data.length === 0) {
|
1458
1570
|
return null;
|
1459
1571
|
}
|
@@ -1463,13 +1575,13 @@
|
|
1463
1575
|
|
1464
1576
|
Bar.prototype.onGridClick = function(x, y) {
|
1465
1577
|
var index;
|
1466
|
-
index = this.hitTest(x
|
1467
|
-
return this.fire('click', index, this.
|
1578
|
+
index = this.hitTest(x);
|
1579
|
+
return this.fire('click', index, this.data[index].src, x, y);
|
1468
1580
|
};
|
1469
1581
|
|
1470
1582
|
Bar.prototype.onHoverMove = function(x, y) {
|
1471
1583
|
var index, _ref;
|
1472
|
-
index = this.hitTest(x
|
1584
|
+
index = this.hitTest(x);
|
1473
1585
|
return (_ref = this.hover).update.apply(_ref, this.hoverContentForRow(index));
|
1474
1586
|
};
|
1475
1587
|
|
@@ -1489,7 +1601,7 @@
|
|
1489
1601
|
content += "<div class='morris-hover-point' style='color: " + (this.colorFor(row, j, 'label')) + "'>\n " + this.options.labels[j] + ":\n " + (this.yLabelFormat(y)) + "\n</div>";
|
1490
1602
|
}
|
1491
1603
|
if (typeof this.options.hoverCallback === 'function') {
|
1492
|
-
content = this.options.hoverCallback(index, this.options, content);
|
1604
|
+
content = this.options.hoverCallback(index, this.options, content, row.src);
|
1493
1605
|
}
|
1494
1606
|
x = this.left + (index + 0.5) * this.width / this.data.length;
|
1495
1607
|
return [content, x];
|
@@ -1500,8 +1612,22 @@
|
|
1500
1612
|
return label = this.raphael.text(xPos, yPos, text).attr('font-size', this.options.gridTextSize).attr('font-family', this.options.gridTextFamily).attr('font-weight', this.options.gridTextWeight).attr('fill', this.options.gridTextColor);
|
1501
1613
|
};
|
1502
1614
|
|
1503
|
-
Bar.prototype.drawBar = function(xPos, yPos, width, height, barColor) {
|
1504
|
-
|
1615
|
+
Bar.prototype.drawBar = function(xPos, yPos, width, height, barColor, opacity, radiusArray) {
|
1616
|
+
var maxRadius, path;
|
1617
|
+
maxRadius = Math.max.apply(Math, radiusArray);
|
1618
|
+
if (maxRadius === 0 || maxRadius > height) {
|
1619
|
+
path = this.raphael.rect(xPos, yPos, width, height);
|
1620
|
+
} else {
|
1621
|
+
path = this.raphael.path(this.roundedRect(xPos, yPos, width, height, radiusArray));
|
1622
|
+
}
|
1623
|
+
return path.attr('fill', barColor).attr('fill-opacity', opacity).attr('stroke', 'none');
|
1624
|
+
};
|
1625
|
+
|
1626
|
+
Bar.prototype.roundedRect = function(x, y, w, h, r) {
|
1627
|
+
if (r == null) {
|
1628
|
+
r = [0, 0, 0, 0];
|
1629
|
+
}
|
1630
|
+
return ["M", x, r[0] + y, "Q", x, y, x + r[0], y, "L", x + w - r[1], y, "Q", x + w, y, x + w, y + r[1], "L", x + w, y + h - r[2], "Q", x + w, y + h, x + w - r[2], y + h, "L", x + r[3], y + h, "Q", x, y + h, x, y + h - r[3], "Z"];
|
1505
1631
|
};
|
1506
1632
|
|
1507
1633
|
return Bar;
|
@@ -1509,55 +1635,51 @@
|
|
1509
1635
|
})(Morris.Grid);
|
1510
1636
|
|
1511
1637
|
Morris.Donut = (function(_super) {
|
1512
|
-
|
1513
1638
|
__extends(Donut, _super);
|
1514
1639
|
|
1515
1640
|
Donut.prototype.defaults = {
|
1516
1641
|
colors: ['#0B62A4', '#3980B5', '#679DC6', '#95BBD7', '#B0CCE1', '#095791', '#095085', '#083E67', '#052C48', '#042135'],
|
1517
1642
|
backgroundColor: '#FFFFFF',
|
1518
1643
|
labelColor: '#000000',
|
1519
|
-
formatter: Morris.commas
|
1644
|
+
formatter: Morris.commas,
|
1645
|
+
resize: false
|
1520
1646
|
};
|
1521
1647
|
|
1522
1648
|
function Donut(options) {
|
1649
|
+
this.resizeHandler = __bind(this.resizeHandler, this);
|
1523
1650
|
this.select = __bind(this.select, this);
|
1524
|
-
|
1525
1651
|
this.click = __bind(this.click, this);
|
1526
|
-
|
1527
|
-
var row;
|
1652
|
+
var _this = this;
|
1528
1653
|
if (!(this instanceof Morris.Donut)) {
|
1529
1654
|
return new Morris.Donut(options);
|
1530
1655
|
}
|
1656
|
+
this.options = $.extend({}, this.defaults, options);
|
1531
1657
|
if (typeof options.element === 'string') {
|
1532
1658
|
this.el = $(document.getElementById(options.element));
|
1533
1659
|
} else {
|
1534
1660
|
this.el = $(options.element);
|
1535
1661
|
}
|
1536
|
-
this.options = $.extend({}, this.defaults, options);
|
1537
1662
|
if (this.el === null || this.el.length === 0) {
|
1538
1663
|
throw new Error("Graph placeholder not found.");
|
1539
1664
|
}
|
1540
1665
|
if (options.data === void 0 || options.data.length === 0) {
|
1541
1666
|
return;
|
1542
1667
|
}
|
1543
|
-
this.
|
1544
|
-
this.
|
1545
|
-
|
1546
|
-
|
1547
|
-
|
1548
|
-
|
1549
|
-
|
1550
|
-
|
1551
|
-
|
1552
|
-
|
1553
|
-
}).call(this);
|
1554
|
-
this.redraw();
|
1668
|
+
this.raphael = new Raphael(this.el[0]);
|
1669
|
+
if (this.options.resize) {
|
1670
|
+
$(window).bind('resize', function(evt) {
|
1671
|
+
if (_this.timeoutId != null) {
|
1672
|
+
window.clearTimeout(_this.timeoutId);
|
1673
|
+
}
|
1674
|
+
return _this.timeoutId = window.setTimeout(_this.resizeHandler, 100);
|
1675
|
+
});
|
1676
|
+
}
|
1677
|
+
this.setData(options.data);
|
1555
1678
|
}
|
1556
1679
|
|
1557
1680
|
Donut.prototype.redraw = function() {
|
1558
1681
|
var C, cx, cy, i, idx, last, max_value, min, next, seg, total, value, w, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2, _results;
|
1559
|
-
this.
|
1560
|
-
this.raphael = new Raphael(this.el[0]);
|
1682
|
+
this.raphael.clear();
|
1561
1683
|
cx = this.el.width() / 2;
|
1562
1684
|
cy = this.el.height() / 2;
|
1563
1685
|
w = (Math.min(cx, cy) - 10) / 3;
|
@@ -1576,7 +1698,7 @@
|
|
1576
1698
|
for (i = _j = 0, _len1 = _ref1.length; _j < _len1; i = ++_j) {
|
1577
1699
|
value = _ref1[i];
|
1578
1700
|
next = last + min + C * (value / total);
|
1579
|
-
seg = new Morris.DonutSegment(cx, cy, w * 2, w, last, next, this.options.colors[idx % this.options.colors.length], this.options.backgroundColor, idx, this.raphael);
|
1701
|
+
seg = new Morris.DonutSegment(cx, cy, w * 2, w, last, next, this.data[i].color || this.options.colors[idx % this.options.colors.length], this.options.backgroundColor, idx, this.raphael);
|
1580
1702
|
seg.render();
|
1581
1703
|
this.segments.push(seg);
|
1582
1704
|
seg.on('hover', this.select);
|
@@ -1586,16 +1708,7 @@
|
|
1586
1708
|
}
|
1587
1709
|
this.text1 = this.drawEmptyDonutLabel(cx, cy - 10, this.options.labelColor, 15, 800);
|
1588
1710
|
this.text2 = this.drawEmptyDonutLabel(cx, cy + 10, this.options.labelColor, 14);
|
1589
|
-
max_value = Math.max.apply(
|
1590
|
-
var _k, _len2, _ref2, _results;
|
1591
|
-
_ref2 = this.values;
|
1592
|
-
_results = [];
|
1593
|
-
for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) {
|
1594
|
-
value = _ref2[_k];
|
1595
|
-
_results.push(value);
|
1596
|
-
}
|
1597
|
-
return _results;
|
1598
|
-
}).call(this));
|
1711
|
+
max_value = Math.max.apply(Math, this.values);
|
1599
1712
|
idx = 0;
|
1600
1713
|
_ref2 = this.values;
|
1601
1714
|
_results = [];
|
@@ -1610,6 +1723,22 @@
|
|
1610
1723
|
return _results;
|
1611
1724
|
};
|
1612
1725
|
|
1726
|
+
Donut.prototype.setData = function(data) {
|
1727
|
+
var row;
|
1728
|
+
this.data = data;
|
1729
|
+
this.values = (function() {
|
1730
|
+
var _i, _len, _ref, _results;
|
1731
|
+
_ref = this.data;
|
1732
|
+
_results = [];
|
1733
|
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
1734
|
+
row = _ref[_i];
|
1735
|
+
_results.push(parseFloat(row.value));
|
1736
|
+
}
|
1737
|
+
return _results;
|
1738
|
+
}).call(this);
|
1739
|
+
return this.redraw();
|
1740
|
+
};
|
1741
|
+
|
1613
1742
|
Donut.prototype.click = function(idx) {
|
1614
1743
|
return this.fire('click', idx, this.data[idx]);
|
1615
1744
|
};
|
@@ -1662,12 +1791,17 @@
|
|
1662
1791
|
return text;
|
1663
1792
|
};
|
1664
1793
|
|
1794
|
+
Donut.prototype.resizeHandler = function() {
|
1795
|
+
this.timeoutId = null;
|
1796
|
+
this.raphael.setSize(this.el.width(), this.el.height());
|
1797
|
+
return this.redraw();
|
1798
|
+
};
|
1799
|
+
|
1665
1800
|
return Donut;
|
1666
1801
|
|
1667
1802
|
})(Morris.EventEmitter);
|
1668
1803
|
|
1669
1804
|
Morris.DonutSegment = (function(_super) {
|
1670
|
-
|
1671
1805
|
__extends(DonutSegment, _super);
|
1672
1806
|
|
1673
1807
|
function DonutSegment(cx, cy, inner, outer, p0, p1, color, backgroundColor, index, raphael) {
|
@@ -1680,9 +1814,7 @@
|
|
1680
1814
|
this.index = index;
|
1681
1815
|
this.raphael = raphael;
|
1682
1816
|
this.deselect = __bind(this.deselect, this);
|
1683
|
-
|
1684
1817
|
this.select = __bind(this.select, this);
|
1685
|
-
|
1686
1818
|
this.sin_p0 = Math.sin(p0);
|
1687
1819
|
this.cos_p0 = Math.cos(p0);
|
1688
1820
|
this.sin_p1 = Math.sin(p1);
|
@@ -1,2 +1,2 @@
|
|
1
|
-
.morris-hover{position:absolute;z-index:1000
|
2
|
-
.morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0
|
1
|
+
.morris-hover{position:absolute;z-index:1000}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#666;background:rgba(255,255,255,0.8);border:solid 2px rgba(230,230,230,0.8);font-family:sans-serif;font-size:12px;text-align:center}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0}
|
2
|
+
.morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0}
|
metadata
CHANGED
@@ -1,33 +1,33 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: morrisjs-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- beanie
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-03-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3.1'
|
20
|
-
- - <
|
20
|
+
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: '5'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ">"
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '3.1'
|
30
|
-
- - <
|
30
|
+
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '5'
|
33
33
|
description: morris.js for the Rails Asset Pipeline
|
@@ -37,11 +37,11 @@ executables: []
|
|
37
37
|
extensions: []
|
38
38
|
extra_rdoc_files: []
|
39
39
|
files:
|
40
|
-
-
|
40
|
+
- README.md
|
41
41
|
- lib/morrisjs-rails.rb
|
42
|
+
- lib/morrisjs-rails/version.rb
|
42
43
|
- vendor/assets/javascripts/morris.js
|
43
44
|
- vendor/assets/stylesheets/morris.css
|
44
|
-
- README.md
|
45
45
|
homepage: https://github.com/beanieboi/morrisjs-rails
|
46
46
|
licenses:
|
47
47
|
- MIT
|
@@ -52,19 +52,18 @@ require_paths:
|
|
52
52
|
- lib
|
53
53
|
required_ruby_version: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
|
-
- -
|
55
|
+
- - ">="
|
56
56
|
- !ruby/object:Gem::Version
|
57
57
|
version: '0'
|
58
58
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- -
|
60
|
+
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '0'
|
63
63
|
requirements: []
|
64
64
|
rubyforge_project:
|
65
|
-
rubygems_version: 2.
|
65
|
+
rubygems_version: 2.2.2
|
66
66
|
signing_key:
|
67
67
|
specification_version: 4
|
68
68
|
summary: morris.js for the Rails Asset Pipeline
|
69
69
|
test_files: []
|
70
|
-
has_rdoc:
|