@netdata/charts
Version:
Netdata frontend SDK and chart utilities
50 lines (49 loc) • 1.53 kB
JavaScript
;
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
};
};