UNPKG

@netdata/charts

Version:

Netdata frontend SDK and chart utilities

50 lines (49 loc) 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _types = _interopRequireDefault(require("./types")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } var _default = exports["default"] = function _default(chartUI) { var off = null; var drawOverlay = function drawOverlay(id) { var overlays = chartUI.chart.getAttribute("overlays"); var type = overlays[id].type; var makeOverlay = _types["default"][type]; if (!makeOverlay) return; makeOverlay(chartUI, id); }; var drawOverlays = function drawOverlays() { var overlays = chartUI.chart.getAttribute("overlays"); Object.keys(overlays).forEach(drawOverlay); var draftAnnotation = chartUI.chart.getAttribute("draftAnnotation"); if (draftAnnotation) { var makeOverlay = _types["default"]["annotation"]; if (makeOverlay) makeOverlay(chartUI, "draftAnnotation"); } }; var render = function render() { var dygraph = chartUI.getDygraph(); if (dygraph) dygraph.renderGraph_(false); }; var destroy = function destroy() { if (!off) return; render(); off(); off = null; }; var toggle = function toggle() { var overlays = chartUI.chart.getAttribute("overlays"); if (!Object.keys(overlays).length) return destroy(); if (!off) { off = chartUI.on("underlayCallback", drawOverlays); } else { render(); } }; return { toggle: toggle, destroy: destroy }; };