aboutsummaryrefslogtreecommitdiffstats
path: root/web/nms.gathering.org/speedometer/c3-master/src/api.tooltip.js
diff options
context:
space:
mode:
Diffstat (limited to 'web/nms.gathering.org/speedometer/c3-master/src/api.tooltip.js')
-rw-r--r--web/nms.gathering.org/speedometer/c3-master/src/api.tooltip.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/web/nms.gathering.org/speedometer/c3-master/src/api.tooltip.js b/web/nms.gathering.org/speedometer/c3-master/src/api.tooltip.js
new file mode 100644
index 0000000..045a52e
--- /dev/null
+++ b/web/nms.gathering.org/speedometer/c3-master/src/api.tooltip.js
@@ -0,0 +1,35 @@
+c3_chart_fn.tooltip = function () {};
+c3_chart_fn.tooltip.show = function (args) {
+ var $$ = this.internal, index, mouse;
+
+ // determine mouse position on the chart
+ if (args.mouse) {
+ mouse = args.mouse;
+ }
+
+ // determine focus data
+ if (args.data) {
+ if ($$.isMultipleX()) {
+ // if multiple xs, target point will be determined by mouse
+ mouse = [$$.x(args.data.x), $$.getYScale(args.data.id)(args.data.value)];
+ index = null;
+ } else {
+ // TODO: when tooltip_grouped = false
+ index = isValue(args.data.index) ? args.data.index : $$.getIndexByX(args.data.x);
+ }
+ }
+ else if (typeof args.x !== 'undefined') {
+ index = $$.getIndexByX(args.x);
+ }
+ else if (typeof args.index !== 'undefined') {
+ index = args.index;
+ }
+
+ // emulate mouse events to show
+ $$.dispatchEvent('mouseover', index, mouse);
+ $$.dispatchEvent('mousemove', index, mouse);
+};
+c3_chart_fn.tooltip.hide = function () {
+ // TODO: get target data by checking the state of focus
+ this.internal.dispatchEvent('mouseout', 0);
+};