orcasvn-react-diagrams 0.1.38 → 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 +115 -77
- package/dist/cjs/types/utils/positionUtil.d.ts +1 -0
- package/dist/esm/index.js +115 -78
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/utils/positionUtil.d.ts +1 -0
- package/dist/index.d.ts +2 -1
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -7331,13 +7331,13 @@ var getElementRotationInfo = function (element) {
|
|
|
7331
7331
|
// //calculate a2 equal cos of rotation * width
|
|
7332
7332
|
// const a2 = Math.abs(Math.cos(rotationInRadians) * rectWidth);
|
|
7333
7333
|
// const a = a1 + a2;
|
|
7334
|
-
//
|
|
7334
|
+
// logger.info(`a1: ${a1}, a2: ${a2}, a: ${a}`);
|
|
7335
7335
|
// //calculate b1 equal cos of rotation * height
|
|
7336
7336
|
// const b1 = Math.abs(Math.cos(rotationInRadians) * rectHeight);
|
|
7337
7337
|
// //calculate b2 equal sin of rotation * width
|
|
7338
7338
|
// const b2 = Math.abs(Math.sin(rotationInRadians) * rectWidth);
|
|
7339
7339
|
// const b = b1 + b2;
|
|
7340
|
-
//
|
|
7340
|
+
// logger.info(`b1: ${b1}, b2: ${b2}, b: ${b}`);
|
|
7341
7341
|
// //const squareEdge = Math.max(rectWidth, rectHeight);
|
|
7342
7342
|
// return {x, y};
|
|
7343
7343
|
// return { x: x - (b - rectWidth) / 2, y: y - (a - rectHeight) / 2 };
|
|
@@ -7378,6 +7378,65 @@ function calculateAngleWithOx(pStart, pEnd) {
|
|
|
7378
7378
|
return angleInDegrees;
|
|
7379
7379
|
}
|
|
7380
7380
|
|
|
7381
|
+
var Logger = /** @class */ (function () {
|
|
7382
|
+
function Logger() {
|
|
7383
|
+
this.level = 'info';
|
|
7384
|
+
this.customLogger = null;
|
|
7385
|
+
}
|
|
7386
|
+
Logger.prototype.setLevel = function (level) {
|
|
7387
|
+
this.level = level;
|
|
7388
|
+
};
|
|
7389
|
+
Logger.prototype.setCustomLogger = function (logger) {
|
|
7390
|
+
this.customLogger = logger;
|
|
7391
|
+
};
|
|
7392
|
+
Logger.prototype.log = function (level, message) {
|
|
7393
|
+
var _a;
|
|
7394
|
+
var optionalParams = [];
|
|
7395
|
+
for (var _i = 2; _i < arguments.length; _i++) {
|
|
7396
|
+
optionalParams[_i - 2] = arguments[_i];
|
|
7397
|
+
}
|
|
7398
|
+
var levels = ['error', 'warn', 'info', 'debug'];
|
|
7399
|
+
if (this.level && levels.indexOf(level) <= levels.indexOf(this.level)) {
|
|
7400
|
+
if (this.customLogger) {
|
|
7401
|
+
this.customLogger.apply(this, __spreadArray([level, message], optionalParams, false));
|
|
7402
|
+
}
|
|
7403
|
+
else {
|
|
7404
|
+
console[level] ? (_a = console)[level].apply(_a, __spreadArray([message], optionalParams, false)) : console.log.apply(console, __spreadArray([message], optionalParams, false));
|
|
7405
|
+
}
|
|
7406
|
+
}
|
|
7407
|
+
};
|
|
7408
|
+
Logger.prototype.error = function (msg) {
|
|
7409
|
+
var optionalParams = [];
|
|
7410
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
7411
|
+
optionalParams[_i - 1] = arguments[_i];
|
|
7412
|
+
}
|
|
7413
|
+
this.log.apply(this, __spreadArray(['error', msg], optionalParams, false));
|
|
7414
|
+
};
|
|
7415
|
+
Logger.prototype.warn = function (msg) {
|
|
7416
|
+
var optionalParams = [];
|
|
7417
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
7418
|
+
optionalParams[_i - 1] = arguments[_i];
|
|
7419
|
+
}
|
|
7420
|
+
this.log.apply(this, __spreadArray(['warn', msg], optionalParams, false));
|
|
7421
|
+
};
|
|
7422
|
+
Logger.prototype.info = function (msg) {
|
|
7423
|
+
var optionalParams = [];
|
|
7424
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
7425
|
+
optionalParams[_i - 1] = arguments[_i];
|
|
7426
|
+
}
|
|
7427
|
+
this.log.apply(this, __spreadArray(['info', msg], optionalParams, false));
|
|
7428
|
+
};
|
|
7429
|
+
Logger.prototype.debug = function (msg) {
|
|
7430
|
+
var optionalParams = [];
|
|
7431
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
7432
|
+
optionalParams[_i - 1] = arguments[_i];
|
|
7433
|
+
}
|
|
7434
|
+
this.log.apply(this, __spreadArray(['debug', msg], optionalParams, false));
|
|
7435
|
+
};
|
|
7436
|
+
return Logger;
|
|
7437
|
+
}());
|
|
7438
|
+
var logger = new Logger();
|
|
7439
|
+
|
|
7381
7440
|
/**
|
|
7382
7441
|
* Check if position 1 is within the radius r of position 2
|
|
7383
7442
|
* @returns boolean
|
|
@@ -7658,12 +7717,42 @@ var getFourVertexesOfBBoxFromElement = function (element) {
|
|
|
7658
7717
|
//get absolute position of element
|
|
7659
7718
|
var getAbsolutePosition = function (element) {
|
|
7660
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
|
+
}
|
|
7661
7750
|
if (!parentElement) {
|
|
7662
|
-
return __assign({},
|
|
7751
|
+
return __assign({}, elemenetPositionWithTopLeftAnchor);
|
|
7663
7752
|
}
|
|
7664
7753
|
var absoluteParentElement = getAbsolutePosition(parentElement);
|
|
7665
|
-
var x =
|
|
7666
|
-
var y =
|
|
7754
|
+
var x = elemenetPositionWithTopLeftAnchor.x + absoluteParentElement.x;
|
|
7755
|
+
var y = elemenetPositionWithTopLeftAnchor.y + absoluteParentElement.y;
|
|
7667
7756
|
return {
|
|
7668
7757
|
x: x,
|
|
7669
7758
|
y: y,
|
|
@@ -7751,7 +7840,7 @@ var correctPortPositionInElement = function (elementRelativePosition, elementWid
|
|
|
7751
7840
|
[c, d],
|
|
7752
7841
|
[d, a]
|
|
7753
7842
|
];
|
|
7754
|
-
|
|
7843
|
+
logger.info("Port's moveable areas parsed from svg ".concat(portSlideRailSVGClassName), moveableAreas);
|
|
7755
7844
|
var newPosition_3 = normalizePortPositionOnMoveableAreas(moveableAreas, position);
|
|
7756
7845
|
if (newPosition_3) {
|
|
7757
7846
|
moveTo = newPosition_3;
|
|
@@ -8257,65 +8346,6 @@ var getRotatedSVGBBox = function (svgElement) {
|
|
|
8257
8346
|
}
|
|
8258
8347
|
};
|
|
8259
8348
|
|
|
8260
|
-
var Logger = /** @class */ (function () {
|
|
8261
|
-
function Logger() {
|
|
8262
|
-
this.level = 'info';
|
|
8263
|
-
this.customLogger = null;
|
|
8264
|
-
}
|
|
8265
|
-
Logger.prototype.setLevel = function (level) {
|
|
8266
|
-
this.level = level;
|
|
8267
|
-
};
|
|
8268
|
-
Logger.prototype.setCustomLogger = function (logger) {
|
|
8269
|
-
this.customLogger = logger;
|
|
8270
|
-
};
|
|
8271
|
-
Logger.prototype.log = function (level, message) {
|
|
8272
|
-
var _a;
|
|
8273
|
-
var optionalParams = [];
|
|
8274
|
-
for (var _i = 2; _i < arguments.length; _i++) {
|
|
8275
|
-
optionalParams[_i - 2] = arguments[_i];
|
|
8276
|
-
}
|
|
8277
|
-
var levels = ['error', 'warn', 'info', 'debug'];
|
|
8278
|
-
if (this.level && levels.indexOf(level) <= levels.indexOf(this.level)) {
|
|
8279
|
-
if (this.customLogger) {
|
|
8280
|
-
this.customLogger.apply(this, __spreadArray([level, message], optionalParams, false));
|
|
8281
|
-
}
|
|
8282
|
-
else {
|
|
8283
|
-
console[level] ? (_a = console)[level].apply(_a, __spreadArray([message], optionalParams, false)) : console.log.apply(console, __spreadArray([message], optionalParams, false));
|
|
8284
|
-
}
|
|
8285
|
-
}
|
|
8286
|
-
};
|
|
8287
|
-
Logger.prototype.error = function (msg) {
|
|
8288
|
-
var optionalParams = [];
|
|
8289
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
8290
|
-
optionalParams[_i - 1] = arguments[_i];
|
|
8291
|
-
}
|
|
8292
|
-
this.log.apply(this, __spreadArray(['error', msg], optionalParams, false));
|
|
8293
|
-
};
|
|
8294
|
-
Logger.prototype.warn = function (msg) {
|
|
8295
|
-
var optionalParams = [];
|
|
8296
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
8297
|
-
optionalParams[_i - 1] = arguments[_i];
|
|
8298
|
-
}
|
|
8299
|
-
this.log.apply(this, __spreadArray(['warn', msg], optionalParams, false));
|
|
8300
|
-
};
|
|
8301
|
-
Logger.prototype.info = function (msg) {
|
|
8302
|
-
var optionalParams = [];
|
|
8303
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
8304
|
-
optionalParams[_i - 1] = arguments[_i];
|
|
8305
|
-
}
|
|
8306
|
-
this.log.apply(this, __spreadArray(['info', msg], optionalParams, false));
|
|
8307
|
-
};
|
|
8308
|
-
Logger.prototype.debug = function (msg) {
|
|
8309
|
-
var optionalParams = [];
|
|
8310
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
8311
|
-
optionalParams[_i - 1] = arguments[_i];
|
|
8312
|
-
}
|
|
8313
|
-
this.log.apply(this, __spreadArray(['debug', msg], optionalParams, false));
|
|
8314
|
-
};
|
|
8315
|
-
return Logger;
|
|
8316
|
-
}());
|
|
8317
|
-
var logger = new Logger();
|
|
8318
|
-
|
|
8319
8349
|
function configureLogger(_a) {
|
|
8320
8350
|
var level = _a.level, customLogger = _a.customLogger;
|
|
8321
8351
|
if (level !== undefined)
|
|
@@ -9042,14 +9072,21 @@ var automationAddPointsToLink = function (eleLink, elements, limitPoint) {
|
|
|
9042
9072
|
return eleLink;
|
|
9043
9073
|
};
|
|
9044
9074
|
|
|
9045
|
-
function adjustElementPositionOnParentPortArea(element,
|
|
9075
|
+
function adjustElementPositionOnParentPortArea(element, toBeAdjustedPosition, isAbsolutePosition) {
|
|
9046
9076
|
var _a;
|
|
9077
|
+
if (isAbsolutePosition === void 0) { isAbsolutePosition = false; }
|
|
9047
9078
|
if (element.moveAsPortOnParent && element.parentElement) {
|
|
9048
9079
|
var parentDOM = (_a = element.parentElementInTree) === null || _a === void 0 ? void 0 : _a.DOM;
|
|
9049
|
-
var newRelativePosition =
|
|
9080
|
+
var newRelativePosition = {
|
|
9081
|
+
x: toBeAdjustedPosition.x,
|
|
9082
|
+
y: toBeAdjustedPosition.y
|
|
9083
|
+
};
|
|
9084
|
+
if (isAbsolutePosition) {
|
|
9085
|
+
newRelativePosition = transformAbsPositionToElementRelativePosition(toBeAdjustedPosition, element);
|
|
9086
|
+
}
|
|
9050
9087
|
return correctPortPositionInElement(newRelativePosition, element.size.width, element.size.height, element.parentElement.portMoveableAreas, element.parentElement.portSlideRailSVGClassName, parentDOM);
|
|
9051
9088
|
}
|
|
9052
|
-
return
|
|
9089
|
+
return toBeAdjustedPosition;
|
|
9053
9090
|
}
|
|
9054
9091
|
function convertElementsToTree(elements) {
|
|
9055
9092
|
//Find child elements in the child elements, that is possible child of element, then return element with child of it.
|
|
@@ -9603,10 +9640,10 @@ var Paper = function (props) {
|
|
|
9603
9640
|
x: newX,
|
|
9604
9641
|
y: newY
|
|
9605
9642
|
};
|
|
9606
|
-
|
|
9643
|
+
logger.info("Element ".concat(selectedElement.id, " is dragging to position ").concat(JSON.stringify(newPosition)));
|
|
9607
9644
|
//Adjust position of element if it should move as a port on parent port area
|
|
9608
9645
|
if (selectedElement.moveAsPortOnParent && selectedElement.parentElement) {
|
|
9609
|
-
newPosition = adjustElementPositionOnParentPortArea(selectedElement, newPosition);
|
|
9646
|
+
newPosition = adjustElementPositionOnParentPortArea(selectedElement, newPosition, true);
|
|
9610
9647
|
updateElementPosition(selectedElement, newPosition.x, newPosition.y, true);
|
|
9611
9648
|
}
|
|
9612
9649
|
else {
|
|
@@ -9614,7 +9651,7 @@ var Paper = function (props) {
|
|
|
9614
9651
|
}
|
|
9615
9652
|
//let newElementPosition = updateElementPosition(selectedElement, newPosition.x, newPosition.y, true)
|
|
9616
9653
|
var indexSelectedElement = elements.findIndex(function (e) { return e.id === selectedElement.id; });
|
|
9617
|
-
|
|
9654
|
+
logger.info("Element ".concat(selectedElement.id, " is moving to relative position ").concat(JSON.stringify(selectedElement.position)));
|
|
9618
9655
|
//Set state to re-render UI with new position
|
|
9619
9656
|
setElementsInTree(function (prev) { return __spreadArray([], prev, true); });
|
|
9620
9657
|
if (props.onElementMoved) {
|
|
@@ -9798,16 +9835,16 @@ var Paper = function (props) {
|
|
|
9798
9835
|
if (!link.targetElement || !link.targetPort)
|
|
9799
9836
|
return null;
|
|
9800
9837
|
return (React.createElement(ElementLink, { key: link.id, id: link.id, path: link.path, sourcePosition: {
|
|
9801
|
-
x:
|
|
9802
|
-
y:
|
|
9838
|
+
x: getAnchorAdjustedAbsolutePosition(link.sourceElement).x + link.sourcePort.position.x,
|
|
9839
|
+
y: getAnchorAdjustedAbsolutePosition(link.sourceElement).y + link.sourcePort.position.y
|
|
9803
9840
|
}, targetPosition: {
|
|
9804
|
-
x:
|
|
9805
|
-
y:
|
|
9841
|
+
x: getAnchorAdjustedAbsolutePosition(link.targetElement).x + link.targetPort.position.x,
|
|
9842
|
+
y: getAnchorAdjustedAbsolutePosition(link.targetElement).y + link.targetPort.position.y
|
|
9806
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) }));
|
|
9807
9844
|
}),
|
|
9808
9845
|
(tempLink === null || tempLink === void 0 ? void 0 : tempLink.tempTargetPosition) && React.createElement(ElementLink, { id: tempLink.id, points: tempLink.points, sourcePosition: {
|
|
9809
|
-
x:
|
|
9810
|
-
y:
|
|
9846
|
+
x: getAnchorAdjustedAbsolutePosition(tempLink.sourceElement).x + tempLink.sourcePort.position.x,
|
|
9847
|
+
y: getAnchorAdjustedAbsolutePosition(tempLink.sourceElement).y + tempLink.sourcePort.position.y
|
|
9811
9848
|
}, targetPosition: tempLink.tempTargetPosition, container: paperContainerRef.current, markerStart: tempLink.markerStart, markerEnd: tempLink.markerEnd, markerDistanceFromPort: tempLink.markerDistanceFromPort, markerSize: tempLink.markerSize }),
|
|
9812
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 () {
|
|
9813
9850
|
setSelectedText(text);
|
|
@@ -9957,6 +9994,7 @@ exports.findNearestProjectedPoint = findNearestProjectedPoint;
|
|
|
9957
9994
|
exports.generateSubstitutePosition = generateSubstitutePosition;
|
|
9958
9995
|
exports.generateUniqueId = generateUniqueId;
|
|
9959
9996
|
exports.getAbsolutePosition = getAbsolutePosition;
|
|
9997
|
+
exports.getAnchorAdjustedAbsolutePosition = getAnchorAdjustedAbsolutePosition;
|
|
9960
9998
|
exports.getCurvePathData = getCurvePathData;
|
|
9961
9999
|
exports.getElementRotationInfo = getElementRotationInfo;
|
|
9962
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
|
@@ -7327,13 +7327,13 @@ var getElementRotationInfo = function (element) {
|
|
|
7327
7327
|
// //calculate a2 equal cos of rotation * width
|
|
7328
7328
|
// const a2 = Math.abs(Math.cos(rotationInRadians) * rectWidth);
|
|
7329
7329
|
// const a = a1 + a2;
|
|
7330
|
-
//
|
|
7330
|
+
// logger.info(`a1: ${a1}, a2: ${a2}, a: ${a}`);
|
|
7331
7331
|
// //calculate b1 equal cos of rotation * height
|
|
7332
7332
|
// const b1 = Math.abs(Math.cos(rotationInRadians) * rectHeight);
|
|
7333
7333
|
// //calculate b2 equal sin of rotation * width
|
|
7334
7334
|
// const b2 = Math.abs(Math.sin(rotationInRadians) * rectWidth);
|
|
7335
7335
|
// const b = b1 + b2;
|
|
7336
|
-
//
|
|
7336
|
+
// logger.info(`b1: ${b1}, b2: ${b2}, b: ${b}`);
|
|
7337
7337
|
// //const squareEdge = Math.max(rectWidth, rectHeight);
|
|
7338
7338
|
// return {x, y};
|
|
7339
7339
|
// return { x: x - (b - rectWidth) / 2, y: y - (a - rectHeight) / 2 };
|
|
@@ -7374,6 +7374,65 @@ function calculateAngleWithOx(pStart, pEnd) {
|
|
|
7374
7374
|
return angleInDegrees;
|
|
7375
7375
|
}
|
|
7376
7376
|
|
|
7377
|
+
var Logger = /** @class */ (function () {
|
|
7378
|
+
function Logger() {
|
|
7379
|
+
this.level = 'info';
|
|
7380
|
+
this.customLogger = null;
|
|
7381
|
+
}
|
|
7382
|
+
Logger.prototype.setLevel = function (level) {
|
|
7383
|
+
this.level = level;
|
|
7384
|
+
};
|
|
7385
|
+
Logger.prototype.setCustomLogger = function (logger) {
|
|
7386
|
+
this.customLogger = logger;
|
|
7387
|
+
};
|
|
7388
|
+
Logger.prototype.log = function (level, message) {
|
|
7389
|
+
var _a;
|
|
7390
|
+
var optionalParams = [];
|
|
7391
|
+
for (var _i = 2; _i < arguments.length; _i++) {
|
|
7392
|
+
optionalParams[_i - 2] = arguments[_i];
|
|
7393
|
+
}
|
|
7394
|
+
var levels = ['error', 'warn', 'info', 'debug'];
|
|
7395
|
+
if (this.level && levels.indexOf(level) <= levels.indexOf(this.level)) {
|
|
7396
|
+
if (this.customLogger) {
|
|
7397
|
+
this.customLogger.apply(this, __spreadArray([level, message], optionalParams, false));
|
|
7398
|
+
}
|
|
7399
|
+
else {
|
|
7400
|
+
console[level] ? (_a = console)[level].apply(_a, __spreadArray([message], optionalParams, false)) : console.log.apply(console, __spreadArray([message], optionalParams, false));
|
|
7401
|
+
}
|
|
7402
|
+
}
|
|
7403
|
+
};
|
|
7404
|
+
Logger.prototype.error = function (msg) {
|
|
7405
|
+
var optionalParams = [];
|
|
7406
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
7407
|
+
optionalParams[_i - 1] = arguments[_i];
|
|
7408
|
+
}
|
|
7409
|
+
this.log.apply(this, __spreadArray(['error', msg], optionalParams, false));
|
|
7410
|
+
};
|
|
7411
|
+
Logger.prototype.warn = function (msg) {
|
|
7412
|
+
var optionalParams = [];
|
|
7413
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
7414
|
+
optionalParams[_i - 1] = arguments[_i];
|
|
7415
|
+
}
|
|
7416
|
+
this.log.apply(this, __spreadArray(['warn', msg], optionalParams, false));
|
|
7417
|
+
};
|
|
7418
|
+
Logger.prototype.info = function (msg) {
|
|
7419
|
+
var optionalParams = [];
|
|
7420
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
7421
|
+
optionalParams[_i - 1] = arguments[_i];
|
|
7422
|
+
}
|
|
7423
|
+
this.log.apply(this, __spreadArray(['info', msg], optionalParams, false));
|
|
7424
|
+
};
|
|
7425
|
+
Logger.prototype.debug = function (msg) {
|
|
7426
|
+
var optionalParams = [];
|
|
7427
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
7428
|
+
optionalParams[_i - 1] = arguments[_i];
|
|
7429
|
+
}
|
|
7430
|
+
this.log.apply(this, __spreadArray(['debug', msg], optionalParams, false));
|
|
7431
|
+
};
|
|
7432
|
+
return Logger;
|
|
7433
|
+
}());
|
|
7434
|
+
var logger = new Logger();
|
|
7435
|
+
|
|
7377
7436
|
/**
|
|
7378
7437
|
* Check if position 1 is within the radius r of position 2
|
|
7379
7438
|
* @returns boolean
|
|
@@ -7654,12 +7713,42 @@ var getFourVertexesOfBBoxFromElement = function (element) {
|
|
|
7654
7713
|
//get absolute position of element
|
|
7655
7714
|
var getAbsolutePosition = function (element) {
|
|
7656
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
|
+
}
|
|
7657
7746
|
if (!parentElement) {
|
|
7658
|
-
return __assign({},
|
|
7747
|
+
return __assign({}, elemenetPositionWithTopLeftAnchor);
|
|
7659
7748
|
}
|
|
7660
7749
|
var absoluteParentElement = getAbsolutePosition(parentElement);
|
|
7661
|
-
var x =
|
|
7662
|
-
var y =
|
|
7750
|
+
var x = elemenetPositionWithTopLeftAnchor.x + absoluteParentElement.x;
|
|
7751
|
+
var y = elemenetPositionWithTopLeftAnchor.y + absoluteParentElement.y;
|
|
7663
7752
|
return {
|
|
7664
7753
|
x: x,
|
|
7665
7754
|
y: y,
|
|
@@ -7747,7 +7836,7 @@ var correctPortPositionInElement = function (elementRelativePosition, elementWid
|
|
|
7747
7836
|
[c, d],
|
|
7748
7837
|
[d, a]
|
|
7749
7838
|
];
|
|
7750
|
-
|
|
7839
|
+
logger.info("Port's moveable areas parsed from svg ".concat(portSlideRailSVGClassName), moveableAreas);
|
|
7751
7840
|
var newPosition_3 = normalizePortPositionOnMoveableAreas(moveableAreas, position);
|
|
7752
7841
|
if (newPosition_3) {
|
|
7753
7842
|
moveTo = newPosition_3;
|
|
@@ -8253,65 +8342,6 @@ var getRotatedSVGBBox = function (svgElement) {
|
|
|
8253
8342
|
}
|
|
8254
8343
|
};
|
|
8255
8344
|
|
|
8256
|
-
var Logger = /** @class */ (function () {
|
|
8257
|
-
function Logger() {
|
|
8258
|
-
this.level = 'info';
|
|
8259
|
-
this.customLogger = null;
|
|
8260
|
-
}
|
|
8261
|
-
Logger.prototype.setLevel = function (level) {
|
|
8262
|
-
this.level = level;
|
|
8263
|
-
};
|
|
8264
|
-
Logger.prototype.setCustomLogger = function (logger) {
|
|
8265
|
-
this.customLogger = logger;
|
|
8266
|
-
};
|
|
8267
|
-
Logger.prototype.log = function (level, message) {
|
|
8268
|
-
var _a;
|
|
8269
|
-
var optionalParams = [];
|
|
8270
|
-
for (var _i = 2; _i < arguments.length; _i++) {
|
|
8271
|
-
optionalParams[_i - 2] = arguments[_i];
|
|
8272
|
-
}
|
|
8273
|
-
var levels = ['error', 'warn', 'info', 'debug'];
|
|
8274
|
-
if (this.level && levels.indexOf(level) <= levels.indexOf(this.level)) {
|
|
8275
|
-
if (this.customLogger) {
|
|
8276
|
-
this.customLogger.apply(this, __spreadArray([level, message], optionalParams, false));
|
|
8277
|
-
}
|
|
8278
|
-
else {
|
|
8279
|
-
console[level] ? (_a = console)[level].apply(_a, __spreadArray([message], optionalParams, false)) : console.log.apply(console, __spreadArray([message], optionalParams, false));
|
|
8280
|
-
}
|
|
8281
|
-
}
|
|
8282
|
-
};
|
|
8283
|
-
Logger.prototype.error = function (msg) {
|
|
8284
|
-
var optionalParams = [];
|
|
8285
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
8286
|
-
optionalParams[_i - 1] = arguments[_i];
|
|
8287
|
-
}
|
|
8288
|
-
this.log.apply(this, __spreadArray(['error', msg], optionalParams, false));
|
|
8289
|
-
};
|
|
8290
|
-
Logger.prototype.warn = function (msg) {
|
|
8291
|
-
var optionalParams = [];
|
|
8292
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
8293
|
-
optionalParams[_i - 1] = arguments[_i];
|
|
8294
|
-
}
|
|
8295
|
-
this.log.apply(this, __spreadArray(['warn', msg], optionalParams, false));
|
|
8296
|
-
};
|
|
8297
|
-
Logger.prototype.info = function (msg) {
|
|
8298
|
-
var optionalParams = [];
|
|
8299
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
8300
|
-
optionalParams[_i - 1] = arguments[_i];
|
|
8301
|
-
}
|
|
8302
|
-
this.log.apply(this, __spreadArray(['info', msg], optionalParams, false));
|
|
8303
|
-
};
|
|
8304
|
-
Logger.prototype.debug = function (msg) {
|
|
8305
|
-
var optionalParams = [];
|
|
8306
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
8307
|
-
optionalParams[_i - 1] = arguments[_i];
|
|
8308
|
-
}
|
|
8309
|
-
this.log.apply(this, __spreadArray(['debug', msg], optionalParams, false));
|
|
8310
|
-
};
|
|
8311
|
-
return Logger;
|
|
8312
|
-
}());
|
|
8313
|
-
var logger = new Logger();
|
|
8314
|
-
|
|
8315
8345
|
function configureLogger(_a) {
|
|
8316
8346
|
var level = _a.level, customLogger = _a.customLogger;
|
|
8317
8347
|
if (level !== undefined)
|
|
@@ -9038,14 +9068,21 @@ var automationAddPointsToLink = function (eleLink, elements, limitPoint) {
|
|
|
9038
9068
|
return eleLink;
|
|
9039
9069
|
};
|
|
9040
9070
|
|
|
9041
|
-
function adjustElementPositionOnParentPortArea(element,
|
|
9071
|
+
function adjustElementPositionOnParentPortArea(element, toBeAdjustedPosition, isAbsolutePosition) {
|
|
9042
9072
|
var _a;
|
|
9073
|
+
if (isAbsolutePosition === void 0) { isAbsolutePosition = false; }
|
|
9043
9074
|
if (element.moveAsPortOnParent && element.parentElement) {
|
|
9044
9075
|
var parentDOM = (_a = element.parentElementInTree) === null || _a === void 0 ? void 0 : _a.DOM;
|
|
9045
|
-
var newRelativePosition =
|
|
9076
|
+
var newRelativePosition = {
|
|
9077
|
+
x: toBeAdjustedPosition.x,
|
|
9078
|
+
y: toBeAdjustedPosition.y
|
|
9079
|
+
};
|
|
9080
|
+
if (isAbsolutePosition) {
|
|
9081
|
+
newRelativePosition = transformAbsPositionToElementRelativePosition(toBeAdjustedPosition, element);
|
|
9082
|
+
}
|
|
9046
9083
|
return correctPortPositionInElement(newRelativePosition, element.size.width, element.size.height, element.parentElement.portMoveableAreas, element.parentElement.portSlideRailSVGClassName, parentDOM);
|
|
9047
9084
|
}
|
|
9048
|
-
return
|
|
9085
|
+
return toBeAdjustedPosition;
|
|
9049
9086
|
}
|
|
9050
9087
|
function convertElementsToTree(elements) {
|
|
9051
9088
|
//Find child elements in the child elements, that is possible child of element, then return element with child of it.
|
|
@@ -9599,10 +9636,10 @@ var Paper = function (props) {
|
|
|
9599
9636
|
x: newX,
|
|
9600
9637
|
y: newY
|
|
9601
9638
|
};
|
|
9602
|
-
|
|
9639
|
+
logger.info("Element ".concat(selectedElement.id, " is dragging to position ").concat(JSON.stringify(newPosition)));
|
|
9603
9640
|
//Adjust position of element if it should move as a port on parent port area
|
|
9604
9641
|
if (selectedElement.moveAsPortOnParent && selectedElement.parentElement) {
|
|
9605
|
-
newPosition = adjustElementPositionOnParentPortArea(selectedElement, newPosition);
|
|
9642
|
+
newPosition = adjustElementPositionOnParentPortArea(selectedElement, newPosition, true);
|
|
9606
9643
|
updateElementPosition(selectedElement, newPosition.x, newPosition.y, true);
|
|
9607
9644
|
}
|
|
9608
9645
|
else {
|
|
@@ -9610,7 +9647,7 @@ var Paper = function (props) {
|
|
|
9610
9647
|
}
|
|
9611
9648
|
//let newElementPosition = updateElementPosition(selectedElement, newPosition.x, newPosition.y, true)
|
|
9612
9649
|
var indexSelectedElement = elements.findIndex(function (e) { return e.id === selectedElement.id; });
|
|
9613
|
-
|
|
9650
|
+
logger.info("Element ".concat(selectedElement.id, " is moving to relative position ").concat(JSON.stringify(selectedElement.position)));
|
|
9614
9651
|
//Set state to re-render UI with new position
|
|
9615
9652
|
setElementsInTree(function (prev) { return __spreadArray([], prev, true); });
|
|
9616
9653
|
if (props.onElementMoved) {
|
|
@@ -9794,16 +9831,16 @@ var Paper = function (props) {
|
|
|
9794
9831
|
if (!link.targetElement || !link.targetPort)
|
|
9795
9832
|
return null;
|
|
9796
9833
|
return (React.createElement(ElementLink, { key: link.id, id: link.id, path: link.path, sourcePosition: {
|
|
9797
|
-
x:
|
|
9798
|
-
y:
|
|
9834
|
+
x: getAnchorAdjustedAbsolutePosition(link.sourceElement).x + link.sourcePort.position.x,
|
|
9835
|
+
y: getAnchorAdjustedAbsolutePosition(link.sourceElement).y + link.sourcePort.position.y
|
|
9799
9836
|
}, targetPosition: {
|
|
9800
|
-
x:
|
|
9801
|
-
y:
|
|
9837
|
+
x: getAnchorAdjustedAbsolutePosition(link.targetElement).x + link.targetPort.position.x,
|
|
9838
|
+
y: getAnchorAdjustedAbsolutePosition(link.targetElement).y + link.targetPort.position.y
|
|
9802
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) }));
|
|
9803
9840
|
}),
|
|
9804
9841
|
(tempLink === null || tempLink === void 0 ? void 0 : tempLink.tempTargetPosition) && React.createElement(ElementLink, { id: tempLink.id, points: tempLink.points, sourcePosition: {
|
|
9805
|
-
x:
|
|
9806
|
-
y:
|
|
9842
|
+
x: getAnchorAdjustedAbsolutePosition(tempLink.sourceElement).x + tempLink.sourcePort.position.x,
|
|
9843
|
+
y: getAnchorAdjustedAbsolutePosition(tempLink.sourceElement).y + tempLink.sourcePort.position.y
|
|
9807
9844
|
}, targetPosition: tempLink.tempTargetPosition, container: paperContainerRef.current, markerStart: tempLink.markerStart, markerEnd: tempLink.markerEnd, markerDistanceFromPort: tempLink.markerDistanceFromPort, markerSize: tempLink.markerSize }),
|
|
9808
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 () {
|
|
9809
9846
|
setSelectedText(text);
|
|
@@ -9921,5 +9958,5 @@ var Editor = function (_a) {
|
|
|
9921
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) }));
|
|
9922
9959
|
};
|
|
9923
9960
|
|
|
9924
|
-
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 };
|
|
9925
9962
|
//# sourceMappingURL=index.js.map
|