orcasvn-react-diagrams 0.1.71 → 0.1.73
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 +35 -17
- package/dist/cjs/types/components/paper.d.ts +1 -0
- package/dist/cjs/types/mocks/editorContextTriggerRenderElements.d.ts +2 -0
- package/dist/cjs/types/models/IEditorContext.d.ts +1 -0
- package/dist/cjs/types/models/implementations/EditorContext.d.ts +1 -0
- package/dist/esm/index.js +35 -17
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/components/paper.d.ts +1 -0
- package/dist/esm/types/mocks/editorContextTriggerRenderElements.d.ts +2 -0
- package/dist/esm/types/models/IEditorContext.d.ts +1 -0
- package/dist/esm/types/models/implementations/EditorContext.d.ts +1 -0
- package/dist/index.d.ts +2 -0
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -842,6 +842,7 @@ var Text$2 = /** @class */ (function () {
|
|
|
842
842
|
}());
|
|
843
843
|
|
|
844
844
|
var EVENT_MANUALLY_RENDER_ELEMENT = 'manuallyRenderElement';
|
|
845
|
+
var EVENT_MANUALLY_RENDER_ELEMENTS = 'manuallyRenderElements';
|
|
845
846
|
var EVENT_MANUALLY_RENDER_PORT = 'manuallyRenderPort';
|
|
846
847
|
var EVENT_EDITOR_CONTEXT_UPDATED = 'editorContextUpdated';
|
|
847
848
|
var EVENT_PAPER_CLICKED = 'paperClicked';
|
|
@@ -1131,6 +1132,13 @@ var EditorContext = /** @class */ (function () {
|
|
|
1131
1132
|
EditorContext.prototype.manuallyTriggerRenderElementHandler = function (callback) {
|
|
1132
1133
|
return this.addEventListener(EVENT_MANUALLY_RENDER_ELEMENT, callback);
|
|
1133
1134
|
};
|
|
1135
|
+
EditorContext.prototype.triggerRenderElements = function () {
|
|
1136
|
+
this._eventEmitter.emit(EVENT_MANUALLY_RENDER_ELEMENTS);
|
|
1137
|
+
};
|
|
1138
|
+
/** @internal */
|
|
1139
|
+
EditorContext.prototype.manuallyTriggerRenderElementsHandler = function (callback) {
|
|
1140
|
+
return this.addEventListener(EVENT_MANUALLY_RENDER_ELEMENTS, callback);
|
|
1141
|
+
};
|
|
1134
1142
|
EditorContext.prototype.triggerRenderPort = function (portId, elementId) {
|
|
1135
1143
|
this._eventEmitter.emit(EVENT_MANUALLY_RENDER_PORT, portId, elementId);
|
|
1136
1144
|
};
|
|
@@ -9688,13 +9696,13 @@ var Paper = function (props) {
|
|
|
9688
9696
|
var zoomRef = React.useRef(zoom);
|
|
9689
9697
|
var paperContainerRef = React.useRef(null);
|
|
9690
9698
|
var tempLinkRef = React.useRef(tempLink); //Cache tempLink to avoid re-render when tempLink changed
|
|
9691
|
-
|
|
9699
|
+
//const elementsRef = useRef<IElementState[]>([]); //Cache elements to avoid re-render when elements changed
|
|
9692
9700
|
var linksRef = React.useRef(links); //Cache links to avoid re-render when links changed
|
|
9693
9701
|
var textsRef = React.useRef(texts); //Cache texts to avoid re-render when texts changed
|
|
9694
9702
|
var size = props.size;
|
|
9695
9703
|
var onPortMoved = props.onPortMoved, onPortSelected = props.onPortSelected, onPortMouseDown = props.onPortMouseDown, onPortMouseUp = props.onPortMouseUp,
|
|
9696
9704
|
//onPortsChanged,
|
|
9697
|
-
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, onElementMoving = props.onElementMoving, manuallySelectElementHandler = props.manuallySelectElementHandler, manuallyTriggerDraggingElementHandler = props.manuallyTriggerDraggingElementHandler, manuallyTriggerStartedLinkingHandler = props.manuallyTriggerStartedLinkingHandler;
|
|
9705
|
+
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, manuallyTriggerRenderElementsHandler = props.manuallyTriggerRenderElementsHandler, manuallyTriggerRenderElementHandler = props.manuallyTriggerRenderElementHandler, manuallyTriggerRenderPortHandler = props.manuallyTriggerRenderPortHandler, onCreatingPortByLinking = props.onCreatingPortByLinking, onCreatingLink = props.onCreatingLink, onElementMoving = props.onElementMoving, manuallySelectElementHandler = props.manuallySelectElementHandler, manuallyTriggerDraggingElementHandler = props.manuallyTriggerDraggingElementHandler, manuallyTriggerStartedLinkingHandler = props.manuallyTriggerStartedLinkingHandler;
|
|
9698
9706
|
var handleElementsState = React.useCallback(function (elements) {
|
|
9699
9707
|
var elementsInTree = convertElementsToTree(elements);
|
|
9700
9708
|
setElementsState({ elements: __spreadArray([], elements, true), elementsInTree: elementsInTree });
|
|
@@ -9715,6 +9723,17 @@ var Paper = function (props) {
|
|
|
9715
9723
|
React.useEffect(function () {
|
|
9716
9724
|
setTexts(__spreadArray([], props.texts, true));
|
|
9717
9725
|
}, [props.texts]);
|
|
9726
|
+
React.useEffect(function () {
|
|
9727
|
+
var off = manuallyTriggerRenderElementsHandler(function () {
|
|
9728
|
+
elementsState.elements.forEach(function (element) {
|
|
9729
|
+
element.version = (element.version || 0) + 1;
|
|
9730
|
+
});
|
|
9731
|
+
handleElementsState(elementsState.elements);
|
|
9732
|
+
});
|
|
9733
|
+
return function () {
|
|
9734
|
+
off();
|
|
9735
|
+
};
|
|
9736
|
+
}, [elementsState.elements, handleElementsState, manuallyTriggerRenderElementsHandler]);
|
|
9718
9737
|
React.useEffect(function () {
|
|
9719
9738
|
var off = manuallyTriggerRenderElementHandler(function (elementId) {
|
|
9720
9739
|
//find the element
|
|
@@ -9839,7 +9858,7 @@ var Paper = function (props) {
|
|
|
9839
9858
|
React.useEffect(function () {
|
|
9840
9859
|
//Listen a new text added, then re-render the element component
|
|
9841
9860
|
//TODO: to be moved to Element component
|
|
9842
|
-
var addedTextCancelers =
|
|
9861
|
+
var addedTextCancelers = elementsState.elements.map(function (element) {
|
|
9843
9862
|
var _a;
|
|
9844
9863
|
return (_a = element.onAddedText) === null || _a === void 0 ? void 0 : _a.call(element, function (newText) {
|
|
9845
9864
|
logger.info("A new text has been added to element ".concat(element.id));
|
|
@@ -9848,7 +9867,7 @@ var Paper = function (props) {
|
|
|
9848
9867
|
});
|
|
9849
9868
|
// Listen a text deleted, then re-render the element component
|
|
9850
9869
|
//TODO: to be moved to Element component
|
|
9851
|
-
var deletedTextCancelers =
|
|
9870
|
+
var deletedTextCancelers = elementsState.elements.map(function (element) {
|
|
9852
9871
|
var _a;
|
|
9853
9872
|
return (_a = element.onDeletedText) === null || _a === void 0 ? void 0 : _a.call(element, function (deletedTextId) {
|
|
9854
9873
|
logger.info("A text has been deleted from element ".concat(element.id));
|
|
@@ -10074,7 +10093,6 @@ var Paper = function (props) {
|
|
|
10074
10093
|
linksRef.current[updatedLinkIndex].points = points;
|
|
10075
10094
|
}, []);
|
|
10076
10095
|
var handlePortMoved = React.useCallback(function (port, elementId, oldPosition, newPosition) {
|
|
10077
|
-
var _a;
|
|
10078
10096
|
var element = elementsState.elements.find(function (e) { return e.id === elementId; });
|
|
10079
10097
|
if (element) {
|
|
10080
10098
|
//set links equals a clone links to re-render links with new position
|
|
@@ -10115,23 +10133,23 @@ var Paper = function (props) {
|
|
|
10115
10133
|
//To avoid re-render
|
|
10116
10134
|
// setElements(prev => {
|
|
10117
10135
|
// const newElements = [...prev]
|
|
10118
|
-
|
|
10119
|
-
if (updatedElement) {
|
|
10120
|
-
|
|
10121
|
-
|
|
10122
|
-
|
|
10123
|
-
|
|
10124
|
-
|
|
10125
|
-
|
|
10126
|
-
}
|
|
10127
|
-
rerenderWhenAnyElementChanged();
|
|
10136
|
+
// const updatedElement = elementsState.elements.find(e => e.id === elementId);
|
|
10137
|
+
// if (updatedElement) {
|
|
10138
|
+
// updatedElement.ports = updatedElement.ports?.map(p => {
|
|
10139
|
+
// if (p.id === port.id) {
|
|
10140
|
+
// p.position = newPosition
|
|
10141
|
+
// }
|
|
10142
|
+
// return p
|
|
10143
|
+
// });
|
|
10144
|
+
// }
|
|
10145
|
+
// rerenderWhenAnyElementChanged();
|
|
10128
10146
|
// return newElements
|
|
10129
10147
|
// });
|
|
10130
10148
|
if (onPortMoved) {
|
|
10131
10149
|
onPortMoved(newPosition, port, element);
|
|
10132
10150
|
}
|
|
10133
10151
|
}
|
|
10134
|
-
}, [onPortMoved, elementsState
|
|
10152
|
+
}, [onPortMoved, elementsState]);
|
|
10135
10153
|
React.useEffect(function () {
|
|
10136
10154
|
//on port manually trigger render
|
|
10137
10155
|
var off = manuallyTriggerRenderPortHandler(function (portId, elementId) {
|
|
@@ -10660,7 +10678,7 @@ var Editor = function (_a) {
|
|
|
10660
10678
|
React.createElement(ZoomContextProvider, null,
|
|
10661
10679
|
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,
|
|
10662
10680
|
//onPortsChanged={handlePortsChanged}
|
|
10663
|
-
onPortContextMenu: handlePortContextMenu, onElementContextMenu: handleElementContextMenu, onElementMoved: handleElementMoved, onElementResized: handleElementResized, onElementSelected: handleElementSelected, onElementMouseLeave: handleElementMouseLeave, onElementMouseMove: handleElementMouseMove, onElementMouseDown: handleElementMouseDown, onElementMouseUp: handleElementMouseUp, onElementDeleted: handleElementRemoved, onElementsChanged: handleElementsChanged, onCreatingLink: handleOnCreatingLink, onElementMoving: handleOnElementMoving, 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) }))));
|
|
10681
|
+
onPortContextMenu: handlePortContextMenu, onElementContextMenu: handleElementContextMenu, onElementMoved: handleElementMoved, onElementResized: handleElementResized, onElementSelected: handleElementSelected, onElementMouseLeave: handleElementMouseLeave, onElementMouseMove: handleElementMouseMove, onElementMouseDown: handleElementMouseDown, onElementMouseUp: handleElementMouseUp, onElementDeleted: handleElementRemoved, onElementsChanged: handleElementsChanged, onCreatingLink: handleOnCreatingLink, onElementMoving: handleOnElementMoving, onCreatingPortByLinking: handleOnCreatingPortByLinking, onLinkSelected: handleLinkSelected, onLinksChanged: handleLinksChanged, onTextSelected: handleTextSelected, onTextsChanged: handleTextsChanged, onPaperMouseMoved: handlePaperMouseMoved, onPaperMouseUp: handlePaperMouseUp, onPaperMouseDown: handlePaperMouseDown, manuallyTriggerRenderElementsHandler: editorContext.manuallyTriggerRenderElementsHandler.bind(editorContext), 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) }))));
|
|
10664
10682
|
};
|
|
10665
10683
|
|
|
10666
10684
|
exports.CircleRC = Circle;
|
|
@@ -36,6 +36,7 @@ interface PaperProps {
|
|
|
36
36
|
onLinksChanged?: (links: IElementLink[]) => void;
|
|
37
37
|
onTextSelected?: (text: IText) => void;
|
|
38
38
|
onTextsChanged?: (texts: IPaperText[]) => void;
|
|
39
|
+
manuallyTriggerRenderElementsHandler: (callback: () => void) => () => void;
|
|
39
40
|
manuallyTriggerRenderElementHandler: (callback: (elementId: string) => void) => () => void;
|
|
40
41
|
manuallyTriggerRenderPortHandler: (callback: (portId: string, elementId: string) => void) => () => void;
|
|
41
42
|
onCreatingPortByLinking?: (sourceElement: IElement, sourcePort: IPort, targetElement: IElement, position: IPosition) => IPort | null;
|
|
@@ -49,6 +49,7 @@ export default interface IEditorContext {
|
|
|
49
49
|
removeText(textId: string): void;
|
|
50
50
|
setSelectedElement: (element: IElement | null) => void;
|
|
51
51
|
triggerDraggingElement: (element: IElement) => void;
|
|
52
|
+
triggerRenderElements(): void;
|
|
52
53
|
triggerRenderElement(elementId: string): void;
|
|
53
54
|
triggerRenderPort(portId: string, elementId: string): void;
|
|
54
55
|
triggerStartedLinking(sourceElement: IElement, sourcePort: IPort): void;
|
|
@@ -59,6 +59,7 @@ export declare class EditorContext implements IEditorContext {
|
|
|
59
59
|
onLinkSelected(callback: (link: IElementLink) => void): () => void;
|
|
60
60
|
onTextSelected(callback: (text: IText) => void): () => void;
|
|
61
61
|
triggerRenderElement(elementId: string): void;
|
|
62
|
+
triggerRenderElements(): void;
|
|
62
63
|
triggerRenderPort(portId: string, elementId: string): void;
|
|
63
64
|
setSelectedElement(element: IElement | null): void;
|
|
64
65
|
triggerDraggingElement(element: IElement): void;
|
package/dist/esm/index.js
CHANGED
|
@@ -838,6 +838,7 @@ var Text$2 = /** @class */ (function () {
|
|
|
838
838
|
}());
|
|
839
839
|
|
|
840
840
|
var EVENT_MANUALLY_RENDER_ELEMENT = 'manuallyRenderElement';
|
|
841
|
+
var EVENT_MANUALLY_RENDER_ELEMENTS = 'manuallyRenderElements';
|
|
841
842
|
var EVENT_MANUALLY_RENDER_PORT = 'manuallyRenderPort';
|
|
842
843
|
var EVENT_EDITOR_CONTEXT_UPDATED = 'editorContextUpdated';
|
|
843
844
|
var EVENT_PAPER_CLICKED = 'paperClicked';
|
|
@@ -1127,6 +1128,13 @@ var EditorContext = /** @class */ (function () {
|
|
|
1127
1128
|
EditorContext.prototype.manuallyTriggerRenderElementHandler = function (callback) {
|
|
1128
1129
|
return this.addEventListener(EVENT_MANUALLY_RENDER_ELEMENT, callback);
|
|
1129
1130
|
};
|
|
1131
|
+
EditorContext.prototype.triggerRenderElements = function () {
|
|
1132
|
+
this._eventEmitter.emit(EVENT_MANUALLY_RENDER_ELEMENTS);
|
|
1133
|
+
};
|
|
1134
|
+
/** @internal */
|
|
1135
|
+
EditorContext.prototype.manuallyTriggerRenderElementsHandler = function (callback) {
|
|
1136
|
+
return this.addEventListener(EVENT_MANUALLY_RENDER_ELEMENTS, callback);
|
|
1137
|
+
};
|
|
1130
1138
|
EditorContext.prototype.triggerRenderPort = function (portId, elementId) {
|
|
1131
1139
|
this._eventEmitter.emit(EVENT_MANUALLY_RENDER_PORT, portId, elementId);
|
|
1132
1140
|
};
|
|
@@ -9684,13 +9692,13 @@ var Paper = function (props) {
|
|
|
9684
9692
|
var zoomRef = useRef(zoom);
|
|
9685
9693
|
var paperContainerRef = React.useRef(null);
|
|
9686
9694
|
var tempLinkRef = useRef(tempLink); //Cache tempLink to avoid re-render when tempLink changed
|
|
9687
|
-
|
|
9695
|
+
//const elementsRef = useRef<IElementState[]>([]); //Cache elements to avoid re-render when elements changed
|
|
9688
9696
|
var linksRef = useRef(links); //Cache links to avoid re-render when links changed
|
|
9689
9697
|
var textsRef = useRef(texts); //Cache texts to avoid re-render when texts changed
|
|
9690
9698
|
var size = props.size;
|
|
9691
9699
|
var onPortMoved = props.onPortMoved, onPortSelected = props.onPortSelected, onPortMouseDown = props.onPortMouseDown, onPortMouseUp = props.onPortMouseUp,
|
|
9692
9700
|
//onPortsChanged,
|
|
9693
|
-
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, onElementMoving = props.onElementMoving, manuallySelectElementHandler = props.manuallySelectElementHandler, manuallyTriggerDraggingElementHandler = props.manuallyTriggerDraggingElementHandler, manuallyTriggerStartedLinkingHandler = props.manuallyTriggerStartedLinkingHandler;
|
|
9701
|
+
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, manuallyTriggerRenderElementsHandler = props.manuallyTriggerRenderElementsHandler, manuallyTriggerRenderElementHandler = props.manuallyTriggerRenderElementHandler, manuallyTriggerRenderPortHandler = props.manuallyTriggerRenderPortHandler, onCreatingPortByLinking = props.onCreatingPortByLinking, onCreatingLink = props.onCreatingLink, onElementMoving = props.onElementMoving, manuallySelectElementHandler = props.manuallySelectElementHandler, manuallyTriggerDraggingElementHandler = props.manuallyTriggerDraggingElementHandler, manuallyTriggerStartedLinkingHandler = props.manuallyTriggerStartedLinkingHandler;
|
|
9694
9702
|
var handleElementsState = useCallback(function (elements) {
|
|
9695
9703
|
var elementsInTree = convertElementsToTree(elements);
|
|
9696
9704
|
setElementsState({ elements: __spreadArray([], elements, true), elementsInTree: elementsInTree });
|
|
@@ -9711,6 +9719,17 @@ var Paper = function (props) {
|
|
|
9711
9719
|
useEffect(function () {
|
|
9712
9720
|
setTexts(__spreadArray([], props.texts, true));
|
|
9713
9721
|
}, [props.texts]);
|
|
9722
|
+
useEffect(function () {
|
|
9723
|
+
var off = manuallyTriggerRenderElementsHandler(function () {
|
|
9724
|
+
elementsState.elements.forEach(function (element) {
|
|
9725
|
+
element.version = (element.version || 0) + 1;
|
|
9726
|
+
});
|
|
9727
|
+
handleElementsState(elementsState.elements);
|
|
9728
|
+
});
|
|
9729
|
+
return function () {
|
|
9730
|
+
off();
|
|
9731
|
+
};
|
|
9732
|
+
}, [elementsState.elements, handleElementsState, manuallyTriggerRenderElementsHandler]);
|
|
9714
9733
|
useEffect(function () {
|
|
9715
9734
|
var off = manuallyTriggerRenderElementHandler(function (elementId) {
|
|
9716
9735
|
//find the element
|
|
@@ -9835,7 +9854,7 @@ var Paper = function (props) {
|
|
|
9835
9854
|
useEffect(function () {
|
|
9836
9855
|
//Listen a new text added, then re-render the element component
|
|
9837
9856
|
//TODO: to be moved to Element component
|
|
9838
|
-
var addedTextCancelers =
|
|
9857
|
+
var addedTextCancelers = elementsState.elements.map(function (element) {
|
|
9839
9858
|
var _a;
|
|
9840
9859
|
return (_a = element.onAddedText) === null || _a === void 0 ? void 0 : _a.call(element, function (newText) {
|
|
9841
9860
|
logger.info("A new text has been added to element ".concat(element.id));
|
|
@@ -9844,7 +9863,7 @@ var Paper = function (props) {
|
|
|
9844
9863
|
});
|
|
9845
9864
|
// Listen a text deleted, then re-render the element component
|
|
9846
9865
|
//TODO: to be moved to Element component
|
|
9847
|
-
var deletedTextCancelers =
|
|
9866
|
+
var deletedTextCancelers = elementsState.elements.map(function (element) {
|
|
9848
9867
|
var _a;
|
|
9849
9868
|
return (_a = element.onDeletedText) === null || _a === void 0 ? void 0 : _a.call(element, function (deletedTextId) {
|
|
9850
9869
|
logger.info("A text has been deleted from element ".concat(element.id));
|
|
@@ -10070,7 +10089,6 @@ var Paper = function (props) {
|
|
|
10070
10089
|
linksRef.current[updatedLinkIndex].points = points;
|
|
10071
10090
|
}, []);
|
|
10072
10091
|
var handlePortMoved = useCallback(function (port, elementId, oldPosition, newPosition) {
|
|
10073
|
-
var _a;
|
|
10074
10092
|
var element = elementsState.elements.find(function (e) { return e.id === elementId; });
|
|
10075
10093
|
if (element) {
|
|
10076
10094
|
//set links equals a clone links to re-render links with new position
|
|
@@ -10111,23 +10129,23 @@ var Paper = function (props) {
|
|
|
10111
10129
|
//To avoid re-render
|
|
10112
10130
|
// setElements(prev => {
|
|
10113
10131
|
// const newElements = [...prev]
|
|
10114
|
-
|
|
10115
|
-
if (updatedElement) {
|
|
10116
|
-
|
|
10117
|
-
|
|
10118
|
-
|
|
10119
|
-
|
|
10120
|
-
|
|
10121
|
-
|
|
10122
|
-
}
|
|
10123
|
-
rerenderWhenAnyElementChanged();
|
|
10132
|
+
// const updatedElement = elementsState.elements.find(e => e.id === elementId);
|
|
10133
|
+
// if (updatedElement) {
|
|
10134
|
+
// updatedElement.ports = updatedElement.ports?.map(p => {
|
|
10135
|
+
// if (p.id === port.id) {
|
|
10136
|
+
// p.position = newPosition
|
|
10137
|
+
// }
|
|
10138
|
+
// return p
|
|
10139
|
+
// });
|
|
10140
|
+
// }
|
|
10141
|
+
// rerenderWhenAnyElementChanged();
|
|
10124
10142
|
// return newElements
|
|
10125
10143
|
// });
|
|
10126
10144
|
if (onPortMoved) {
|
|
10127
10145
|
onPortMoved(newPosition, port, element);
|
|
10128
10146
|
}
|
|
10129
10147
|
}
|
|
10130
|
-
}, [onPortMoved, elementsState
|
|
10148
|
+
}, [onPortMoved, elementsState]);
|
|
10131
10149
|
useEffect(function () {
|
|
10132
10150
|
//on port manually trigger render
|
|
10133
10151
|
var off = manuallyTriggerRenderPortHandler(function (portId, elementId) {
|
|
@@ -10656,7 +10674,7 @@ var Editor = function (_a) {
|
|
|
10656
10674
|
React.createElement(ZoomContextProvider, null,
|
|
10657
10675
|
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,
|
|
10658
10676
|
//onPortsChanged={handlePortsChanged}
|
|
10659
|
-
onPortContextMenu: handlePortContextMenu, onElementContextMenu: handleElementContextMenu, onElementMoved: handleElementMoved, onElementResized: handleElementResized, onElementSelected: handleElementSelected, onElementMouseLeave: handleElementMouseLeave, onElementMouseMove: handleElementMouseMove, onElementMouseDown: handleElementMouseDown, onElementMouseUp: handleElementMouseUp, onElementDeleted: handleElementRemoved, onElementsChanged: handleElementsChanged, onCreatingLink: handleOnCreatingLink, onElementMoving: handleOnElementMoving, 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) }))));
|
|
10677
|
+
onPortContextMenu: handlePortContextMenu, onElementContextMenu: handleElementContextMenu, onElementMoved: handleElementMoved, onElementResized: handleElementResized, onElementSelected: handleElementSelected, onElementMouseLeave: handleElementMouseLeave, onElementMouseMove: handleElementMouseMove, onElementMouseDown: handleElementMouseDown, onElementMouseUp: handleElementMouseUp, onElementDeleted: handleElementRemoved, onElementsChanged: handleElementsChanged, onCreatingLink: handleOnCreatingLink, onElementMoving: handleOnElementMoving, onCreatingPortByLinking: handleOnCreatingPortByLinking, onLinkSelected: handleLinkSelected, onLinksChanged: handleLinksChanged, onTextSelected: handleTextSelected, onTextsChanged: handleTextsChanged, onPaperMouseMoved: handlePaperMouseMoved, onPaperMouseUp: handlePaperMouseUp, onPaperMouseDown: handlePaperMouseDown, manuallyTriggerRenderElementsHandler: editorContext.manuallyTriggerRenderElementsHandler.bind(editorContext), 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) }))));
|
|
10660
10678
|
};
|
|
10661
10679
|
|
|
10662
10680
|
export { Circle as CircleRC, Crescent as CrescentRC, CustomShape as CustomShapeRC, EditorContext, Element$2 as Element, ElementLink$1 as ElementLink, ElementLink as ElementLinkRC, Port$1 as Port, Port as PortRC, PositioningAnchor, Rectangle as RectangleRC, RectangularFrame as RectangularFrameRC, ResizingDirection, ShapeWrapper as ShapeWrapperRC, SubObjectDirection, Text$2 as Text, TextAlign, Text$1 as TextRC, addPointToList, automationAddPointsToLink, calculateAngleWithOx, checkPointContainsPolygon, checkPositionOnLine, checkSamePosition, configureLogger, correctPortPositionInElement, createSmoothPathString, Editor as default, degreeToRadian, diamondEdgeInsideSquare, dist, findNearestPointOnSegment, findNearestPosition, findNearestProjectedPoint, generateSubstitutePosition, generateUniqueId, getAbsolutePosition, getCurvePathData, getElementRotationInfo, getFirstIntersection, getFourVertexesOfBBoxFromElement, getIntersectionPositions, getPointsFromPathData, getPointsFromPathElement, getPortAbsolutePosition, getRectangleCorners, getRotatedRectangleCoordinates, getRotatedSVGBBox, getSVGBBoxOutsideTransformedParent, makePolygonOfElement, pathDataToD, removeDuplicatePosition, transformAbsPositionToElementRelativePosition, transformAbsPositionToRelativePositionInsideElement, windowsPositionToPaperPosition };
|