Skip to content
Snippets Groups Projects
Commit 68588121 authored by Harm Kube's avatar Harm Kube
Browse files

Refactoring the drag-Event-Handling

parent ce9ba9f7
No related branches found
No related tags found
No related merge requests found
Pipeline #52684 passed
...@@ -18,3 +18,5 @@ export const MODE = ks_global.mode; ...@@ -18,3 +18,5 @@ export const MODE = ks_global.mode;
export function setSpace(space) { export function setSpace(space) {
SPACE = space; SPACE = space;
} }
export const DRAG_THRESHOLD = 10;
...@@ -9,7 +9,7 @@ import { ...@@ -9,7 +9,7 @@ import {
CSS3DRenderer, CSS3DRenderer,
CSS3DSprite, CSS3DSprite,
} from "three/examples/jsm/renderers/CSS3DRenderer.js"; } from "three/examples/jsm/renderers/CSS3DRenderer.js";
import { MODE } from "../config"; import { MODE, DRAG_THRESHOLD } from "../config";
/** /**
* The main ForceGraph. Displays the graph and handles all connected events. * The main ForceGraph. Displays the graph and handles all connected events.
...@@ -59,12 +59,7 @@ export default class Graph { ...@@ -59,12 +59,7 @@ export default class Graph {
.nodeAutoColorBy("group") .nodeAutoColorBy("group")
.nodeColor((node) => this.getNodeColor(node)) .nodeColor((node) => this.getNodeColor(node))
.linkWidth((link) => this.getLinkWidth(link)) .linkWidth((link) => this.getLinkWidth(link))
.onNodeClick((node) => { .onNodeClick((node) => this.onNodeClick(node))
this.focusOnNode(node);
if (MODE === "default") {
this.infoOverlay.updateInfoOverlay(node);
}
})
.onNodeHover((node) => { .onNodeHover((node) => {
this.onNodeHover(node); this.onNodeHover(node);
this.updateHighlight(); this.updateHighlight();
...@@ -196,16 +191,18 @@ export default class Graph { ...@@ -196,16 +191,18 @@ export default class Graph {
this.updateHighlight(); this.updateHighlight();
} }
onNodeClick(node) {
this.focusOnNode(node);
if (MODE === "default") {
this.infoOverlay.updateInfoOverlay(node);
}
}
onNodeDragEnd(node, translate) { onNodeDragEnd(node, translate) {
// NodeDrag is handled like NodeClick if distance is very short // NodeDrag is handled like NodeClick if distance is very short
if(Math.sqrt(Math.pow(translate.x, 2)+ Math.pow(translate.y, 2)+ Math.pow(translate.z, 2)) < 10) { if(Math.sqrt(Math.pow(translate.x, 2)+ Math.pow(translate.y, 2)+ Math.pow(translate.z, 2)) < DRAG_THRESHOLD) {
this.focusOnNode(node); this.onNodeClick(node);
if (MODE === "default") {
this.infoOverlay.updateInfoOverlay(node);
}
console.log("Hello Inside");
} }
console.log("Hello Outside");
} }
focusOnNode(node) { focusOnNode(node) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment