Newer
Older
/**
import ManagedData from "./structures/manageddata";
import { PLUGIN_PATH, COLOR_PALETTE } from "../../config";
export const GRAPH_NODES = "nodes";
export const GRAPH_LINKS = "links";
export const IMAGE_SIZE = 12;
export const IMAGE_SRC = PLUGIN_PATH + "datasets/images/";
export const JSON_CONFIG = PLUGIN_PATH + "datasets/aud1v2.json";
export const STOP_PHYSICS_DELAY = 5000; // ms
export class PREVIOUSGraph extends ManagedData {
constructor(data) {
super(Graph.addIdentifiers(data));
this.calculateNodeTypes();
this.physicsStopTimeoutId = undefined;
}
restartSimulation() {
if (this.physicsStopTimeoutId !== undefined) {
clearTimeout(this.physicsStopTimeoutId);
}
this.data = Graph.addIdentifiers(this.getCleanData(this.data, false));
this.triggerOnChange();
// Deactivate physics after a short delay
this.physicsStopTimeoutId = setTimeout(() => {
this.stopPhysics();
this.storeCurrentData("Physics stopped", false);
this.physicsStopTimeoutId = undefined;
}, this.physicsDelay);
for (var i = 0; i < links.length; i++) {
var link = links[i];
if (
linkdeleteLink[LINK_SOURCE][NODE_ID] === sourceId &&
link[LINK_TARGET][NODE_ID] === targetId
) {
return true;
}
}
return false;
getCleanLink(link, simulationParameters) {
// Assuming that all nodes are valid, there are two possible formats
// 1. source and target are node objects
if (link[LINK_SOURCE][NODE_ID] !== undefined) {
// Source and target nodes
// Node ids will be converted to complete node objects on running graphs, gotta convert back
cleanLink[LINK_SOURCE] = link[LINK_SOURCE][NODE_ID];
cleanLink[LINK_TARGET] = link[LINK_TARGET][NODE_ID];
} else {
// 2. source and target are just node ids
cleanLink[LINK_SOURCE] = link[LINK_SOURCE];
cleanLink[LINK_TARGET] = link[LINK_TARGET];
}
static toStr(item) {
if (item === undefined) {
return "UNDEFINED";
}
if (item.node) {
);
} else {
return "UNDEFINED";
}
}