orcasvn-react-diagrams 0.1.78 → 0.1.80

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,17 @@ 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, parentElementId) {
946
+ EditorContext.prototype.removeElement = function (elementId) {
947
+ //find parent element id
948
+ var element = this.getElement(elementId);
949
+ var parentElement = element === null || element === void 0 ? void 0 : element.parentElement;
947
950
  this._elements = this._elements.filter(function (e) { return e.id !== elementId; });
951
+ //remove from parent element if parentElementId is provided
952
+ if (parentElement) {
953
+ parentElement.childrenElements = parentElement.childrenElements.filter(function (e) { return e.id !== elementId; });
954
+ }
948
955
  this._eventEmitter.emit(EVENT_EDITOR_CONTEXT_UPDATED);
949
- this.onElementRemovedHandler(elementId, parentElementId);
956
+ this.onElementRemovedHandler(elementId, parentElement === null || parentElement === void 0 ? void 0 : parentElement.id);
950
957
  };
951
958
  EditorContext.prototype.getLink = function (linkId) {
952
959
  return this._links.find(function (l) { return l.id === linkId; });
@@ -9900,13 +9907,15 @@ var Paper = function (props) {
9900
9907
  //Listen command delete selected for element
9901
9908
  React.useEffect(function () {
9902
9909
  var listener = paperEventEmitter.onCommandDeleteSelectedElement(function () {
9910
+ var _a;
9903
9911
  if (selectedElement && selectedElement.removable !== false) {
9912
+ var parentElementId = (_a = selectedElement.parentElement) === null || _a === void 0 ? void 0 : _a.id;
9904
9913
  selectedElement.parentElement = undefined; //Remove parent element to avoid memory leak. This will remove the element from the parent element's childrenElements array.
9905
9914
  var deletedChildElements = getChildOfElement(selectedElement);
9906
9915
  var deletedElementIds_1 = __spreadArray(__spreadArray([], deletedChildElements, true), [selectedElement], false).map(function (e) { return e.id; });
9907
9916
  var prevElements = elementsState.elements;
9908
9917
  var newElements = prevElements.filter(function (e) { return !deletedElementIds_1.includes(e.id); });
9909
- onElementDeleted === null || onElementDeleted === void 0 ? void 0 : onElementDeleted(selectedElement);
9918
+ onElementDeleted === null || onElementDeleted === void 0 ? void 0 : onElementDeleted(selectedElement, parentElementId);
9910
9919
  //Set state to re-render component
9911
9920
  handleElementsState(newElements);
9912
9921
  if (onElementsChanged) {
@@ -10674,9 +10683,8 @@ var Editor = function (_a) {
10674
10683
  var handlePaperMouseUp = React.useCallback(function (position) {
10675
10684
  editorContext.onPaperMouseUpHandler(position);
10676
10685
  }, [editorContext]);
10677
- var handleElementRemoved = React.useCallback(function (element) {
10678
- var _a;
10679
- editorContext.onElementRemovedHandler(element.id, (_a = element.parentElement) === null || _a === void 0 ? void 0 : _a.id);
10686
+ var handleElementRemoved = React.useCallback(function (element, parentElementId) {
10687
+ editorContext.onElementRemovedHandler(element.id, parentElementId);
10680
10688
  }, [editorContext]);
10681
10689
  return (React.createElement(EditorConfigurationContextProvider, { value: editorContext.configuration },
10682
10690
  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;
@@ -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, parentElementId?: string): void;
33
+ removeElement(elementId: string): void;
34
34
  getLink(linkId: string): IElementLink | undefined;
35
35
  addLink(link: IElementLink): void;
36
36
  removeLink(linkId: string): void;
package/dist/esm/index.js CHANGED
@@ -939,10 +939,17 @@ 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, parentElementId) {
942
+ EditorContext.prototype.removeElement = function (elementId) {
943
+ //find parent element id
944
+ var element = this.getElement(elementId);
945
+ var parentElement = element === null || element === void 0 ? void 0 : element.parentElement;
943
946
  this._elements = this._elements.filter(function (e) { return e.id !== elementId; });
947
+ //remove from parent element if parentElementId is provided
948
+ if (parentElement) {
949
+ parentElement.childrenElements = parentElement.childrenElements.filter(function (e) { return e.id !== elementId; });
950
+ }
944
951
  this._eventEmitter.emit(EVENT_EDITOR_CONTEXT_UPDATED);
945
- this.onElementRemovedHandler(elementId, parentElementId);
952
+ this.onElementRemovedHandler(elementId, parentElement === null || parentElement === void 0 ? void 0 : parentElement.id);
946
953
  };
947
954
  EditorContext.prototype.getLink = function (linkId) {
948
955
  return this._links.find(function (l) { return l.id === linkId; });
@@ -9896,13 +9903,15 @@ var Paper = function (props) {
9896
9903
  //Listen command delete selected for element
9897
9904
  useEffect(function () {
9898
9905
  var listener = paperEventEmitter.onCommandDeleteSelectedElement(function () {
9906
+ var _a;
9899
9907
  if (selectedElement && selectedElement.removable !== false) {
9908
+ var parentElementId = (_a = selectedElement.parentElement) === null || _a === void 0 ? void 0 : _a.id;
9900
9909
  selectedElement.parentElement = undefined; //Remove parent element to avoid memory leak. This will remove the element from the parent element's childrenElements array.
9901
9910
  var deletedChildElements = getChildOfElement(selectedElement);
9902
9911
  var deletedElementIds_1 = __spreadArray(__spreadArray([], deletedChildElements, true), [selectedElement], false).map(function (e) { return e.id; });
9903
9912
  var prevElements = elementsState.elements;
9904
9913
  var newElements = prevElements.filter(function (e) { return !deletedElementIds_1.includes(e.id); });
9905
- onElementDeleted === null || onElementDeleted === void 0 ? void 0 : onElementDeleted(selectedElement);
9914
+ onElementDeleted === null || onElementDeleted === void 0 ? void 0 : onElementDeleted(selectedElement, parentElementId);
9906
9915
  //Set state to re-render component
9907
9916
  handleElementsState(newElements);
9908
9917
  if (onElementsChanged) {
@@ -10670,9 +10679,8 @@ var Editor = function (_a) {
10670
10679
  var handlePaperMouseUp = useCallback(function (position) {
10671
10680
  editorContext.onPaperMouseUpHandler(position);
10672
10681
  }, [editorContext]);
10673
- var handleElementRemoved = useCallback(function (element) {
10674
- var _a;
10675
- editorContext.onElementRemovedHandler(element.id, (_a = element.parentElement) === null || _a === void 0 ? void 0 : _a.id);
10682
+ var handleElementRemoved = useCallback(function (element, parentElementId) {
10683
+ editorContext.onElementRemovedHandler(element.id, parentElementId);
10676
10684
  }, [editorContext]);
10677
10685
  return (React.createElement(EditorConfigurationContextProvider, { value: editorContext.configuration },
10678
10686
  React.createElement(ZoomContextProvider, null,