orcasvn-react-diagrams 0.1.39 → 0.1.40

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
@@ -7717,12 +7717,42 @@ var getFourVertexesOfBBoxFromElement = function (element) {
7717
7717
  //get absolute position of element
7718
7718
  var getAbsolutePosition = function (element) {
7719
7719
  var parentElement = element.parentElement;
7720
+ var elemenetPositionWithTopLeftAnchor = {
7721
+ x: element.position.x,
7722
+ y: element.position.y,
7723
+ };
7724
+ if (element.positionAnchor === exports.PositioningAnchor.Center) {
7725
+ elemenetPositionWithTopLeftAnchor.x -= element.size.width / 2;
7726
+ elemenetPositionWithTopLeftAnchor.y -= element.size.height / 2;
7727
+ }
7728
+ if (!parentElement) {
7729
+ return __assign({}, elemenetPositionWithTopLeftAnchor);
7730
+ }
7731
+ var absoluteParentElement = getAbsolutePosition(parentElement);
7732
+ var x = elemenetPositionWithTopLeftAnchor.x + absoluteParentElement.x;
7733
+ var y = elemenetPositionWithTopLeftAnchor.y + absoluteParentElement.y;
7734
+ return {
7735
+ x: x,
7736
+ y: y,
7737
+ };
7738
+ };
7739
+ //get absolute position of element
7740
+ var getAnchorAdjustedAbsolutePosition = function (element) {
7741
+ var parentElement = element.parentElement;
7742
+ var elemenetPositionWithTopLeftAnchor = {
7743
+ x: element.position.x,
7744
+ y: element.position.y,
7745
+ };
7746
+ if (element.positionAnchor === exports.PositioningAnchor.Center) {
7747
+ elemenetPositionWithTopLeftAnchor.x -= element.size.width / 2;
7748
+ elemenetPositionWithTopLeftAnchor.y -= element.size.height / 2;
7749
+ }
7720
7750
  if (!parentElement) {
7721
- return __assign({}, element.position);
7751
+ return __assign({}, elemenetPositionWithTopLeftAnchor);
7722
7752
  }
7723
7753
  var absoluteParentElement = getAbsolutePosition(parentElement);
7724
- var x = element.position.x + absoluteParentElement.x;
7725
- var y = element.position.y + absoluteParentElement.y;
7754
+ var x = elemenetPositionWithTopLeftAnchor.x + absoluteParentElement.x;
7755
+ var y = elemenetPositionWithTopLeftAnchor.y + absoluteParentElement.y;
7726
7756
  return {
7727
7757
  x: x,
7728
7758
  y: y,
@@ -9805,16 +9835,16 @@ var Paper = function (props) {
9805
9835
  if (!link.targetElement || !link.targetPort)
9806
9836
  return null;
9807
9837
  return (React.createElement(ElementLink, { key: link.id, id: link.id, path: link.path, sourcePosition: {
9808
- x: getAbsolutePosition(link.sourceElement).x + link.sourcePort.position.x,
9809
- y: getAbsolutePosition(link.sourceElement).y + link.sourcePort.position.y
9838
+ x: getAnchorAdjustedAbsolutePosition(link.sourceElement).x + link.sourcePort.position.x,
9839
+ y: getAnchorAdjustedAbsolutePosition(link.sourceElement).y + link.sourcePort.position.y
9810
9840
  }, targetPosition: {
9811
- x: getAbsolutePosition(link.targetElement).x + link.targetPort.position.x,
9812
- y: getAbsolutePosition(link.targetElement).y + link.targetPort.position.y
9841
+ x: getAnchorAdjustedAbsolutePosition(link.targetElement).x + link.targetPort.position.x,
9842
+ y: getAnchorAdjustedAbsolutePosition(link.targetElement).y + link.targetPort.position.y
9813
9843
  }, points: link.points, onPathChanged: handlePathChange, onClickDelete: handleClickLinkDelete(link, index), onSelected: function () { return handleSelectLink(link); }, onDeselected: function () { return handleDeselectLink(); }, container: paperContainerRef.current, markerStart: link.markerStart, markerEnd: link.markerEnd, markerDistanceFromPort: link.markerDistanceFromPort, markerSize: link.markerSize, label: link.label, sourceLabel: link.sourceLabel, targetLabel: link.targetLabel, onLabelMoved: onLabelMoved(index), onLabelResized: onLabelResized(index), onLabelContentChanged: onLabelContentChanged(index) }));
9814
9844
  }),
9815
9845
  (tempLink === null || tempLink === void 0 ? void 0 : tempLink.tempTargetPosition) && React.createElement(ElementLink, { id: tempLink.id, points: tempLink.points, sourcePosition: {
9816
- x: getAbsolutePosition(tempLink.sourceElement).x + tempLink.sourcePort.position.x,
9817
- y: getAbsolutePosition(tempLink.sourceElement).y + tempLink.sourcePort.position.y
9846
+ x: getAnchorAdjustedAbsolutePosition(tempLink.sourceElement).x + tempLink.sourcePort.position.x,
9847
+ y: getAnchorAdjustedAbsolutePosition(tempLink.sourceElement).y + tempLink.sourcePort.position.y
9818
9848
  }, targetPosition: tempLink.tempTargetPosition, container: paperContainerRef.current, markerStart: tempLink.markerStart, markerEnd: tempLink.markerEnd, markerDistanceFromPort: tempLink.markerDistanceFromPort, markerSize: tempLink.markerSize }),
9819
9849
  texts.map(function (text, index) { return (React.createElement(Text$1, { key: text.id, id: text.id, x: text.position.x, y: text.position.y, width: text.size.width, height: text.size.height, editable: text.editable, fontSize: text.fontSize, border: text.border, container: paperContainerRef.current, content: text.content, align: text.align, onSelected: function () {
9820
9850
  setSelectedText(text);
@@ -9964,6 +9994,7 @@ exports.findNearestProjectedPoint = findNearestProjectedPoint;
9964
9994
  exports.generateSubstitutePosition = generateSubstitutePosition;
9965
9995
  exports.generateUniqueId = generateUniqueId;
9966
9996
  exports.getAbsolutePosition = getAbsolutePosition;
9997
+ exports.getAnchorAdjustedAbsolutePosition = getAnchorAdjustedAbsolutePosition;
9967
9998
  exports.getCurvePathData = getCurvePathData;
9968
9999
  exports.getElementRotationInfo = getElementRotationInfo;
9969
10000
  exports.getFirstIntersection = getFirstIntersection;
@@ -48,6 +48,7 @@ export declare const generateSubstitutePosition: (intersectedPosition: IPosition
48
48
  export declare const getRelativePosition: (clientPosition: IPosition, relativeElement: Element) => IPosition;
49
49
  export declare const getFourVertexesOfBBoxFromElement: (element: IElement) => IPosition[];
50
50
  export declare const getAbsolutePosition: (element: IElement) => IPosition;
51
+ export declare const getAnchorAdjustedAbsolutePosition: (element: IElement) => IPosition;
51
52
  export declare const getPortAbsolutePosition: (port: IPort, element: IElement) => IPosition;
52
53
  export declare const transformAbsPositionToElementRelativePosition: (position: IPosition, element: IElement) => IPosition;
53
54
  export declare const transformAbsPositionToRelativePositionInsideElement: (absolutePosition: IPosition, parentAbsolutePosition?: IPosition) => IPosition;
package/dist/esm/index.js CHANGED
@@ -7713,12 +7713,42 @@ var getFourVertexesOfBBoxFromElement = function (element) {
7713
7713
  //get absolute position of element
7714
7714
  var getAbsolutePosition = function (element) {
7715
7715
  var parentElement = element.parentElement;
7716
+ var elemenetPositionWithTopLeftAnchor = {
7717
+ x: element.position.x,
7718
+ y: element.position.y,
7719
+ };
7720
+ if (element.positionAnchor === PositioningAnchor.Center) {
7721
+ elemenetPositionWithTopLeftAnchor.x -= element.size.width / 2;
7722
+ elemenetPositionWithTopLeftAnchor.y -= element.size.height / 2;
7723
+ }
7724
+ if (!parentElement) {
7725
+ return __assign({}, elemenetPositionWithTopLeftAnchor);
7726
+ }
7727
+ var absoluteParentElement = getAbsolutePosition(parentElement);
7728
+ var x = elemenetPositionWithTopLeftAnchor.x + absoluteParentElement.x;
7729
+ var y = elemenetPositionWithTopLeftAnchor.y + absoluteParentElement.y;
7730
+ return {
7731
+ x: x,
7732
+ y: y,
7733
+ };
7734
+ };
7735
+ //get absolute position of element
7736
+ var getAnchorAdjustedAbsolutePosition = function (element) {
7737
+ var parentElement = element.parentElement;
7738
+ var elemenetPositionWithTopLeftAnchor = {
7739
+ x: element.position.x,
7740
+ y: element.position.y,
7741
+ };
7742
+ if (element.positionAnchor === PositioningAnchor.Center) {
7743
+ elemenetPositionWithTopLeftAnchor.x -= element.size.width / 2;
7744
+ elemenetPositionWithTopLeftAnchor.y -= element.size.height / 2;
7745
+ }
7716
7746
  if (!parentElement) {
7717
- return __assign({}, element.position);
7747
+ return __assign({}, elemenetPositionWithTopLeftAnchor);
7718
7748
  }
7719
7749
  var absoluteParentElement = getAbsolutePosition(parentElement);
7720
- var x = element.position.x + absoluteParentElement.x;
7721
- var y = element.position.y + absoluteParentElement.y;
7750
+ var x = elemenetPositionWithTopLeftAnchor.x + absoluteParentElement.x;
7751
+ var y = elemenetPositionWithTopLeftAnchor.y + absoluteParentElement.y;
7722
7752
  return {
7723
7753
  x: x,
7724
7754
  y: y,
@@ -9801,16 +9831,16 @@ var Paper = function (props) {
9801
9831
  if (!link.targetElement || !link.targetPort)
9802
9832
  return null;
9803
9833
  return (React.createElement(ElementLink, { key: link.id, id: link.id, path: link.path, sourcePosition: {
9804
- x: getAbsolutePosition(link.sourceElement).x + link.sourcePort.position.x,
9805
- y: getAbsolutePosition(link.sourceElement).y + link.sourcePort.position.y
9834
+ x: getAnchorAdjustedAbsolutePosition(link.sourceElement).x + link.sourcePort.position.x,
9835
+ y: getAnchorAdjustedAbsolutePosition(link.sourceElement).y + link.sourcePort.position.y
9806
9836
  }, targetPosition: {
9807
- x: getAbsolutePosition(link.targetElement).x + link.targetPort.position.x,
9808
- y: getAbsolutePosition(link.targetElement).y + link.targetPort.position.y
9837
+ x: getAnchorAdjustedAbsolutePosition(link.targetElement).x + link.targetPort.position.x,
9838
+ y: getAnchorAdjustedAbsolutePosition(link.targetElement).y + link.targetPort.position.y
9809
9839
  }, points: link.points, onPathChanged: handlePathChange, onClickDelete: handleClickLinkDelete(link, index), onSelected: function () { return handleSelectLink(link); }, onDeselected: function () { return handleDeselectLink(); }, container: paperContainerRef.current, markerStart: link.markerStart, markerEnd: link.markerEnd, markerDistanceFromPort: link.markerDistanceFromPort, markerSize: link.markerSize, label: link.label, sourceLabel: link.sourceLabel, targetLabel: link.targetLabel, onLabelMoved: onLabelMoved(index), onLabelResized: onLabelResized(index), onLabelContentChanged: onLabelContentChanged(index) }));
9810
9840
  }),
9811
9841
  (tempLink === null || tempLink === void 0 ? void 0 : tempLink.tempTargetPosition) && React.createElement(ElementLink, { id: tempLink.id, points: tempLink.points, sourcePosition: {
9812
- x: getAbsolutePosition(tempLink.sourceElement).x + tempLink.sourcePort.position.x,
9813
- y: getAbsolutePosition(tempLink.sourceElement).y + tempLink.sourcePort.position.y
9842
+ x: getAnchorAdjustedAbsolutePosition(tempLink.sourceElement).x + tempLink.sourcePort.position.x,
9843
+ y: getAnchorAdjustedAbsolutePosition(tempLink.sourceElement).y + tempLink.sourcePort.position.y
9814
9844
  }, targetPosition: tempLink.tempTargetPosition, container: paperContainerRef.current, markerStart: tempLink.markerStart, markerEnd: tempLink.markerEnd, markerDistanceFromPort: tempLink.markerDistanceFromPort, markerSize: tempLink.markerSize }),
9815
9845
  texts.map(function (text, index) { return (React.createElement(Text$1, { key: text.id, id: text.id, x: text.position.x, y: text.position.y, width: text.size.width, height: text.size.height, editable: text.editable, fontSize: text.fontSize, border: text.border, container: paperContainerRef.current, content: text.content, align: text.align, onSelected: function () {
9816
9846
  setSelectedText(text);
@@ -9928,5 +9958,5 @@ var Editor = function (_a) {
9928
9958
  return (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, onElementContextMenu: handleElementContextMenu, onElementMoved: handleElementMoved, onElementResized: handleElementResized, onElementSelected: handleElementSelected, onElementMouseLeave: handleElementMouseLeave, onElementMouseMove: handleElementMouseMove, onElementMouseUp: handleElementMouseUp, onElementsChanged: handleElementsChanged, onCreatingLink: handleOnCreatingLink, onCreatingPortByLinking: handleOnCreatingPortByLinking, onLinkSelected: handleLinkSelected, onLinksChanged: handleLinksChanged, onTextSelected: handleTextSelected, onTextsChanged: handleTextsChanged, onPaperMouseMoved: handlePaperMouseMoved, onPaperMouseUp: handlePaperMouseUp, onPaperMouseDown: handlePaperMouseDown, onManuallyTriggerRenderElement: editorContext.onManuallyTriggerRenderElement.bind(editorContext), onManuallyTriggerRenderPort: editorContext.onManuallyTriggerRenderPort.bind(editorContext) }));
9929
9959
  };
9930
9960
 
9931
- 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, calculateAngleWithOx, checkPointContainsPolygon, checkPositionOnLine, checkSamePosition, configureLogger, correctPortPositionInElement, createSmoothPathString, Editor as default, degreeToRadian, diamondEdgeInsideSquare, dist, findNearestPointOnSegment, findNearestPosition, findNearestProjectedPoint, generateSubstitutePosition, generateUniqueId, getAbsolutePosition, getCurvePathData, getElementRotationInfo, getFirstIntersection, getFourVertexesOfBBoxFromElement, getIntersectionPositions, getPortAbsolutePosition, getRectangleCorners, getRelativePosition, getRotatedRectangleCoordinates, getRotatedSVGBBox, getSVGBBoxOutsideTransformedParent, makePolygonOfElement, pathDataToD, removeDuplicatePosition, transformAbsPositionToElementRelativePosition, transformAbsPositionToRelativePositionInsideElement };
9961
+ 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, calculateAngleWithOx, checkPointContainsPolygon, checkPositionOnLine, checkSamePosition, configureLogger, correctPortPositionInElement, createSmoothPathString, Editor as default, degreeToRadian, diamondEdgeInsideSquare, dist, findNearestPointOnSegment, findNearestPosition, findNearestProjectedPoint, generateSubstitutePosition, generateUniqueId, getAbsolutePosition, getAnchorAdjustedAbsolutePosition, getCurvePathData, getElementRotationInfo, getFirstIntersection, getFourVertexesOfBBoxFromElement, getIntersectionPositions, getPortAbsolutePosition, getRectangleCorners, getRelativePosition, getRotatedRectangleCoordinates, getRotatedSVGBBox, getSVGBBoxOutsideTransformedParent, makePolygonOfElement, pathDataToD, removeDuplicatePosition, transformAbsPositionToElementRelativePosition, transformAbsPositionToRelativePositionInsideElement };
9932
9962
  //# sourceMappingURL=index.js.map