Skip to content
Snippets Groups Projects
Commit 5ce84608 authored by Matthias Konitzny's avatar Matthias Konitzny :fire:
Browse files

Merge remote-tracking branch 'origin/master'

parents d040e18b aecdc864
No related branches found
No related tags found
No related merge requests found
......@@ -15,6 +15,7 @@ window.onload = function () {
// Deactivate physics after a short delay
setTimeout(() => {
graph.stopPhysics();
graph.storeCurrentData("Physics stopped");
}, STOP_PHYSICS_DELAY);
});
};
......@@ -64,6 +65,7 @@ function load() {
.onLinkClick((link) => state.onLinkClick(link));
graph.onChangeCallbacks.push((data) => {
graphObj.cooldownTicks(0);
graphObj.graphData(data);
});
}
......@@ -17,6 +17,8 @@ const IMAGE_SRC = PLUGIN_PATH + "datasets/images/";
const LINK_PARAMS = [LINK_TYPE];
const NODE_PARAMS = [NODE_ID, NODE_LABEL, NODE_IMAGE, NODE_DESCRIPTION];
const LINK_SIM_PARAMS = ["index"];
const NODE_SIM_PARAMS = ["index", "x", "y", "vx", "vy", "fx", "fy"]; // Based on https://github.com/d3/d3-force#simulation_nodes
const JSON_CONFIG = PLUGIN_PATH + "datasets/aud1.json";
......@@ -41,7 +43,7 @@ class Graph extends ManagedData {
this.triggerOnChange();
}
formatData(data) {
storableData(data) {
return this.getCleanData(data, true);
}
......@@ -151,7 +153,7 @@ class Graph extends ManagedData {
);
}
getCleanData(data = undefined, positions = false) {
getCleanData(data = undefined, simulationParameters = false) {
if (data === undefined) {
data = this.data;
}
......@@ -161,33 +163,33 @@ class Graph extends ManagedData {
cleanData[GRAPH_NODES] = [];
data[GRAPH_LINKS].forEach((link) =>
cleanData[GRAPH_LINKS].push(this.getCleanLink(link))
cleanData[GRAPH_LINKS].push(this.getCleanLink(link, simulationParameters))
);
data[GRAPH_NODES].forEach((node) =>
cleanData[GRAPH_NODES].push(this.getCleanNode(node, positions))
cleanData[GRAPH_NODES].push(this.getCleanNode(node, simulationParameters))
);
console.log(cleanData);
return cleanData;
}
getCleanNode(node, positions) {
getCleanNode(node, simulationParameters) {
var cleanNode = {};
NODE_PARAMS.forEach((param) => {
cleanNode[param] = node[param];
});
if (positions) {
cleanNode.fx = node.fx;
cleanNode.fy = node.fy;
if (simulationParameters) {
NODE_SIM_PARAMS.forEach((param) => {
cleanNode[param] = node[param];
});
}
return cleanNode;
}
getCleanLink(link) {
getCleanLink(link, simulationParameters) {
var cleanLink = {};
// Source and target nodes
......@@ -200,6 +202,12 @@ class Graph extends ManagedData {
cleanLink[param] = link[param];
});
if (simulationParameters) {
LINK_SIM_PARAMS.forEach((param) => {
cleanLink[param] = link[param];
});
}
return cleanLink;
}
......
......@@ -36,12 +36,12 @@ class ManagedData {
return true;
}
formatData(data) {
storableData(data) {
return data;
}
storeCurrentData(description) {
var formattedData = this.formatData(this.data);
var formattedData = this.storableData(this.data);
this.history.unshift({
description: description,
......@@ -51,5 +51,6 @@ class ManagedData {
// Forget about the currently stored potential future
this.history.splice(0, this.historyPosition);
this.historyPosition = 0;
console.log(this.history[0]);
}
}
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