import * as SRD from "../../src/main"; import * as React from "react"; import { DiagramEngine, DiagramModel, DefaultNodeModel, LinkModel, PointModel, DiagramWidget } from "../../src/main"; /** * * Shows how you can lock down the system so that the entire scene cant be interacted with. * * @Author Dylan Vorster */ export default () => { //1) setup the diagram engine var engine = new DiagramEngine(); engine.registerNodeFactory(new SRD.DefaultNodeFactory()); engine.registerLinkFactory(new SRD.DefaultLinkFactory()); var model = new DiagramModel(); // sample for link with simple line (no additional points) var node1 = new DefaultNodeModel("Node 1", "rgb(0,192,255)"); var port1 = node1.addPort(new SRD.DefaultPortModel(false, "out-1", "Out")); node1.x = 100; node1.y = 100; var node2 = new DefaultNodeModel("Node 2", "rgb(192,255,0)"); var port2 = node2.addPort(new SRD.DefaultPortModel(true, "in-1", "IN")); node2.x = 400; node2.y = 100; var link1 = new LinkModel(); link1.setSourcePort(port1); link1.setTargetPort(port2); model.addNode(node1); model.addNode(node2); model.addLink(link1); // sample for link with complex line (additional points) var node3 = new DefaultNodeModel("Node 3", "rgb(0,192,255)"); var port3 = node3.addPort(new SRD.DefaultPortModel(false, "out-2", "Out")); node3.x = 100; node3.y = 250; var node4 = new DefaultNodeModel("Node 4", "rgb(192,255,0)"); var port4 = node4.addPort(new SRD.DefaultPortModel(true, "in-2", "IN")); node4.x = 400; node4.y = 250; var link2 = new LinkModel(); link2.setSourcePort(port3); link2.setTargetPort(port4); var additionalPoint1 = new PointModel(link2, { x: 350, y: 225 }); link2.addPoint(additionalPoint1); var additionalPoint2 = new PointModel(link2, { x: 200, y: 225 }); link2.addPoint(additionalPoint2); model.addNode(node3); model.addNode(node4); model.addLink(link2); engine.setDiagramModel(model); //!========================================= <<<<<<< model.setLocked(true); var props = { diagramEngine: engine, allowLooseLinks: false, allowCanvasTranslation: false, allowCanvasZoom: false } as SRD.DiagramProps; //!========================================= <<<<<<< return ; };