rgraph-rails 1.0.4 → 1.0.5
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.
- checksums.yaml +8 -8
- data/.travis.yml +1 -0
- data/README.md +2 -2
- data/lib/rgraph-rails/version.rb +1 -1
- data/vendor/assets/images/bullet.png +0 -0
- data/vendor/assets/images/facebook-large.png +0 -0
- data/vendor/assets/images/google-plus-large.png +0 -0
- data/vendor/assets/images/logo.png +0 -0
- data/vendor/assets/images/rgraph.jpg +0 -0
- data/vendor/assets/javascripts/RGraph.bar.js +533 -242
- data/vendor/assets/javascripts/RGraph.bipolar.js +152 -169
- data/vendor/assets/javascripts/RGraph.common.annotate.js +2 -2
- data/vendor/assets/javascripts/RGraph.common.context.js +2 -2
- data/vendor/assets/javascripts/RGraph.common.core.js +688 -373
- data/vendor/assets/javascripts/RGraph.common.csv.js +2 -2
- data/vendor/assets/javascripts/RGraph.common.deprecated.js +2 -2
- data/vendor/assets/javascripts/RGraph.common.dynamic.js +188 -193
- data/vendor/assets/javascripts/RGraph.common.effects.js +62 -38
- data/vendor/assets/javascripts/RGraph.common.key.js +35 -15
- data/vendor/assets/javascripts/RGraph.common.resizing.js +38 -21
- data/vendor/assets/javascripts/RGraph.common.sheets.js +2 -2
- data/vendor/assets/javascripts/RGraph.common.tooltips.js +48 -40
- data/vendor/assets/javascripts/RGraph.common.zoom.js +2 -2
- data/vendor/assets/javascripts/RGraph.drawing.background.js +33 -49
- data/vendor/assets/javascripts/RGraph.drawing.circle.js +27 -30
- data/vendor/assets/javascripts/RGraph.drawing.image.js +23 -26
- data/vendor/assets/javascripts/RGraph.drawing.marker1.js +47 -40
- data/vendor/assets/javascripts/RGraph.drawing.marker2.js +38 -42
- data/vendor/assets/javascripts/RGraph.drawing.marker3.js +24 -28
- data/vendor/assets/javascripts/RGraph.drawing.poly.js +25 -39
- data/vendor/assets/javascripts/RGraph.drawing.rect.js +27 -32
- data/vendor/assets/javascripts/RGraph.drawing.text.js +53 -58
- data/vendor/assets/javascripts/RGraph.drawing.xaxis.js +24 -29
- data/vendor/assets/javascripts/RGraph.drawing.yaxis.js +45 -51
- data/vendor/assets/javascripts/RGraph.fuel.js +11 -9
- data/vendor/assets/javascripts/RGraph.funnel.js +40 -43
- data/vendor/assets/javascripts/RGraph.gantt.js +34 -34
- data/vendor/assets/javascripts/RGraph.gauge.js +64 -55
- data/vendor/assets/javascripts/RGraph.hbar.js +194 -137
- data/vendor/assets/javascripts/RGraph.hprogress.js +261 -167
- data/vendor/assets/javascripts/RGraph.line.js +520 -512
- data/vendor/assets/javascripts/RGraph.meter.js +11 -10
- data/vendor/assets/javascripts/RGraph.modaldialog.js +11 -2
- data/vendor/assets/javascripts/RGraph.odo.js +11 -9
- data/vendor/assets/javascripts/RGraph.pie.js +385 -100
- data/vendor/assets/javascripts/RGraph.radar.js +36 -29
- data/vendor/assets/javascripts/RGraph.rose.js +58 -41
- data/vendor/assets/javascripts/RGraph.rscatter.js +40 -36
- data/vendor/assets/javascripts/RGraph.scatter.js +441 -499
- data/vendor/assets/javascripts/RGraph.semicircularprogress.js +1015 -0
- data/vendor/assets/javascripts/RGraph.thermometer.js +37 -37
- data/vendor/assets/javascripts/RGraph.vprogress.js +285 -157
- data/vendor/assets/javascripts/RGraph.waterfall.js +62 -62
- data/vendor/assets/stylesheets/website.css +30 -16
- metadata +3 -2
@@ -1,4 +1,4 @@
|
|
1
|
-
// version: 2016-
|
1
|
+
// version: 2016-06-04
|
2
2
|
/**
|
3
3
|
* o--------------------------------------------------------------------------------o
|
4
4
|
* | This file is part of the RGraph package - you can learn more at: |
|
@@ -7,7 +7,7 @@
|
|
7
7
|
* | |
|
8
8
|
* | RGraph is dual licensed under the Open Source GPL (General Public License) |
|
9
9
|
* | v2.0 license and a commercial license which means that you're not bound by |
|
10
|
-
* | the terms of the GPL. The commercial license is just
|
10
|
+
* | the terms of the GPL. The commercial license is just 99 GBP and you can |
|
11
11
|
* | read about it here: |
|
12
12
|
* | http://www.rgraph.net/license |
|
13
13
|
* o--------------------------------------------------------------------------------o
|
@@ -106,7 +106,7 @@
|
|
106
106
|
this.properties =
|
107
107
|
{
|
108
108
|
'chart.size': 10,
|
109
|
-
'chart.font': 'Arial',
|
109
|
+
'chart.font': 'Segoe UI, Arial, Verdana, sans-serif',
|
110
110
|
'chart.bold': false,
|
111
111
|
'chart.angle': 0,
|
112
112
|
'chart.colors': ['black'],
|
@@ -133,7 +133,11 @@
|
|
133
133
|
'chart.valign': 'bottom',
|
134
134
|
'chart.link': null,
|
135
135
|
'chart.link.target': '_self',
|
136
|
-
'chart.link.options': ''
|
136
|
+
'chart.link.options': '',
|
137
|
+
'chart.text.accessible': true,
|
138
|
+
'chart.text.accessible.overflow': 'visible',
|
139
|
+
'chart.text.accessible.pointerevents': false,
|
140
|
+
'chart.clearto': 'rgba(0,0,0,0)'
|
137
141
|
}
|
138
142
|
|
139
143
|
/**
|
@@ -170,7 +174,6 @@
|
|
170
174
|
ca = this.canvas,
|
171
175
|
co = ca.getContext('2d'),
|
172
176
|
prop = this.properties,
|
173
|
-
pa = RG.Path,
|
174
177
|
pa2 = RG.path2,
|
175
178
|
win = window,
|
176
179
|
doc = document,
|
@@ -224,10 +227,9 @@
|
|
224
227
|
|
225
228
|
|
226
229
|
// Convert uppercase letters to dot+lower case letter
|
227
|
-
name
|
228
|
-
|
229
|
-
|
230
|
-
});
|
230
|
+
while(name.match(/([A-Z])/)) {
|
231
|
+
name = name.replace(/([A-Z])/, '.' + RegExp.$1.toLowerCase());
|
232
|
+
}
|
231
233
|
|
232
234
|
|
233
235
|
|
@@ -324,35 +326,36 @@
|
|
324
326
|
|
325
327
|
// ------------- DRAW TEXT HERE -------------
|
326
328
|
co.fillStyle = prop['chart.colors'][0];
|
327
|
-
|
328
|
-
var ret = RG.
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
329
|
+
|
330
|
+
var ret = RG.text2(this, {
|
331
|
+
font: prop['chart.font'],
|
332
|
+
size: prop['chart.size'],
|
333
|
+
x: this.x,
|
334
|
+
y: this.y,
|
335
|
+
text: this.text,
|
336
|
+
bold: prop['chart.bold'],
|
337
|
+
angle: prop['chart.angle'],
|
338
|
+
bounding: prop['chart.bounding'],
|
339
|
+
'bounding.fill': prop['chart.bounding.fill'],
|
340
|
+
'bounding.stroke': prop['chart.bounding.stroke'],
|
341
|
+
'bounding.shadow': prop['chart.bounding.shadow'],
|
342
|
+
'bounding.shadow.color': prop['chart.bounding.shadow.color'],
|
343
|
+
'bounding.shadow.blur': prop['chart.bounding.shadow.blur'],
|
344
|
+
'bounding.shadow.offsetx': prop['chart.bounding.shadow.offsetx'],
|
345
|
+
'bounding.shadow.offsety': prop['chart.bounding.shadow.offsety'],
|
346
|
+
marker: prop['chart.marker'],
|
347
|
+
halign: prop['chart.halign'],
|
348
|
+
valign: prop['chart.valign']
|
349
|
+
});
|
347
350
|
|
348
351
|
|
349
352
|
// store the dimensions
|
350
353
|
this.coords.push({
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
354
|
+
0: ret.x, 'x': ret.x,
|
355
|
+
1: ret.y, 'y': ret.y,
|
356
|
+
2: ret.width, 'width': ret.width,
|
357
|
+
3: ret.height, 'height': ret.height
|
358
|
+
});
|
356
359
|
|
357
360
|
|
358
361
|
|
@@ -460,46 +463,35 @@
|
|
460
463
|
this.positionTooltip = function (obj, x, y, tooltip, idx)
|
461
464
|
{
|
462
465
|
var coords = obj.coords[0];
|
463
|
-
var coordX = coords.x;
|
464
|
-
var coordY = coords.y;
|
466
|
+
var coordX = parseFloat(coords.x);
|
467
|
+
var coordY = parseFloat(coords.y);
|
465
468
|
var coordW = coords.width;
|
466
469
|
var coordH = coords.height;
|
467
|
-
var canvasXY =
|
470
|
+
var canvasXY = RG.getCanvasXY(obj.canvas);
|
471
|
+
var mouseXY = RG.getMouseXY(window.event);
|
468
472
|
var width = tooltip.offsetWidth;
|
469
473
|
var height = tooltip.offsetHeight;
|
470
474
|
|
471
475
|
// Set the top position
|
472
476
|
tooltip.style.left = 0;
|
473
|
-
|
474
|
-
|
475
|
-
|
477
|
+
tooltip.style.top = window.event.pageY - height - 5 + 'px';
|
478
|
+
|
476
479
|
// By default any overflow is hidden
|
477
480
|
tooltip.style.overflow = '';
|
478
|
-
|
479
|
-
// The arrow
|
480
|
-
var img = new Image();
|
481
|
-
img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAFCAYAAACjKgd3AAAARUlEQVQYV2NkQAN79+797+RkhC4M5+/bd47B2dmZEVkBCgcmgcsgbAaA9GA1BCSBbhAuA/AagmwQPgMIGgIzCD0M0AMMAEFVIAa6UQgcAAAAAElFTkSuQmCC';
|
482
|
-
img.style.position = 'absolute';
|
483
|
-
img.id = '__rgraph_tooltip_pointer__';
|
484
|
-
img.style.top = (tooltip.offsetHeight - 2) + 'px';
|
485
|
-
tooltip.appendChild(img);
|
486
481
|
|
487
482
|
// Reposition the tooltip if at the edges:
|
488
483
|
|
489
484
|
// LEFT edge
|
490
|
-
if (
|
491
|
-
tooltip.style.left =
|
492
|
-
img.style.left = ((width * 0.1) - 8.5) + 'px';
|
485
|
+
if (canvasXY[0] + mouseXY[0] - (width / 2) < 0) {
|
486
|
+
tooltip.style.left = canvasXY[0] + mouseXY[0] - (width * 0.1) + 'px';
|
493
487
|
|
494
488
|
// RIGHT edge
|
495
|
-
} else if (
|
496
|
-
tooltip.style.left = canvasXY[0] +
|
497
|
-
img.style.left = ((width * 0.9) - 8.5) + 'px';
|
489
|
+
} else if (canvasXY[0] + mouseXY[0] + (width / 2) > doc.body.offsetWidth) {
|
490
|
+
tooltip.style.left = canvasXY[0] + mouseXY[0] - (width * 0.9) + 'px';
|
498
491
|
|
499
492
|
// Default positioning - CENTERED
|
500
493
|
} else {
|
501
|
-
tooltip.style.left =
|
502
|
-
img.style.left = ((width * 0.5) - 8.5) + 'px';
|
494
|
+
tooltip.style.left = canvasXY[0] + mouseXY[0] - (width / 2) + 'px';
|
503
495
|
}
|
504
496
|
};
|
505
497
|
|
@@ -514,8 +506,11 @@
|
|
514
506
|
this.highlight =
|
515
507
|
this.Highlight = function (shape)
|
516
508
|
{
|
517
|
-
|
518
|
-
|
509
|
+
if (typeof prop['chart.highlight.style'] === 'function') {
|
510
|
+
(prop['chart.highlight.style'])(shape);
|
511
|
+
} else {
|
512
|
+
RG.Highlight.Rect(this, shape);
|
513
|
+
}
|
519
514
|
};
|
520
515
|
|
521
516
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// version: 2016-
|
1
|
+
// version: 2016-06-04
|
2
2
|
/**
|
3
3
|
* o--------------------------------------------------------------------------------o
|
4
4
|
* | This file is part of the RGraph package - you can learn more at: |
|
@@ -7,7 +7,7 @@
|
|
7
7
|
* | |
|
8
8
|
* | RGraph is dual licensed under the Open Source GPL (General Public License) |
|
9
9
|
* | v2.0 license and a commercial license which means that you're not bound by |
|
10
|
-
* | the terms of the GPL. The commercial license is just
|
10
|
+
* | the terms of the GPL. The commercial license is just 99 GBP and you can |
|
11
11
|
* | read about it here: |
|
12
12
|
* | http://www.rgraph.net/license |
|
13
13
|
* o--------------------------------------------------------------------------------o
|
@@ -101,8 +101,11 @@
|
|
101
101
|
'chart.colors': ['black'],
|
102
102
|
'chart.title.color': null, // Defaults to same as chart.colors
|
103
103
|
'chart.text.color': null, // Defaults to same as chart.colors
|
104
|
-
'chart.text.font': 'Arial',
|
104
|
+
'chart.text.font': 'Segoe UI, Arial, Verdana, sans-serif',
|
105
105
|
'chart.text.size': 12,
|
106
|
+
'chart.text.accessible': true,
|
107
|
+
'chart.text.accessible.overflow':'visible',
|
108
|
+
'chart.text.accessible.pointerevents': false,
|
106
109
|
'chart.align': 'bottom',
|
107
110
|
'chart.numlabels': 5,
|
108
111
|
'chart.scale.visible': true,
|
@@ -130,7 +133,8 @@
|
|
130
133
|
'chart.events.click': null,
|
131
134
|
'chart.events.mousemove': null,
|
132
135
|
'chart.xaxispos': 'bottom',
|
133
|
-
'chart.yaxispos': 'left'
|
136
|
+
'chart.yaxispos': 'left',
|
137
|
+
'chart.clearto': 'rgba(0,0,0,0)'
|
134
138
|
}
|
135
139
|
|
136
140
|
/**
|
@@ -165,7 +169,6 @@
|
|
165
169
|
ca = this.canvas,
|
166
170
|
co = ca.getContext('2d'),
|
167
171
|
prop = this.properties,
|
168
|
-
pa = RG.Path,
|
169
172
|
pa2 = RG.path2,
|
170
173
|
win = window,
|
171
174
|
doc = document,
|
@@ -216,10 +219,9 @@
|
|
216
219
|
|
217
220
|
|
218
221
|
// Convert uppercase letters to dot+lower case letter
|
219
|
-
name
|
220
|
-
|
221
|
-
|
222
|
-
});
|
222
|
+
while(name.match(/([A-Z])/)) {
|
223
|
+
name = name.replace(/([A-Z])/, '.' + RegExp.$1.toLowerCase());
|
224
|
+
}
|
223
225
|
|
224
226
|
/**
|
225
227
|
* Make the tickmarks align if labels are specified
|
@@ -422,40 +424,31 @@
|
|
422
424
|
var coordW = ca.width - obj.gutterLeft - obj.gutterRight;
|
423
425
|
var coordH = prop['chart.text.size'] * 1.5;
|
424
426
|
var canvasXY = RG.getCanvasXY(ca);
|
427
|
+
var mouseXY = RG.getMouseXY(window.event);
|
425
428
|
var width = tooltip.offsetWidth;
|
426
429
|
var height = tooltip.offsetHeight;
|
430
|
+
|
427
431
|
|
428
432
|
// Set the top position
|
429
433
|
tooltip.style.left = 0;
|
430
|
-
tooltip.style.top =
|
434
|
+
tooltip.style.top = window.event.pageY - height - 5 + 'px';
|
431
435
|
|
432
436
|
// By default any overflow is hidden
|
433
437
|
tooltip.style.overflow = '';
|
434
|
-
|
435
|
-
// The arrow
|
436
|
-
var img = new Image();
|
437
|
-
img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAFCAYAAACjKgd3AAAARUlEQVQYV2NkQAN79+797+RkhC4M5+/bd47B2dmZEVkBCgcmgcsgbAaA9GA1BCSBbhAuA/AagmwQPgMIGgIzCD0M0AMMAEFVIAa6UQgcAAAAAElFTkSuQmCC';
|
438
|
-
img.style.position = 'absolute';
|
439
|
-
img.id = '__rgraph_tooltip_pointer__';
|
440
|
-
img.style.top = (tooltip.offsetHeight - 2) + 'px';
|
441
|
-
tooltip.appendChild(img);
|
442
438
|
|
443
439
|
// Reposition the tooltip if at the edges:
|
444
|
-
|
440
|
+
|
445
441
|
// LEFT edge
|
446
|
-
if (
|
447
|
-
tooltip.style.left =
|
448
|
-
img.style.left = ((width * 0.1) - 8.5) + 'px';
|
442
|
+
if (canvasXY[0] + mouseXY[0] - (width / 2) < 0) {
|
443
|
+
tooltip.style.left = canvasXY[0] + mouseXY[0] - (width * 0.1) + 'px';
|
449
444
|
|
450
445
|
// RIGHT edge
|
451
|
-
} else if (
|
452
|
-
tooltip.style.left = canvasXY[0] +
|
453
|
-
img.style.left = ((width * 0.9) - 8.5) + 'px';
|
446
|
+
} else if (canvasXY[0] + mouseXY[0] + (width / 2) > doc.body.offsetWidth) {
|
447
|
+
tooltip.style.left = canvasXY[0] + mouseXY[0] - (width * 0.9) + 'px';
|
454
448
|
|
455
449
|
// Default positioning - CENTERED
|
456
450
|
} else {
|
457
|
-
tooltip.style.left =
|
458
|
-
img.style.left = ((width * 0.5) - 8.5) + 'px';
|
451
|
+
tooltip.style.left = canvasXY[0] + mouseXY[0] - (width / 2) + 'px';
|
459
452
|
}
|
460
453
|
};
|
461
454
|
|
@@ -470,7 +463,9 @@
|
|
470
463
|
this.highlight =
|
471
464
|
this.Highlight = function (shape)
|
472
465
|
{
|
473
|
-
|
466
|
+
if (typeof prop['chart.highlight.style'] === 'function') {
|
467
|
+
(prop['chart.highlight.style'])(shape);
|
468
|
+
}
|
474
469
|
};
|
475
470
|
|
476
471
|
|
@@ -608,7 +603,7 @@
|
|
608
603
|
/**
|
609
604
|
* Draw the main horizontal line
|
610
605
|
*/
|
611
|
-
|
606
|
+
pa2(co, ['b','m',x, Math.round(y),'l',x + width, Math.round(y),'s',co.strokeStyle]);
|
612
607
|
|
613
608
|
/**
|
614
609
|
* Draw the axis tickmarks
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// version: 2016-
|
1
|
+
// version: 2016-06-04
|
2
2
|
/**
|
3
3
|
* o--------------------------------------------------------------------------------o
|
4
4
|
* | This file is part of the RGraph package - you can learn more at: |
|
@@ -7,7 +7,7 @@
|
|
7
7
|
* | |
|
8
8
|
* | RGraph is dual licensed under the Open Source GPL (General Public License) |
|
9
9
|
* | v2.0 license and a commercial license which means that you're not bound by |
|
10
|
-
* | the terms of the GPL. The commercial license is just
|
10
|
+
* | the terms of the GPL. The commercial license is just 99 GBP and you can |
|
11
11
|
* | read about it here: |
|
12
12
|
* | http://www.rgraph.net/license |
|
13
13
|
* o--------------------------------------------------------------------------------o
|
@@ -99,12 +99,15 @@
|
|
99
99
|
'chart.colors': ['black'],
|
100
100
|
'chart.title': '',
|
101
101
|
'chart.title.color': null,
|
102
|
-
'chart.text.color': null,
|
103
102
|
'chart.numticks': 5,
|
104
103
|
'chart.numlabels': 5,
|
105
104
|
'chart.labels.specific': null,
|
106
|
-
'chart.text.font': 'Arial',
|
105
|
+
'chart.text.font': 'Segoe UI, Arial, Verdana, sans-serif',
|
107
106
|
'chart.text.size': 12,
|
107
|
+
'chart.text.color': null,
|
108
|
+
'chart.text.accessible': true,
|
109
|
+
'chart.text.accessible.overflow':'visible',
|
110
|
+
'chart.text.accessible.pointerevents': false,
|
108
111
|
'chart.align': 'left',
|
109
112
|
'hart.scale.formatter': null,
|
110
113
|
'chart.scale.point': '.',
|
@@ -126,7 +129,8 @@
|
|
126
129
|
'chart.tooltips.event': 'onclick',
|
127
130
|
'chart.xaxispos': 'bottom',
|
128
131
|
'chart.events.click': null,
|
129
|
-
'chart.events.mousemove': null
|
132
|
+
'chart.events.mousemove': null,
|
133
|
+
'chart.clearto': 'rgba(0,0,0,0)'
|
130
134
|
}
|
131
135
|
|
132
136
|
|
@@ -163,7 +167,6 @@
|
|
163
167
|
ca = this.canvas,
|
164
168
|
co = ca.getContext('2d'),
|
165
169
|
prop = this.properties,
|
166
|
-
pa = RG.Path,
|
167
170
|
pa2 = RG.path2,
|
168
171
|
win = window,
|
169
172
|
doc = document,
|
@@ -220,10 +223,9 @@
|
|
220
223
|
|
221
224
|
|
222
225
|
// Convert uppercase letters to dot+lower case letter
|
223
|
-
name
|
224
|
-
|
225
|
-
|
226
|
-
});
|
226
|
+
while(name.match(/([A-Z])/)) {
|
227
|
+
name = name.replace(/([A-Z])/, '.' + RegExp.$1.toLowerCase());
|
228
|
+
}
|
227
229
|
|
228
230
|
|
229
231
|
|
@@ -421,44 +423,31 @@
|
|
421
423
|
var coordY = obj.gutterTop;
|
422
424
|
var coordH = ca.height - obj.gutterTop - obj.gutterBottom;
|
423
425
|
var canvasXY = RG.getCanvasXY(ca);
|
426
|
+
var mouseXY = RG.getMouseXY(window.event);
|
424
427
|
|
425
428
|
var width = tooltip.offsetWidth;
|
426
429
|
var height = tooltip.offsetHeight;
|
427
430
|
|
428
431
|
// Set the top position
|
429
432
|
tooltip.style.left = 0;
|
430
|
-
tooltip.style.top =
|
433
|
+
tooltip.style.top = window.event.pageY - height - 5 + 'px';
|
431
434
|
|
432
435
|
// By default any overflow is hidden
|
433
436
|
tooltip.style.overflow = '';
|
434
|
-
|
435
|
-
// The arrow
|
436
|
-
var img = new Image();
|
437
|
-
img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAFCAYAAACjKgd3AAAARUlEQVQYV2NkQAN79+797+RkhC4M5+/bd47B2dmZEVkBCgcmgcsgbAaA9GA1BCSBbhAuA/AagmwQPgMIGgIzCD0M0AMMAEFVIAa6UQgcAAAAAElFTkSuQmCC';
|
438
|
-
img.style.position = 'absolute';
|
439
|
-
img.id = '__rgraph_tooltip_pointer__';
|
440
|
-
img.style.top = (tooltip.offsetHeight - 2) + 'px';
|
441
|
-
tooltip.appendChild(img);
|
442
437
|
|
443
438
|
// Reposition the tooltip if at the edges:
|
444
439
|
|
445
440
|
// LEFT edge
|
446
|
-
if (
|
447
|
-
tooltip.style.left =
|
448
|
-
: (canvasXY[0] + coordX - (width * 0.1)) + (coordW / 2) + 'px';
|
449
|
-
img.style.left = (width * 0.1) - 8.5 + 'px';
|
441
|
+
if (canvasXY[0] + mouseXY[0] - (width / 2) < 0) {
|
442
|
+
tooltip.style.left = canvasXY[0] + mouseXY[0] - (width * 0.1) + 'px';
|
450
443
|
|
451
444
|
// RIGHT edge
|
452
|
-
} else if (
|
453
|
-
tooltip.style.left =
|
454
|
-
: canvasXY[0] + coordX - (width * 0.9) + (coordW / 2) + 'px';
|
455
|
-
img.style.left = ((width * 0.9) - 8.5) + 'px';
|
445
|
+
} else if (canvasXY[0] + mouseXY[0] + (width / 2) > doc.body.offsetWidth) {
|
446
|
+
tooltip.style.left = canvasXY[0] + mouseXY[0] - (width * 0.9) + 'px';
|
456
447
|
|
457
448
|
// Default positioning - CENTERED
|
458
449
|
} else {
|
459
|
-
tooltip.style.left =
|
460
|
-
: canvasXY[0] + obj.x - (width / 2) - (coordW / 2) + 'px';
|
461
|
-
img.style.left = ((width * 0.5) - 8.5) + 'px';
|
450
|
+
tooltip.style.left = canvasXY[0] + mouseXY[0] - (width / 2) + 'px';
|
462
451
|
}
|
463
452
|
};
|
464
453
|
|
@@ -473,7 +462,9 @@
|
|
473
462
|
this.highlight =
|
474
463
|
this.Highlight = function (shape)
|
475
464
|
{
|
476
|
-
|
465
|
+
if (typeof prop['chart.highlight.style'] === 'function') {
|
466
|
+
(prop['chart.highlight.style'])(shape);
|
467
|
+
}
|
477
468
|
};
|
478
469
|
|
479
470
|
|
@@ -554,7 +545,7 @@
|
|
554
545
|
{
|
555
546
|
// Allow both axis.xxx and chart.xxx to prevent any confusion that may arise
|
556
547
|
for (i in prop) {
|
557
|
-
if (typeof
|
548
|
+
if (typeof i == 'string') {
|
558
549
|
var key = i.replace(/^chart\./, 'axis.');
|
559
550
|
|
560
551
|
prop[key] = prop[i];
|
@@ -602,7 +593,7 @@
|
|
602
593
|
/**
|
603
594
|
* Draw the main vertical line
|
604
595
|
*/
|
605
|
-
|
596
|
+
pa2(co,['b','m',Math.round(x), y,'l',Math.round(x), y + height,'s',color]);
|
606
597
|
|
607
598
|
/**
|
608
599
|
* Draw the axes tickmarks
|
@@ -614,13 +605,13 @@
|
|
614
605
|
|
615
606
|
co.beginPath();
|
616
607
|
for (var i=(notopendtick ? 1 : 0); i<=(numticks - (nobottomendtick || xaxispos == 'center'? 1 : 0)); ++i) {
|
617
|
-
|
608
|
+
pa2(co, ['m',align == 'right' ? x + 3 : x - 3, Math.round(y + (gap *i)),'l',x, Math.round(y + (gap *i))]);
|
618
609
|
}
|
619
610
|
|
620
611
|
// Draw the bottom halves ticks if the X axis is in the center
|
621
612
|
if (xaxispos == 'center') {
|
622
613
|
for (var i=1; i<=numticks; ++i) {
|
623
|
-
|
614
|
+
pa2(co, ['m',align == 'right' ? x + 3 : x - 3, Math.round(y + halfheight + (gap *i)),'l',x, Math.round(y + halfheight + (gap *i))]);
|
624
615
|
}
|
625
616
|
}
|
626
617
|
co.stroke();
|
@@ -653,14 +644,14 @@
|
|
653
644
|
}
|
654
645
|
|
655
646
|
RG.text2(this, {
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
|
647
|
+
'font': font,
|
648
|
+
'size': size,
|
649
|
+
'x': x - (align == 'right' ? -5 : 5),
|
650
|
+
'y': (i * gap) + this.gutterTop,
|
651
|
+
'text': labels_specific[i],
|
652
|
+
'valign': 'center',
|
653
|
+
'halign': align == 'right' ? 'left' : 'right',
|
654
|
+
'tag': 'scale'
|
664
655
|
});
|
665
656
|
|
666
657
|
/**
|
@@ -773,14 +764,17 @@
|
|
773
764
|
}
|
774
765
|
|
775
766
|
|
776
|
-
RG.
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
767
|
+
RG.text2(this, {
|
768
|
+
font:font,
|
769
|
+
size:size + 2,
|
770
|
+
x:align == 'right' ? x + width + 8 : x - width - 8,
|
771
|
+
y:height / 2 + this.gutterTop,
|
772
|
+
text:title,
|
773
|
+
valign:'bottom',
|
774
|
+
halign:'center',
|
775
|
+
angle:align == 'right' ? 90 : -90,
|
776
|
+
accessible: false
|
777
|
+
});
|
784
778
|
co.stroke();
|
785
779
|
}
|
786
780
|
};
|