orcasvn-react-diagrams 0.1.77 → 0.1.79

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 CHANGED
@@ -943,10 +943,10 @@ var EditorContext = /** @class */ (function () {
943
943
  this._eventEmitter.emit(EVENT_EDITOR_CONTEXT_UPDATED);
944
944
  this.onElementAddedHandler(element);
945
945
  };
946
- EditorContext.prototype.removeElement = function (elementId) {
946
+ EditorContext.prototype.removeElement = function (elementId, parentElementId) {
947
947
  this._elements = this._elements.filter(function (e) { return e.id !== elementId; });
948
948
  this._eventEmitter.emit(EVENT_EDITOR_CONTEXT_UPDATED);
949
- this.onElementRemovedHandler(elementId);
949
+ this.onElementRemovedHandler(elementId, parentElementId);
950
950
  };
951
951
  EditorContext.prototype.getLink = function (linkId) {
952
952
  return this._links.find(function (l) { return l.id === linkId; });
@@ -1108,8 +1108,8 @@ var EditorContext = /** @class */ (function () {
1108
1108
  return this.addEventListener(EVENT_ELEMENT_REMOVED, callback);
1109
1109
  };
1110
1110
  /** @internal */
1111
- EditorContext.prototype.onElementRemovedHandler = function (elementId) {
1112
- this._eventEmitter.emit(EVENT_ELEMENT_REMOVED, elementId);
1111
+ EditorContext.prototype.onElementRemovedHandler = function (elementId, parentElementId) {
1112
+ this._eventEmitter.emit(EVENT_ELEMENT_REMOVED, elementId, parentElementId);
1113
1113
  };
1114
1114
  EditorContext.prototype.onLinkSelected = function (callback) {
1115
1115
  return this.addEventListener(EVENT_LINK_SELECTED, callback);
@@ -1132,7 +1132,7 @@ var EditorContext = /** @class */ (function () {
1132
1132
  EditorContext.prototype.manuallyTriggerRenderElementHandler = function (callback) {
1133
1133
  return this.addEventListener(EVENT_MANUALLY_RENDER_ELEMENT, callback);
1134
1134
  };
1135
- EditorContext.prototype.triggerRenderElements = function () {
1135
+ EditorContext.prototype.triggerRenderElements = function (elementIds) {
1136
1136
  this._eventEmitter.emit(EVENT_MANUALLY_RENDER_ELEMENTS);
1137
1137
  };
1138
1138
  /** @internal */
@@ -9726,9 +9726,11 @@ var Paper = function (props) {
9726
9726
  setTexts(__spreadArray([], props.texts, true));
9727
9727
  }, [props.texts]);
9728
9728
  React.useEffect(function () {
9729
- var off = manuallyTriggerRenderElementsHandler(function () {
9729
+ var off = manuallyTriggerRenderElementsHandler(function (elementIds) {
9730
9730
  elementsState.elements.forEach(function (element) {
9731
- element.version = (element.version || 0) + 1;
9731
+ if (!elementIds || elementIds.includes(element.id)) {
9732
+ element.version = (element.version || 0) + 1;
9733
+ }
9732
9734
  });
9733
9735
  handleElementsState(elementsState.elements);
9734
9736
  });
@@ -9898,13 +9900,15 @@ var Paper = function (props) {
9898
9900
  //Listen command delete selected for element
9899
9901
  React.useEffect(function () {
9900
9902
  var listener = paperEventEmitter.onCommandDeleteSelectedElement(function () {
9903
+ var _a;
9901
9904
  if (selectedElement && selectedElement.removable !== false) {
9905
+ var parentElementId = (_a = selectedElement.parentElement) === null || _a === void 0 ? void 0 : _a.id;
9902
9906
  selectedElement.parentElement = undefined; //Remove parent element to avoid memory leak. This will remove the element from the parent element's childrenElements array.
9903
9907
  var deletedChildElements = getChildOfElement(selectedElement);
9904
9908
  var deletedElementIds_1 = __spreadArray(__spreadArray([], deletedChildElements, true), [selectedElement], false).map(function (e) { return e.id; });
9905
9909
  var prevElements = elementsState.elements;
9906
9910
  var newElements = prevElements.filter(function (e) { return !deletedElementIds_1.includes(e.id); });
9907
- onElementDeleted === null || onElementDeleted === void 0 ? void 0 : onElementDeleted(selectedElement);
9911
+ onElementDeleted === null || onElementDeleted === void 0 ? void 0 : onElementDeleted(selectedElement, parentElementId);
9908
9912
  //Set state to re-render component
9909
9913
  handleElementsState(newElements);
9910
9914
  if (onElementsChanged) {
@@ -10672,9 +10676,8 @@ var Editor = function (_a) {
10672
10676
  var handlePaperMouseUp = React.useCallback(function (position) {
10673
10677
  editorContext.onPaperMouseUpHandler(position);
10674
10678
  }, [editorContext]);
10675
- var handleElementRemoved = React.useCallback(function (element) {
10676
- var _a;
10677
- editorContext.onElementRemovedHandler(element.id, (_a = element.parentElement) === null || _a === void 0 ? void 0 : _a.id);
10679
+ var handleElementRemoved = React.useCallback(function (element, parentElementId) {
10680
+ editorContext.onElementRemovedHandler(element.id, parentElementId);
10678
10681
  }, [editorContext]);
10679
10682
  return (React.createElement(EditorConfigurationContextProvider, { value: editorContext.configuration },
10680
10683
  React.createElement(ZoomContextProvider, null,
@@ -26,7 +26,7 @@ interface PaperProps {
26
26
  onElementMoved?: (relativePosition: IPosition, element: IElement, paperPosition: IPosition) => void;
27
27
  onElementResized?: (size: ISize, element: IElement) => void;
28
28
  onElementSelected?: (element: IElement) => void;
29
- onElementDeleted?: (element: IElement) => void;
29
+ onElementDeleted?: (element: IElement, parentElementId: string | undefined) => void;
30
30
  onElementMouseDown?: (ev: React.MouseEvent, element: IElement, paperPosition: IPosition) => void;
31
31
  onElementMouseUp?: (ev: React.MouseEvent, element: IElement, paperPosition: IPosition) => void;
32
32
  onElementMouseMove?: (ev: React.MouseEvent, element: IElement, paperPosition: IPosition) => void;
@@ -36,7 +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
+ manuallyTriggerRenderElementsHandler: (callback: (elementIds?: string[]) => void) => () => void;
40
40
  manuallyTriggerRenderElementHandler: (callback: (elementId: string) => void) => () => void;
41
41
  manuallyTriggerRenderPortHandler: (callback: (portId: string, elementId: string) => void) => () => void;
42
42
  onCreatingPortByLinking?: (sourceElement: IElement, sourcePort: IPort, targetElement: IElement, position: IPosition) => IPort | null;
@@ -35,7 +35,7 @@ export default interface IEditorContext {
35
35
  onElementMouseUp: (callback: (ev: React.MouseEvent, element: IElement, paperPosition: IPosition) => void) => (() => void);
36
36
  onElementMouseDown: (callback: (ev: React.MouseEvent, element: IElement, paperPosition: IPosition) => void) => (() => void);
37
37
  onElementAdded: (callback: (element: IElement) => void) => (() => void);
38
- onElementRemoved: (callback: (elementId: string) => void) => (() => void);
38
+ onElementRemoved: (callback: (elementId: string, parentElementId: string | undefined) => void) => (() => void);
39
39
  onLinkSelected: (callback: (link: IElementLink) => void) => (() => void);
40
40
  onTextSelected: (callback: (text: IText) => void) => (() => void);
41
41
  getElement(elementId: string): IElement | undefined;
@@ -49,7 +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
+ triggerRenderElements(elementIds?: string[]): void;
53
53
  triggerRenderElement(elementId: string): void;
54
54
  triggerRenderPort(portId: string, elementId: string): void;
55
55
  triggerStartedLinking(sourceElement: IElement, sourcePort: IPort): void;
@@ -30,7 +30,7 @@ export declare class EditorContext implements IEditorContext {
30
30
  get configuration(): IEditorConfiguration;
31
31
  getElement(elementId: string): IElement | undefined;
32
32
  addElement(element: IElement): void;
33
- removeElement(elementId: string): void;
33
+ removeElement(elementId: string, parentElementId?: string): void;
34
34
  getLink(linkId: string): IElementLink | undefined;
35
35
  addLink(link: IElementLink): void;
36
36
  removeLink(linkId: string): void;
@@ -55,11 +55,11 @@ export declare class EditorContext implements IEditorContext {
55
55
  onElementMouseUp(callback: (ev: React.MouseEvent, element: IElement, paperPosition: IPosition) => void): () => void;
56
56
  onElementMouseDown(callback: (ev: React.MouseEvent, element: IElement, paperPosition: IPosition) => void): () => void;
57
57
  onElementAdded(callback: (element: IElement) => void): () => void;
58
- onElementRemoved(callback: (elementId: string) => void): () => void;
58
+ onElementRemoved(callback: (elementId: string, parentElementId: string | undefined) => void): () => void;
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
+ triggerRenderElements(elementIds?: string[]): void;
63
63
  triggerRenderPort(portId: string, elementId: string): void;
64
64
  setSelectedElement(element: IElement | null): void;
65
65
  triggerDraggingElement(element: IElement): void;
package/dist/esm/index.js CHANGED
@@ -939,10 +939,10 @@ var EditorContext = /** @class */ (function () {
939
939
  this._eventEmitter.emit(EVENT_EDITOR_CONTEXT_UPDATED);
940
940
  this.onElementAddedHandler(element);
941
941
  };
942
- EditorContext.prototype.removeElement = function (elementId) {
942
+ EditorContext.prototype.removeElement = function (elementId, parentElementId) {
943
943
  this._elements = this._elements.filter(function (e) { return e.id !== elementId; });
944
944
  this._eventEmitter.emit(EVENT_EDITOR_CONTEXT_UPDATED);
945
- this.onElementRemovedHandler(elementId);
945
+ this.onElementRemovedHandler(elementId, parentElementId);
946
946
  };
947
947
  EditorContext.prototype.getLink = function (linkId) {
948
948
  return this._links.find(function (l) { return l.id === linkId; });
@@ -1104,8 +1104,8 @@ var EditorContext = /** @class */ (function () {
1104
1104
  return this.addEventListener(EVENT_ELEMENT_REMOVED, callback);
1105
1105
  };
1106
1106
  /** @internal */
1107
- EditorContext.prototype.onElementRemovedHandler = function (elementId) {
1108
- this._eventEmitter.emit(EVENT_ELEMENT_REMOVED, elementId);
1107
+ EditorContext.prototype.onElementRemovedHandler = function (elementId, parentElementId) {
1108
+ this._eventEmitter.emit(EVENT_ELEMENT_REMOVED, elementId, parentElementId);
1109
1109
  };
1110
1110
  EditorContext.prototype.onLinkSelected = function (callback) {
1111
1111
  return this.addEventListener(EVENT_LINK_SELECTED, callback);
@@ -1128,7 +1128,7 @@ var EditorContext = /** @class */ (function () {
1128
1128
  EditorContext.prototype.manuallyTriggerRenderElementHandler = function (callback) {
1129
1129
  return this.addEventListener(EVENT_MANUALLY_RENDER_ELEMENT, callback);
1130
1130
  };
1131
- EditorContext.prototype.triggerRenderElements = function () {
1131
+ EditorContext.prototype.triggerRenderElements = function (elementIds) {
1132
1132
  this._eventEmitter.emit(EVENT_MANUALLY_RENDER_ELEMENTS);
1133
1133
  };
1134
1134
  /** @internal */
@@ -9722,9 +9722,11 @@ var Paper = function (props) {
9722
9722
  setTexts(__spreadArray([], props.texts, true));
9723
9723
  }, [props.texts]);
9724
9724
  useEffect(function () {
9725
- var off = manuallyTriggerRenderElementsHandler(function () {
9725
+ var off = manuallyTriggerRenderElementsHandler(function (elementIds) {
9726
9726
  elementsState.elements.forEach(function (element) {
9727
- element.version = (element.version || 0) + 1;
9727
+ if (!elementIds || elementIds.includes(element.id)) {
9728
+ element.version = (element.version || 0) + 1;
9729
+ }
9728
9730
  });
9729
9731
  handleElementsState(elementsState.elements);
9730
9732
  });
@@ -9894,13 +9896,15 @@ var Paper = function (props) {
9894
9896
  //Listen command delete selected for element
9895
9897
  useEffect(function () {
9896
9898
  var listener = paperEventEmitter.onCommandDeleteSelectedElement(function () {
9899
+ var _a;
9897
9900
  if (selectedElement && selectedElement.removable !== false) {
9901
+ var parentElementId = (_a = selectedElement.parentElement) === null || _a === void 0 ? void 0 : _a.id;
9898
9902
  selectedElement.parentElement = undefined; //Remove parent element to avoid memory leak. This will remove the element from the parent element's childrenElements array.
9899
9903
  var deletedChildElements = getChildOfElement(selectedElement);
9900
9904
  var deletedElementIds_1 = __spreadArray(__spreadArray([], deletedChildElements, true), [selectedElement], false).map(function (e) { return e.id; });
9901
9905
  var prevElements = elementsState.elements;
9902
9906
  var newElements = prevElements.filter(function (e) { return !deletedElementIds_1.includes(e.id); });
9903
- onElementDeleted === null || onElementDeleted === void 0 ? void 0 : onElementDeleted(selectedElement);
9907
+ onElementDeleted === null || onElementDeleted === void 0 ? void 0 : onElementDeleted(selectedElement, parentElementId);
9904
9908
  //Set state to re-render component
9905
9909
  handleElementsState(newElements);
9906
9910
  if (onElementsChanged) {
@@ -10668,9 +10672,8 @@ var Editor = function (_a) {
10668
10672
  var handlePaperMouseUp = useCallback(function (position) {
10669
10673
  editorContext.onPaperMouseUpHandler(position);
10670
10674
  }, [editorContext]);
10671
- var handleElementRemoved = useCallback(function (element) {
10672
- var _a;
10673
- editorContext.onElementRemovedHandler(element.id, (_a = element.parentElement) === null || _a === void 0 ? void 0 : _a.id);
10675
+ var handleElementRemoved = useCallback(function (element, parentElementId) {
10676
+ editorContext.onElementRemovedHandler(element.id, parentElementId);
10674
10677
  }, [editorContext]);
10675
10678
  return (React.createElement(EditorConfigurationContextProvider, { value: editorContext.configuration },
10676
10679
  React.createElement(ZoomContextProvider, null,