import * as Helpers from "./helpers"; import * as Config from "../config"; import { FilterOverlay } from "./overlays/filteroverlay"; import { NodeInfoOverlay } from "./overlays/nodeinfo"; import Graph from "./graph"; function loadComponents() { filterOverlay.create(); infoOverlay.create(); filterOverlay.filterChangedCallback = (cls) => infoOverlay.bottomMenu.toggleTabVisibility(cls); createFullScreenButton(); } function createFullScreenButton() { const sceneNode = Helpers.getCanvasDivNode(); const overlayNode = document.createElement("div"); overlayNode.className = "fullscreen-button"; overlayNode.innerHTML = "<p>⤢</p>"; overlayNode.addEventListener("click", function () { if (!document.fullscreenElement) { Helpers.getCanvasDivNode().requestFullscreen(); } else { document.exitFullscreen(); } G.resize(); }); sceneNode.appendChild(overlayNode); } let G = null; let filterOverlay = null; let infoOverlay = null; // Only execute, if corresponding dom is present if (document.getElementById("3d-graph") !== null) { G = new Graph(Config.SPACE, loadComponents); filterOverlay = new FilterOverlay(G, "node"); infoOverlay = new NodeInfoOverlay(G); G.infoOverlay = infoOverlay; }