Merge pull request #81 from chlumper/fix-locked-link-widget

fix #73: is locked check in default link widget (for complex line)
This commit is contained in:
Dylan Vorster
2017-09-04 16:06:23 +02:00
committed by GitHub
2 changed files with 27 additions and 1 deletions

View File

@@ -5,6 +5,7 @@ import {
DiagramModel,
DefaultNodeModel,
LinkModel,
PointModel,
DiagramWidget
} from "../../src/main";
@@ -23,6 +24,7 @@ export default () => {
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;
@@ -41,6 +43,30 @@ export default () => {
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);
//!========================================= <<<<<<<

View File

@@ -174,7 +174,7 @@ export class DefaultLinkWidget extends React.Component<DefaultLinkProps, Default
'data-linkid':this.props.link.id,
'data-point':index,
onMouseDown: (event: MouseEvent) => {
if (!event.shiftKey){
if (!event.shiftKey && !this.props.diagramEngine.isModelLocked(this.props.link)){
var point = new PointModel(this.props.link,this.props.diagramEngine.getRelativeMousePoint(event));
point.setSelected(true);
this.forceUpdate();