orcasvn-react-diagrams 0.1.62 → 0.1.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +89 -47
- package/dist/cjs/types/models/IEditorContext.d.ts +2 -0
- package/dist/cjs/types/models/implementations/EditorContext.d.ts +2 -0
- package/dist/esm/index.js +89 -47
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/models/IEditorContext.d.ts +2 -0
- package/dist/esm/types/models/implementations/EditorContext.d.ts +2 -0
- package/dist/index.d.ts +4 -0
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -817,6 +817,8 @@ var EVENT_ELEMENT_MOUSE_MOVE = 'elementMouseMove';
|
|
|
817
817
|
var EVENT_ELEMENT_MOUSE_LEAVE = 'elementMouseLeave';
|
|
818
818
|
var EVENT_ELEMENT_MOUSE_UP = 'elementMouseUp';
|
|
819
819
|
var EVENT_ELEMENT_MOUSE_DOWN = 'elementMouseDown';
|
|
820
|
+
var EVENT_ELEMENT_ADDED = 'elementAdded';
|
|
821
|
+
var EVENT_ELEMENT_REMOVED = 'elementRemoved';
|
|
820
822
|
var EVENT_MANUALLY_SELECT_ELEMENT = 'manuallySelectElement';
|
|
821
823
|
var EVENT_MANUALLY_TRIGGER_DRAGGING_ELEMENT = 'manuallyTriggerDraggingElement';
|
|
822
824
|
var EVENT_LINK_SELECTED = 'linkSelected';
|
|
@@ -894,10 +896,12 @@ var EditorContext = /** @class */ (function () {
|
|
|
894
896
|
}
|
|
895
897
|
this._elements = __spreadArray(__spreadArray([], this._elements, true), [element], false);
|
|
896
898
|
this._eventEmitter.emit(EVENT_EDITOR_CONTEXT_UPDATED);
|
|
899
|
+
this.onElementAddedHandler(element);
|
|
897
900
|
};
|
|
898
901
|
EditorContext.prototype.removeElement = function (elementId) {
|
|
899
902
|
this._elements = this._elements.filter(function (e) { return e.id !== elementId; });
|
|
900
903
|
this._eventEmitter.emit(EVENT_EDITOR_CONTEXT_UPDATED);
|
|
904
|
+
this.onElementRemovedHandler(elementId);
|
|
901
905
|
};
|
|
902
906
|
EditorContext.prototype.getLink = function (linkId) {
|
|
903
907
|
return this._links.find(function (l) { return l.id === linkId; });
|
|
@@ -1048,6 +1052,20 @@ var EditorContext = /** @class */ (function () {
|
|
|
1048
1052
|
EditorContext.prototype.onElementMouseDownHandler = function (ev, element, paperPosition) {
|
|
1049
1053
|
this._eventEmitter.emit(EVENT_ELEMENT_MOUSE_DOWN, ev, element, paperPosition);
|
|
1050
1054
|
};
|
|
1055
|
+
EditorContext.prototype.onElementAdded = function (callback) {
|
|
1056
|
+
return this.addEventListener(EVENT_ELEMENT_ADDED, callback);
|
|
1057
|
+
};
|
|
1058
|
+
/** @internal */
|
|
1059
|
+
EditorContext.prototype.onElementAddedHandler = function (element) {
|
|
1060
|
+
this._eventEmitter.emit(EVENT_ELEMENT_ADDED, element);
|
|
1061
|
+
};
|
|
1062
|
+
EditorContext.prototype.onElementRemoved = function (callback) {
|
|
1063
|
+
return this.addEventListener(EVENT_ELEMENT_REMOVED, callback);
|
|
1064
|
+
};
|
|
1065
|
+
/** @internal */
|
|
1066
|
+
EditorContext.prototype.onElementRemovedHandler = function (elementId) {
|
|
1067
|
+
this._eventEmitter.emit(EVENT_ELEMENT_REMOVED, elementId);
|
|
1068
|
+
};
|
|
1051
1069
|
EditorContext.prototype.onLinkSelected = function (callback) {
|
|
1052
1070
|
return this.addEventListener(EVENT_LINK_SELECTED, callback);
|
|
1053
1071
|
};
|
|
@@ -7734,13 +7752,13 @@ var SelectionFrame = function (props) {
|
|
|
7734
7752
|
// off();
|
|
7735
7753
|
// }
|
|
7736
7754
|
// }, [])
|
|
7737
|
-
var getMousePosition = function (event) {
|
|
7755
|
+
var getMousePosition = React.useCallback(function (event) {
|
|
7738
7756
|
var position = windowsPositionToPaperPosition({
|
|
7739
7757
|
x: event.clientX,
|
|
7740
7758
|
y: event.clientY
|
|
7741
7759
|
}, propContainer, zoom);
|
|
7742
7760
|
return position;
|
|
7743
|
-
};
|
|
7761
|
+
}, [propContainer, zoom]);
|
|
7744
7762
|
var addRectHandleMouseDown = function (event) {
|
|
7745
7763
|
event.stopPropagation();
|
|
7746
7764
|
if (!draggingCircle) {
|
|
@@ -7776,7 +7794,7 @@ var SelectionFrame = function (props) {
|
|
|
7776
7794
|
setStartY(mouseEvent.clientY);
|
|
7777
7795
|
}
|
|
7778
7796
|
}
|
|
7779
|
-
}, [draggingRect, propOnMove,
|
|
7797
|
+
}, [draggingRect, propOnMove, getMousePosition, propMovingRate, lastMoveTime, xFromMouse, yFromMouse]);
|
|
7780
7798
|
React.useEffect(function () {
|
|
7781
7799
|
var addRectHandleMouseUp = function () {
|
|
7782
7800
|
setDraggingRect(false);
|
|
@@ -7862,7 +7880,7 @@ var SelectionFrame = function (props) {
|
|
|
7862
7880
|
//logging the end of the circle handle mouse move
|
|
7863
7881
|
logger.debug('SelectionFrame: circleHandleMouseMove ended', container);
|
|
7864
7882
|
};
|
|
7865
|
-
}, [draggingCircle, width, height, curX, curY, lastMoveTime, propContainer, propMovingRate, propOnResize, propResizability, startX, startY]);
|
|
7883
|
+
}, [draggingCircle, width, height, curX, curY, lastMoveTime, propContainer, getMousePosition, propMovingRate, propOnResize, propResizability, startX, startY]);
|
|
7866
7884
|
var rectangleSize = Math.max(width, height);
|
|
7867
7885
|
var leftX = framePadding;
|
|
7868
7886
|
var topY = framePadding;
|
|
@@ -9478,18 +9496,18 @@ var Paper = function (props) {
|
|
|
9478
9496
|
var textsRef = React.useRef(texts); //Cache texts to avoid re-render when texts changed
|
|
9479
9497
|
var size = props.size;
|
|
9480
9498
|
var selectedElementAbsPosition = React.useMemo(function () { return selectedElement ? getAbsolutePosition(selectedElement) : null; }, [selectedElement, selectedElement === null || selectedElement === void 0 ? void 0 : selectedElement.position, selectedElement === null || selectedElement === void 0 ? void 0 : selectedElement.size]);
|
|
9481
|
-
var onPortMoved = props.onPortMoved, onPortSelected = props.onPortSelected, onPortMouseDown = props.onPortMouseDown, onPortMouseUp = props.onPortMouseUp, onPortsChanged = props.onPortsChanged, onPortContextMenu = props.onPortContextMenu, onElementSelected = props.onElementSelected, onElementsChanged = props.onElementsChanged, onElementContextMenu = props.onElementContextMenu, onElementMouseUp = props.onElementMouseUp, onElementMouseDown = props.onElementMouseDown, onElementMouseMove = props.onElementMouseMove, onElementMouseLeave = props.onElementMouseLeave, onLinksChanged = props.onLinksChanged, onLinkSelected = props.onLinkSelected, onTextSelected = props.onTextSelected, onTextsChanged = props.onTextsChanged, manuallyTriggerRenderElementHandler = props.manuallyTriggerRenderElementHandler, manuallyTriggerRenderPortHandler = props.manuallyTriggerRenderPortHandler, onCreatingPortByLinking = props.onCreatingPortByLinking, onCreatingLink = props.onCreatingLink, manuallySelectElementHandler = props.manuallySelectElementHandler, manuallyTriggerDraggingElementHandler = props.manuallyTriggerDraggingElementHandler, manuallyTriggerStartedLinkingHandler = props.manuallyTriggerStartedLinkingHandler;
|
|
9499
|
+
var onPortMoved = props.onPortMoved, onPortSelected = props.onPortSelected, onPortMouseDown = props.onPortMouseDown, onPortMouseUp = props.onPortMouseUp, onPortsChanged = props.onPortsChanged, onPortContextMenu = props.onPortContextMenu, onElementSelected = props.onElementSelected, onElementsChanged = props.onElementsChanged, onElementResized = props.onElementResized, onElementContextMenu = props.onElementContextMenu, onElementMouseUp = props.onElementMouseUp, onElementMouseDown = props.onElementMouseDown, onElementMouseMove = props.onElementMouseMove, onElementMoved = props.onElementMoved, onElementMouseLeave = props.onElementMouseLeave, onElementDeleted = props.onElementDeleted, onLinksChanged = props.onLinksChanged, onLinkSelected = props.onLinkSelected, onTextSelected = props.onTextSelected, onTextsChanged = props.onTextsChanged, manuallyTriggerRenderElementHandler = props.manuallyTriggerRenderElementHandler, manuallyTriggerRenderPortHandler = props.manuallyTriggerRenderPortHandler, onCreatingPortByLinking = props.onCreatingPortByLinking, onCreatingLink = props.onCreatingLink, manuallySelectElementHandler = props.manuallySelectElementHandler, manuallyTriggerDraggingElementHandler = props.manuallyTriggerDraggingElementHandler, manuallyTriggerStartedLinkingHandler = props.manuallyTriggerStartedLinkingHandler;
|
|
9482
9500
|
React.useEffect(function () {
|
|
9483
9501
|
zoomRef.current = zoom;
|
|
9484
9502
|
}, [zoom]);
|
|
9485
9503
|
React.useEffect(function () {
|
|
9486
|
-
setElements(props.elements);
|
|
9504
|
+
setElements(__spreadArray([], props.elements, true));
|
|
9487
9505
|
}, [props.elements]);
|
|
9488
9506
|
React.useEffect(function () {
|
|
9489
|
-
setLinks(props.links || []);
|
|
9507
|
+
setLinks(__spreadArray([], props.links || [], true));
|
|
9490
9508
|
}, [props.links]);
|
|
9491
9509
|
React.useEffect(function () {
|
|
9492
|
-
setTexts(props.texts);
|
|
9510
|
+
setTexts(__spreadArray([], props.texts, true));
|
|
9493
9511
|
}, [props.texts]);
|
|
9494
9512
|
React.useEffect(function () {
|
|
9495
9513
|
var off = manuallyTriggerRenderElementHandler(function (elementId) {
|
|
@@ -9537,10 +9555,15 @@ var Paper = function (props) {
|
|
|
9537
9555
|
};
|
|
9538
9556
|
}
|
|
9539
9557
|
}, [manuallyTriggerStartedLinkingHandler, paperEventEmitter]);
|
|
9558
|
+
var updateElementsTree = React.useCallback(function () {
|
|
9559
|
+
var parsedElementsInTree = convertElementsToTree(elements);
|
|
9560
|
+
setElementsInTree(parsedElementsInTree);
|
|
9561
|
+
}, [elements]);
|
|
9540
9562
|
//Cache elements to avoid re-render when elements changed
|
|
9541
9563
|
React.useEffect(function () {
|
|
9542
9564
|
elementsRef.current = elements;
|
|
9543
|
-
|
|
9565
|
+
updateElementsTree();
|
|
9566
|
+
}, [elements, updateElementsTree]);
|
|
9544
9567
|
//Cache links to avoid re-render when links changed
|
|
9545
9568
|
React.useEffect(function () {
|
|
9546
9569
|
linksRef.current = links;
|
|
@@ -9552,10 +9575,6 @@ var Paper = function (props) {
|
|
|
9552
9575
|
useKeyboardCommands({
|
|
9553
9576
|
element: paperContainerRef.current
|
|
9554
9577
|
});
|
|
9555
|
-
var updateElementsTree = React.useCallback(function () {
|
|
9556
|
-
var parsedElementsInTree = convertElementsToTree(elements);
|
|
9557
|
-
setElementsInTree(parsedElementsInTree);
|
|
9558
|
-
}, [elements]);
|
|
9559
9578
|
//Cache tempLink to avoid re-render when tempLink changed
|
|
9560
9579
|
React.useEffect(function () {
|
|
9561
9580
|
tempLinkRef.current = tempLink;
|
|
@@ -9563,17 +9582,16 @@ var Paper = function (props) {
|
|
|
9563
9582
|
//Listen text is selected
|
|
9564
9583
|
React.useEffect(function () {
|
|
9565
9584
|
var textSelectedListener = paperEventEmitter.onTextSelected(function (text) {
|
|
9566
|
-
var _a;
|
|
9567
9585
|
setSelectedElement(undefined);
|
|
9568
9586
|
setSelectedElementSVG(null);
|
|
9569
9587
|
setSelectedLink(undefined);
|
|
9570
9588
|
//broadcast selected text to parent component
|
|
9571
|
-
|
|
9589
|
+
onTextSelected === null || onTextSelected === void 0 ? void 0 : onTextSelected(text);
|
|
9572
9590
|
});
|
|
9573
9591
|
return function () {
|
|
9574
9592
|
textSelectedListener.off();
|
|
9575
9593
|
};
|
|
9576
|
-
}, []);
|
|
9594
|
+
}, [paperEventEmitter, onTextSelected]);
|
|
9577
9595
|
//Listen port is selected
|
|
9578
9596
|
React.useEffect(function () {
|
|
9579
9597
|
var portSelectedListener = paperEventEmitter.onPortSelected(function (port, elementId) {
|
|
@@ -9622,11 +9640,11 @@ var Paper = function (props) {
|
|
|
9622
9640
|
parentChangedCancelers.forEach(function (canceller) { return canceller === null || canceller === void 0 ? void 0 : canceller(); });
|
|
9623
9641
|
addedPortCancelers.forEach(function (canceller) { return canceller(); });
|
|
9624
9642
|
};
|
|
9625
|
-
}, [
|
|
9626
|
-
//Update elements tree when length of elements change
|
|
9627
|
-
|
|
9628
|
-
|
|
9629
|
-
}, [elements, updateElementsTree])
|
|
9643
|
+
}, [updateElementsTree, onElementsChanged]);
|
|
9644
|
+
// //Update elements tree when length of elements change
|
|
9645
|
+
// useEffect(() => {
|
|
9646
|
+
// updateElementsTree();
|
|
9647
|
+
// }, [elements, updateElementsTree])
|
|
9630
9648
|
//Get all child elements of the deleted element
|
|
9631
9649
|
var getChildOfElement = React.useCallback(function (element) {
|
|
9632
9650
|
if (!element.childrenElementsInTree)
|
|
@@ -9646,6 +9664,7 @@ var Paper = function (props) {
|
|
|
9646
9664
|
var deletedElementIds_1 = __spreadArray(__spreadArray([], deletedChildElements, true), [selectedElement], false).map(function (e) { return e.id; });
|
|
9647
9665
|
var prevElements = elementsRef.current;
|
|
9648
9666
|
var newElements = prevElements.filter(function (e) { return !deletedElementIds_1.includes(e.id); });
|
|
9667
|
+
onElementDeleted === null || onElementDeleted === void 0 ? void 0 : onElementDeleted(selectedElement);
|
|
9649
9668
|
//Set state to re-render component
|
|
9650
9669
|
setElements(newElements);
|
|
9651
9670
|
if (onElementsChanged) {
|
|
@@ -9669,7 +9688,7 @@ var Paper = function (props) {
|
|
|
9669
9688
|
return function () {
|
|
9670
9689
|
listener.off();
|
|
9671
9690
|
};
|
|
9672
|
-
}, [selectedElement, onElementSelected, onElementsChanged, onLinksChanged, getChildOfElement, paperEventEmitter]);
|
|
9691
|
+
}, [selectedElement, onElementSelected, onElementsChanged, onLinksChanged, getChildOfElement, paperEventEmitter, onElementDeleted]);
|
|
9673
9692
|
//Listen command delete selected for link
|
|
9674
9693
|
React.useEffect(function () {
|
|
9675
9694
|
var listener = paperEventEmitter.onCommandDeleteSelectedLink(function () {
|
|
@@ -9804,7 +9823,6 @@ var Paper = function (props) {
|
|
|
9804
9823
|
}
|
|
9805
9824
|
}, [onLinksChanged]);
|
|
9806
9825
|
var handlePortMoved = React.useCallback(function (port, elementId, oldPosition, newPosition) {
|
|
9807
|
-
var _a;
|
|
9808
9826
|
var element = elementsRef.current.find(function (e) { return e.id === elementId; });
|
|
9809
9827
|
if (element) {
|
|
9810
9828
|
//set links equals a clone links to re-render links with new position
|
|
@@ -9819,21 +9837,44 @@ var Paper = function (props) {
|
|
|
9819
9837
|
}
|
|
9820
9838
|
return link;
|
|
9821
9839
|
});
|
|
9822
|
-
setLinks(
|
|
9840
|
+
setLinks(function (prev) {
|
|
9841
|
+
return prev.map(function (link) {
|
|
9842
|
+
var _a, _b;
|
|
9843
|
+
if (link.sourceElement.id === elementId && link.sourcePort.id === port.id) {
|
|
9844
|
+
link.sourcePort.position = newPosition;
|
|
9845
|
+
}
|
|
9846
|
+
if (((_a = link.targetElement) === null || _a === void 0 ? void 0 : _a.id) === elementId && ((_b = link.targetPort) === null || _b === void 0 ? void 0 : _b.id) === port.id) {
|
|
9847
|
+
link.targetPort.position = newPosition;
|
|
9848
|
+
}
|
|
9849
|
+
return link;
|
|
9850
|
+
});
|
|
9851
|
+
});
|
|
9823
9852
|
if (onLinksChanged) {
|
|
9824
9853
|
onLinksChanged(newLinks);
|
|
9825
9854
|
}
|
|
9826
9855
|
var newElements = elementsRef.current;
|
|
9827
|
-
|
|
9828
|
-
|
|
9829
|
-
|
|
9830
|
-
|
|
9831
|
-
|
|
9832
|
-
|
|
9833
|
-
});
|
|
9856
|
+
// newElements[updatedElementIndex].ports = newElements[updatedElementIndex].ports?.map(p => {
|
|
9857
|
+
// if (p.id === port.id) {
|
|
9858
|
+
// p.position = newPosition
|
|
9859
|
+
// }
|
|
9860
|
+
// return p
|
|
9861
|
+
// })
|
|
9834
9862
|
//Update port position in element, not re-render
|
|
9835
9863
|
//To avoid re-render
|
|
9836
|
-
setElements(
|
|
9864
|
+
setElements(function (prev) {
|
|
9865
|
+
var _a;
|
|
9866
|
+
var newElements = __spreadArray([], prev, true);
|
|
9867
|
+
var updatedElement = newElements.find(function (e) { return e.id === elementId; });
|
|
9868
|
+
if (updatedElement) {
|
|
9869
|
+
updatedElement.ports = (_a = updatedElement.ports) === null || _a === void 0 ? void 0 : _a.map(function (p) {
|
|
9870
|
+
if (p.id === port.id) {
|
|
9871
|
+
p.position = newPosition;
|
|
9872
|
+
}
|
|
9873
|
+
return p;
|
|
9874
|
+
});
|
|
9875
|
+
}
|
|
9876
|
+
return newElements;
|
|
9877
|
+
});
|
|
9837
9878
|
if (onElementsChanged) {
|
|
9838
9879
|
onElementsChanged(newElements);
|
|
9839
9880
|
}
|
|
@@ -10191,6 +10232,7 @@ var Paper = function (props) {
|
|
|
10191
10232
|
}
|
|
10192
10233
|
}, [onElementMouseLeave]);
|
|
10193
10234
|
var renderElementInTree = React.useCallback(function (element) {
|
|
10235
|
+
logger.info("Rendering element tree for element ".concat(element.id));
|
|
10194
10236
|
//use the defined react element or the default Element component
|
|
10195
10237
|
var ReactElement = element.reactElement || Element$1;
|
|
10196
10238
|
return (React.createElement("g", { id: "group-of-element-".concat(element.id), key: element.id },
|
|
@@ -10205,25 +10247,22 @@ var Paper = function (props) {
|
|
|
10205
10247
|
}, objectX: selectedElementAbsPosition === null || selectedElementAbsPosition === void 0 ? void 0 : selectedElementAbsPosition.x, objectY: selectedElementAbsPosition === null || selectedElementAbsPosition === void 0 ? void 0 : selectedElementAbsPosition.y, width: selectedElement === null || selectedElement === void 0 ? void 0 : selectedElement.size.width, height: selectedElement === null || selectedElement === void 0 ? void 0 : selectedElement.size.height, zoom: zoom, draggingByDefault: autoEnabledDraggingSelectedElement,
|
|
10206
10248
|
//movingOffsetThreshold: ELEMENT_MOVING_OFFSET_THRESHOLD,
|
|
10207
10249
|
onMouseDown: function (ev) {
|
|
10208
|
-
var _a;
|
|
10209
10250
|
if (selectedElement) {
|
|
10210
10251
|
var paperPosition = windowsPositionToPaperPosition({
|
|
10211
10252
|
x: ev.clientX,
|
|
10212
10253
|
y: ev.clientY
|
|
10213
10254
|
}, paperContainerRef.current, zoomRef.current);
|
|
10214
|
-
|
|
10255
|
+
onElementMouseDown === null || onElementMouseDown === void 0 ? void 0 : onElementMouseDown(ev, selectedElement, paperPosition);
|
|
10215
10256
|
}
|
|
10216
10257
|
}, onMouseUp: function (ev) {
|
|
10217
|
-
var _a;
|
|
10218
10258
|
if (selectedElement) {
|
|
10219
10259
|
var paperPosition = windowsPositionToPaperPosition({
|
|
10220
10260
|
x: ev.clientX,
|
|
10221
10261
|
y: ev.clientY
|
|
10222
10262
|
}, paperContainerRef.current, zoomRef.current);
|
|
10223
|
-
|
|
10263
|
+
onElementMouseUp === null || onElementMouseUp === void 0 ? void 0 : onElementMouseUp(ev, selectedElement, paperPosition);
|
|
10224
10264
|
}
|
|
10225
10265
|
}, onMove: function (newX, newY) {
|
|
10226
|
-
var _a;
|
|
10227
10266
|
if (!selectedElement)
|
|
10228
10267
|
return;
|
|
10229
10268
|
var oldPosition = __assign({}, selectedElement.position);
|
|
@@ -10260,13 +10299,13 @@ var Paper = function (props) {
|
|
|
10260
10299
|
}
|
|
10261
10300
|
return link;
|
|
10262
10301
|
});
|
|
10263
|
-
|
|
10302
|
+
onLinksChanged === null || onLinksChanged === void 0 ? void 0 : onLinksChanged(newLinks);
|
|
10264
10303
|
// End updating the position of links connected to the selected element
|
|
10265
10304
|
//Set state to re-render UI with new position
|
|
10266
10305
|
setElementsInTree(function (prev) { return __spreadArray([], prev, true); });
|
|
10267
|
-
if (
|
|
10306
|
+
if (onElementMoved) {
|
|
10268
10307
|
console.log('onElementMoved', selectedElement.position, paperPosition);
|
|
10269
|
-
|
|
10308
|
+
onElementMoved(selectedElement.position, selectedElement, indexSelectedElement, paperPosition);
|
|
10270
10309
|
}
|
|
10271
10310
|
paperEventEmitter.emitElementMoved(selectedElement, oldPosition, selectedElement.position);
|
|
10272
10311
|
setMouseDownedOnPaper(false);
|
|
@@ -10279,16 +10318,16 @@ var Paper = function (props) {
|
|
|
10279
10318
|
elements[indexSelectedElement].size = newSize;
|
|
10280
10319
|
var newElements = __spreadArray([], elements, true);
|
|
10281
10320
|
setElements(newElements);
|
|
10282
|
-
if (
|
|
10283
|
-
|
|
10321
|
+
if (onElementsChanged) {
|
|
10322
|
+
onElementsChanged(newElements);
|
|
10284
10323
|
}
|
|
10285
|
-
if (
|
|
10286
|
-
|
|
10324
|
+
if (onElementResized) {
|
|
10325
|
+
onElementResized(newSize, selectedElement, indexSelectedElement);
|
|
10287
10326
|
}
|
|
10288
10327
|
paperEventEmitter.emitElementResized(selectedElement, oldSize, newSize);
|
|
10289
10328
|
setMouseDownedOnPaper(false);
|
|
10290
10329
|
} }))));
|
|
10291
|
-
}, [manuallyTriggerRenderPortHandler, handleElementClicked, handleContextMenu, handleMouseUp, handleMouseDown, handleMouseMove, handleMouseLeave, handlePortMoved, handlePortMouseDown, handlePortMouseUp, handlePortsChanged, handlePortContextMenu, handleMouseUpAtLinkedPortPlaceholder, handleElementTextChange,
|
|
10330
|
+
}, [manuallyTriggerRenderPortHandler, handleElementClicked, handleContextMenu, handleMouseUp, handleMouseDown, handleMouseMove, handleMouseLeave, handlePortMoved, handlePortMouseDown, handlePortMouseUp, handlePortsChanged, handlePortContextMenu, handleMouseUpAtLinkedPortPlaceholder, handleElementTextChange, selectedElement, selectedElementSVG, selectedElementAbsPosition === null || selectedElementAbsPosition === void 0 ? void 0 : selectedElementAbsPosition.x, selectedElementAbsPosition === null || selectedElementAbsPosition === void 0 ? void 0 : selectedElementAbsPosition.y, zoom, autoEnabledDraggingSelectedElement, elements, getChildOfElement, paperEventEmitter, onElementResized, onElementsChanged, onElementMoved, onElementMouseDown, onElementMouseUp, onLinksChanged]);
|
|
10292
10331
|
var ElementsInTree = React.useMemo(function () {
|
|
10293
10332
|
return elementsInTree.map(function (element, index) {
|
|
10294
10333
|
return renderElementInTree(element);
|
|
@@ -10371,7 +10410,7 @@ var Editor = function (_a) {
|
|
|
10371
10410
|
}, [editorContext]);
|
|
10372
10411
|
var handlePortsChanged = React.useCallback(function (ports, element) {
|
|
10373
10412
|
element.ports = ports;
|
|
10374
|
-
}, [
|
|
10413
|
+
}, []);
|
|
10375
10414
|
var handlePortContextMenu = React.useCallback(function (port, element, event) {
|
|
10376
10415
|
editorContext.onPortContextMenuHandler(port, element, event);
|
|
10377
10416
|
}, [editorContext]);
|
|
@@ -10435,9 +10474,12 @@ var Editor = function (_a) {
|
|
|
10435
10474
|
var handlePaperMouseUp = React.useCallback(function (position) {
|
|
10436
10475
|
editorContext.onPaperMouseUpHandler(position);
|
|
10437
10476
|
}, [editorContext]);
|
|
10477
|
+
var handleElementRemoved = React.useCallback(function (element) {
|
|
10478
|
+
editorContext.onElementRemovedHandler(element.id);
|
|
10479
|
+
}, [editorContext]);
|
|
10438
10480
|
return (React.createElement(EditorConfigurationContextProvider, { value: editorContext.configuration },
|
|
10439
10481
|
React.createElement(ZoomContextProvider, null,
|
|
10440
|
-
React.createElement(Paper$1, { key: "paper", size: { width: width, height: height }, elements: elements, links: links, texts: texts, onPaperClicked: handlePaperClicked, onPortMouseDown: handlePortMouseDown, onPortMouseUp: handlePortMouseUp, onPortMoved: handlePortMoved, onPortSelected: handlePortSelected, onPortsChanged: handlePortsChanged, onPortContextMenu: handlePortContextMenu, onElementContextMenu: handleElementContextMenu, onElementMoved: handleElementMoved, onElementResized: handleElementResized, onElementSelected: handleElementSelected, onElementMouseLeave: handleElementMouseLeave, onElementMouseMove: handleElementMouseMove, onElementMouseDown: handleElementMouseDown, onElementMouseUp: handleElementMouseUp, onElementsChanged: handleElementsChanged, onCreatingLink: handleOnCreatingLink, onCreatingPortByLinking: handleOnCreatingPortByLinking, onLinkSelected: handleLinkSelected, onLinksChanged: handleLinksChanged, onTextSelected: handleTextSelected, onTextsChanged: handleTextsChanged, onPaperMouseMoved: handlePaperMouseMoved, onPaperMouseUp: handlePaperMouseUp, onPaperMouseDown: handlePaperMouseDown, manuallyTriggerRenderElementHandler: editorContext.manuallyTriggerRenderElementHandler.bind(editorContext), manuallyTriggerRenderPortHandler: editorContext.manuallyTriggerRenderPortHandler.bind(editorContext), manuallySelectElementHandler: editorContext.manuallySelectElementHandler.bind(editorContext), manuallyTriggerDraggingElementHandler: editorContext.manuallyTriggerDraggingElementHandler.bind(editorContext), manuallyTriggerStartedLinkingHandler: editorContext.manuallyTriggerStartedLinkingHandler.bind(editorContext) }))));
|
|
10482
|
+
React.createElement(Paper$1, { key: "paper", size: { width: width, height: height }, elements: elements, links: links, texts: texts, onPaperClicked: handlePaperClicked, onPortMouseDown: handlePortMouseDown, onPortMouseUp: handlePortMouseUp, onPortMoved: handlePortMoved, onPortSelected: handlePortSelected, onPortsChanged: handlePortsChanged, onPortContextMenu: handlePortContextMenu, onElementContextMenu: handleElementContextMenu, onElementMoved: handleElementMoved, onElementResized: handleElementResized, onElementSelected: handleElementSelected, onElementMouseLeave: handleElementMouseLeave, onElementMouseMove: handleElementMouseMove, onElementMouseDown: handleElementMouseDown, onElementMouseUp: handleElementMouseUp, onElementDeleted: handleElementRemoved, onElementsChanged: handleElementsChanged, onCreatingLink: handleOnCreatingLink, onCreatingPortByLinking: handleOnCreatingPortByLinking, onLinkSelected: handleLinkSelected, onLinksChanged: handleLinksChanged, onTextSelected: handleTextSelected, onTextsChanged: handleTextsChanged, onPaperMouseMoved: handlePaperMouseMoved, onPaperMouseUp: handlePaperMouseUp, onPaperMouseDown: handlePaperMouseDown, manuallyTriggerRenderElementHandler: editorContext.manuallyTriggerRenderElementHandler.bind(editorContext), manuallyTriggerRenderPortHandler: editorContext.manuallyTriggerRenderPortHandler.bind(editorContext), manuallySelectElementHandler: editorContext.manuallySelectElementHandler.bind(editorContext), manuallyTriggerDraggingElementHandler: editorContext.manuallyTriggerDraggingElementHandler.bind(editorContext), manuallyTriggerStartedLinkingHandler: editorContext.manuallyTriggerStartedLinkingHandler.bind(editorContext) }))));
|
|
10441
10483
|
};
|
|
10442
10484
|
|
|
10443
10485
|
exports.CircleRC = Circle;
|
|
@@ -30,6 +30,8 @@ export default interface IEditorContext {
|
|
|
30
30
|
onElementMouseMove: (callback: (ev: React.MouseEvent, element: IElement, paperPosition: IPosition) => void) => (() => void);
|
|
31
31
|
onElementMouseUp: (callback: (ev: React.MouseEvent, element: IElement, paperPosition: IPosition) => void) => (() => void);
|
|
32
32
|
onElementMouseDown: (callback: (ev: React.MouseEvent, element: IElement, paperPosition: IPosition) => void) => (() => void);
|
|
33
|
+
onElementAdded: (callback: (element: IElement) => void) => (() => void);
|
|
34
|
+
onElementRemoved: (callback: (elementId: string) => void) => (() => void);
|
|
33
35
|
onLinkSelected: (callback: (link: IElementLink) => void) => (() => void);
|
|
34
36
|
onTextSelected: (callback: (text: IText) => void) => (() => void);
|
|
35
37
|
getElement(elementId: string): IElement | undefined;
|
|
@@ -50,6 +50,8 @@ export declare class EditorContext implements IEditorContext {
|
|
|
50
50
|
onElementMouseLeave(callback: (ev: React.MouseEvent, element: IElement, paperPosition: IPosition) => void): () => void;
|
|
51
51
|
onElementMouseUp(callback: (ev: React.MouseEvent, element: IElement, paperPosition: IPosition) => void): () => void;
|
|
52
52
|
onElementMouseDown(callback: (ev: React.MouseEvent, element: IElement, paperPosition: IPosition) => void): () => void;
|
|
53
|
+
onElementAdded(callback: (element: IElement) => void): () => void;
|
|
54
|
+
onElementRemoved(callback: (elementId: string) => void): () => void;
|
|
53
55
|
onLinkSelected(callback: (link: IElementLink) => void): () => void;
|
|
54
56
|
onTextSelected(callback: (text: IText) => void): () => void;
|
|
55
57
|
triggerRenderElement(elementId: string): void;
|