@netdata/charts
Version:
Netdata frontend SDK and chart utilities
41 lines • 1.26 kB
JavaScript
import generic from "./generic";
import select from "./select";
import pan from "./pan";
import selectVertical from "./selectVertical";
var navigations = {
highlight: select,
select: select,
selectVertical: selectVertical,
pan: pan
};
export default (function (chartUI) {
var unregister;
var unregisterGeneric;
var toggle = function toggle(enable, mode) {
if (!enable) return destroy();
unregisterGeneric = generic(chartUI);
if (mode) set(mode);
};
var destroyNavigation = function destroyNavigation() {
var _unregister;
(_unregister = unregister) === null || _unregister === void 0 || _unregister();
unregister = null;
};
var destroy = function destroy() {
var _unregisterGeneric;
destroyNavigation();
(_unregisterGeneric = unregisterGeneric) === null || _unregisterGeneric === void 0 || _unregisterGeneric();
unregisterGeneric = null;
};
var set = function set(mode) {
var _navigations$mode;
if (!unregisterGeneric) return;
destroyNavigation();
unregister = (_navigations$mode = navigations[mode]) === null || _navigations$mode === void 0 ? void 0 : _navigations$mode.call(navigations, chartUI);
};
return {
toggle: toggle,
set: set,
destroy: destroy
};
});