UNPKG

@netdata/charts

Version:

Netdata frontend SDK and chart utilities

68 lines (66 loc) 1.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _helpers = require("./helpers"); var borderColorMap = { warning: "#FFF8E1", critical: "#FFEBEF", clear: "#E5F5E8" }; var fillColorMap = { warning: "#FFC300", critical: "#F59B9B", clear: "#68C47D" }; var textColorMap = { warning: "#F9A825", critical: "#FF4136", clear: "#00AB44" }; var getNow = function getNow() { return Math.floor(new Date().getTime() / 1000); }; var _default = exports["default"] = function _default(chartUI, id) { var overlays = chartUI.chart.getAttribute("overlays"); var _overlays$id = overlays[id], whenTriggered = _overlays$id.whenTriggered, _overlays$id$whenLast = _overlays$id.whenLast, whenLast = _overlays$id$whenLast === void 0 ? getNow() : _overlays$id$whenLast, status = _overlays$id.status; var dygraph = chartUI.getDygraph(); var _dygraph$getArea = dygraph.getArea(), h = _dygraph$getArea.h; var ctx = dygraph.hidden_ctx_; var area = (0, _helpers.getArea)(dygraph, [whenTriggered, whenLast]); if (!area) return (0, _helpers.trigger)(chartUI, id); var from = area.from, width = area.width, to = area.to; (0, _helpers.trigger)(chartUI, id, area); ctx.save(); ctx.beginPath(); ctx.rect(from, 0, width, h - 1); ctx.fillStyle = fillColorMap[status]; ctx.globalAlpha = 0.1; ctx.fill(); var borderWidth = 2; // left border ctx.beginPath(); ctx.moveTo(from, 0); ctx.lineTo(from, h); ctx.globalAlpha = 1; ctx.lineWidth = borderWidth; ctx.setLineDash([4, 4]); ctx.strokeStyle = borderColorMap[status]; ctx.stroke(); // right border ctx.beginPath(); ctx.moveTo(to - borderWidth, 0); ctx.lineTo(to - borderWidth, h); ctx.strokeStyle = textColorMap[status]; ctx.stroke(); ctx.closePath(); ctx.restore(); };