UNPKG

@netdata/charts

Version:

Netdata frontend SDK and chart utilities

44 lines 1.37 kB
var getMoveX = function getMoveX(after) { var before = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var autoPlay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; if (after < 0) return { after: after, before: before }; if (autoPlay && before > Math.ceil(Date.now() / 1000)) { return { after: Math.floor(after - before + 1), before: 0 }; } return { after: Math.floor(after), before: Math.ceil(before) }; }; export default (function (sdk) { var offAfter; return sdk.on("moveX", function (chart, after, before) { var autoPlay = chart.getAttribute("autoPlay"); var move = getMoveX(after, before, autoPlay); chart.getApplicableNodes({ syncPanning: true }).forEach(function (node) { node.updateAttributes(move); if (!node.getAttribute("active")) node.updateAttribute("loaded", false); }); }).on("moveY", function (chart, min, max) { chart.updateStaticValueRange([min, max]); var after = chart.getAttribute("after"); if (after < 0) { var now = Date.now() / 1000 - 1; chart.moveX(now + after, now); } if (offAfter) offAfter(); offAfter = chart.onAttributeChange("after", function (after) { if (after > 0) return; chart.resetStaticValueRange(); offAfter(); }); }); });