@plait/draw 0.42.0 → 0.44.0
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/esm2022/geometry.component.mjs +1 -1
- package/esm2022/plugins/with-draw-fragment.mjs +3 -4
- package/esm2022/plugins/with-geometry-create.mjs +7 -7
- package/esm2022/transforms/geometry.mjs +8 -5
- package/esm2022/utils/clipboard.mjs +16 -8
- package/esm2022/utils/geometry.mjs +12 -10
- package/esm2022/utils/line.mjs +3 -2
- package/fesm2022/plait-draw.mjs +38 -26
- package/fesm2022/plait-draw.mjs.map +1 -1
- package/package.json +1 -1
- package/transforms/geometry.d.ts +1 -1
- package/transforms/index.d.ts +1 -1
- package/utils/geometry.d.ts +2 -3
package/fesm2022/plait-draw.mjs
CHANGED
|
@@ -1456,13 +1456,12 @@ const getDrawDefaultStrokeColor = (theme) => {
|
|
|
1456
1456
|
const getFlowchartDefaultFill = (theme) => {
|
|
1457
1457
|
return DrawThemeColors[theme].fill;
|
|
1458
1458
|
};
|
|
1459
|
-
const
|
|
1459
|
+
const getTextShapeProperty = (board, text = DefaultTextProperty.text, fontSize) => {
|
|
1460
1460
|
fontSize = fontSize ? Number(fontSize) : DEFAULT_FONT_SIZE;
|
|
1461
|
-
const textSize = getTextSize(board,
|
|
1461
|
+
const textSize = getTextSize(board, text, Infinity, { fontSize });
|
|
1462
1462
|
return {
|
|
1463
1463
|
width: textSize.width + ShapeDefaultSpace.rectangleAndText * 2,
|
|
1464
|
-
height: textSize.height
|
|
1465
|
-
text: '文本'
|
|
1464
|
+
height: textSize.height
|
|
1466
1465
|
};
|
|
1467
1466
|
};
|
|
1468
1467
|
const getDefaultGeometryPoints = (pointer, centerPoint) => {
|
|
@@ -1479,7 +1478,7 @@ const getDefaultGeometryProperty = (pointer) => {
|
|
|
1479
1478
|
}
|
|
1480
1479
|
};
|
|
1481
1480
|
const getDefaultTextPoints = (board, centerPoint, fontSize) => {
|
|
1482
|
-
const property =
|
|
1481
|
+
const property = getTextShapeProperty(board, DefaultTextProperty.text, fontSize);
|
|
1483
1482
|
return getPointsByCenterPoint(centerPoint, property.width, property.height);
|
|
1484
1483
|
};
|
|
1485
1484
|
const insertElement = (board, element) => {
|
|
@@ -1489,14 +1488,17 @@ const insertElement = (board, element) => {
|
|
|
1489
1488
|
addSelectedElement(board, element);
|
|
1490
1489
|
BoardTransforms.updatePointerType(board, PlaitPointerType.selection);
|
|
1491
1490
|
};
|
|
1492
|
-
const
|
|
1491
|
+
const createTextElement = (board, points, text = DefaultTextProperty.text, textHeight) => {
|
|
1493
1492
|
const memorizedLatest = getMemorizedLatestByPointer(BasicShapes.text);
|
|
1494
|
-
|
|
1495
|
-
return createGeometryElement(BasicShapes.text, points,
|
|
1493
|
+
textHeight = textHeight ? textHeight : getRectangleByPoints(points).height;
|
|
1494
|
+
return createGeometryElement(BasicShapes.text, points, text, memorizedLatest.geometryProperties, {
|
|
1495
|
+
...memorizedLatest.textProperties,
|
|
1496
|
+
textHeight
|
|
1497
|
+
});
|
|
1496
1498
|
};
|
|
1497
1499
|
const createDefaultGeometry = (board, points, shape) => {
|
|
1498
1500
|
const memorizedLatest = getMemorizedLatestByPointer(shape);
|
|
1499
|
-
const textHeight =
|
|
1501
|
+
const textHeight = getTextShapeProperty(board, DefaultTextProperty.text, memorizedLatest.textProperties['font-size']).height;
|
|
1500
1502
|
return createGeometryElement(shape, points, '', {
|
|
1501
1503
|
strokeWidth: DefaultBasicShapeProperty.strokeWidth,
|
|
1502
1504
|
...memorizedLatest.geometryProperties
|
|
@@ -1816,7 +1818,8 @@ const getCurvePoints = (board, element) => {
|
|
|
1816
1818
|
return pointsOnBezierCurves(curvePoints);
|
|
1817
1819
|
}
|
|
1818
1820
|
else {
|
|
1819
|
-
|
|
1821
|
+
let allPoints = PlaitLine.getPoints(board, element);
|
|
1822
|
+
allPoints = removeDuplicatePoints(allPoints);
|
|
1820
1823
|
const points = catmullRomFitting(allPoints);
|
|
1821
1824
|
return pointsOnBezierCurves(points);
|
|
1822
1825
|
}
|
|
@@ -2354,8 +2357,11 @@ const insertGeometryByVector = (board, point, shape, vector) => {
|
|
|
2354
2357
|
}
|
|
2355
2358
|
return null;
|
|
2356
2359
|
};
|
|
2357
|
-
const insertText = (board,
|
|
2358
|
-
const
|
|
2360
|
+
const insertText = (board, point, text) => {
|
|
2361
|
+
const memorizedLatest = getMemorizedLatestByPointer(BasicShapes.text);
|
|
2362
|
+
const property = getTextShapeProperty(board, text, memorizedLatest.textProperties['font-size']);
|
|
2363
|
+
const points = [point, [point[0] + property.width, point[1] + property.height]];
|
|
2364
|
+
const newElement = createTextElement(board, points, text);
|
|
2359
2365
|
insertElement(board, newElement);
|
|
2360
2366
|
};
|
|
2361
2367
|
const resizeGeometry = (board, points, textHeight, path) => {
|
|
@@ -2940,9 +2946,9 @@ const withGeometryCreateByDrag = (board) => {
|
|
|
2940
2946
|
if (dragMode) {
|
|
2941
2947
|
const memorizedLatest = getMemorizedLatestByPointer(pointer);
|
|
2942
2948
|
if (pointer === BasicShapes.text) {
|
|
2943
|
-
const property =
|
|
2949
|
+
const property = getTextShapeProperty(board, DefaultTextProperty.text, memorizedLatest.textProperties['font-size']);
|
|
2944
2950
|
const points = getPointsByCenterPoint(movingPoint, property.width, property.height);
|
|
2945
|
-
temporaryElement =
|
|
2951
|
+
temporaryElement = createTextElement(board, points);
|
|
2946
2952
|
if (!fakeCreateTextRef) {
|
|
2947
2953
|
const textManage = new TextManage(board, PlaitBoard.getComponent(board).viewContainerRef, {
|
|
2948
2954
|
getRectangle: () => {
|
|
@@ -3016,9 +3022,9 @@ const withGeometryCreateByDrawing = (board) => {
|
|
|
3016
3022
|
preventTouchMove(board, event, true);
|
|
3017
3023
|
if (pointer === BasicShapes.text) {
|
|
3018
3024
|
const memorizedLatest = getMemorizedLatestByPointer(pointer);
|
|
3019
|
-
const property =
|
|
3025
|
+
const property = getTextShapeProperty(board, DefaultTextProperty.text, memorizedLatest.textProperties['font-size']);
|
|
3020
3026
|
const points = getPointsByCenterPoint(point, property.width, property.height);
|
|
3021
|
-
const textElement =
|
|
3027
|
+
const textElement = createTextElement(board, points);
|
|
3022
3028
|
insertElement(board, textElement);
|
|
3023
3029
|
start = null;
|
|
3024
3030
|
}
|
|
@@ -3075,15 +3081,22 @@ const buildClipboardData = (board, elements, startPoint) => {
|
|
|
3075
3081
|
if (PlaitDrawElement.isLine(element)) {
|
|
3076
3082
|
let source = { ...element.source };
|
|
3077
3083
|
let target = { ...element.target };
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
|
|
3084
|
+
let points = [...element.points];
|
|
3085
|
+
if (element.source.boundId) {
|
|
3086
|
+
points[0] = getConnectionPoint(getElementById(board, element.source.boundId), element.source.connection);
|
|
3087
|
+
if (!getElementById(board, element.source.boundId, elements)) {
|
|
3088
|
+
delete source.boundId;
|
|
3089
|
+
delete source.connection;
|
|
3090
|
+
}
|
|
3081
3091
|
}
|
|
3082
|
-
if (element.target.boundId
|
|
3083
|
-
|
|
3084
|
-
|
|
3092
|
+
if (element.target.boundId) {
|
|
3093
|
+
points[points.length - 1] = getConnectionPoint(getElementById(board, element.target.boundId), element.target.connection);
|
|
3094
|
+
if (!getElementById(board, element.target.boundId, elements)) {
|
|
3095
|
+
delete target.boundId;
|
|
3096
|
+
delete target.connection;
|
|
3097
|
+
}
|
|
3085
3098
|
}
|
|
3086
|
-
|
|
3099
|
+
points = points.map(point => [point[0] - startPoint[0], point[1] - startPoint[1]]);
|
|
3087
3100
|
return { ...element, points, source, target };
|
|
3088
3101
|
}
|
|
3089
3102
|
return element;
|
|
@@ -3167,8 +3180,7 @@ const withDrawFragment = (baseBoard) => {
|
|
|
3167
3180
|
const insertAsChildren = selectedElements.length === 1 && selectedElements[0].children;
|
|
3168
3181
|
const insertAsFreeText = !insertAsChildren;
|
|
3169
3182
|
if (text && insertAsFreeText) {
|
|
3170
|
-
|
|
3171
|
-
DrawTransforms.insertText(board, [targetPoint, [targetPoint[0] + width, targetPoint[1] + height]], text);
|
|
3183
|
+
DrawTransforms.insertText(board, targetPoint, text);
|
|
3172
3184
|
return;
|
|
3173
3185
|
}
|
|
3174
3186
|
}
|
|
@@ -3837,5 +3849,5 @@ const withDraw = (board) => {
|
|
|
3837
3849
|
* Generated bundle index. Do not edit.
|
|
3838
3850
|
*/
|
|
3839
3851
|
|
|
3840
|
-
export { BasicShapes, DEFAULT_IMAGE_WIDTH, DefaultBasicShapeProperty, DefaultConnectorProperty, DefaultDataProperty, DefaultDecisionProperty, DefaultFlowchartProperty, DefaultFlowchartPropertyMap, DefaultGeometryActiveStyle, DefaultGeometryStyle, DefaultManualInputProperty, DefaultMergeProperty, DefaultTextProperty, DrawThemeColors, DrawTransforms, FlowchartSymbols, GeometryComponent, GeometryThreshold, LineComponent, LineHandleKey, LineMarkerType, LineShape, MemorizeKey, PlaitDrawElement, PlaitGeometry, PlaitLine, Q2C, REACTION_MARGIN, ShapeDefaultSpace, StrokeStyle, WithLineAutoCompletePluginKey, alignPoints, createDefaultFlowchart, createDefaultGeometry,
|
|
3852
|
+
export { BasicShapes, DEFAULT_IMAGE_WIDTH, DefaultBasicShapeProperty, DefaultConnectorProperty, DefaultDataProperty, DefaultDecisionProperty, DefaultFlowchartProperty, DefaultFlowchartPropertyMap, DefaultGeometryActiveStyle, DefaultGeometryStyle, DefaultManualInputProperty, DefaultMergeProperty, DefaultTextProperty, DrawThemeColors, DrawTransforms, FlowchartSymbols, GeometryComponent, GeometryThreshold, LineComponent, LineHandleKey, LineMarkerType, LineShape, MemorizeKey, PlaitDrawElement, PlaitGeometry, PlaitLine, Q2C, REACTION_MARGIN, ShapeDefaultSpace, StrokeStyle, WithLineAutoCompletePluginKey, alignPoints, createDefaultFlowchart, createDefaultGeometry, createGeometryElement, createLineElement, createTextElement, drawBoundMask, drawGeometry, drawLine, getAutoCompletePoints, getBasicPointers, getBoardLines, getCenterPointsOnPolygon, getConnectionPoint, getCurvePoints, getDefaultFlowchartProperty, getDefaultGeometryPoints, getDefaultGeometryProperty, getDefaultTextPoints, getDrawDefaultStrokeColor, getEdgeOnPolygonByPoint, getElbowPoints, getFillByElement, getFlowchartDefaultFill, getFlowchartPointers, getGeometryPointers, getHitConnectorPoint, getHitIndexOfAutoCompletePoint, getHitLineTextIndex, getLineDashByElement, getLineHandleRefPair, getLineMemorizedLatest, getLinePointers, getLinePoints, getLineTextRectangle, getMemorizeKey, getMemorizedLatestByPointer, getMemorizedLatestShape, getNearestPoint, getPointsByCenterPoint, getSelectedDrawElements, getSelectedGeometryElements, getSelectedImageElements, getSelectedLineElements, getStrokeColorByElement, getStrokeStyleByElement, getStrokeWidthByElement, getTextRectangle, getTextShapeProperty, getVectorByConnection, handleLineCreating, insertElement, isHitDrawElement, isHitLineText, isHitPolyLine, isRectangleHitDrawElement, isTextExceedingBounds, memorizeLatestShape, memorizeLatestText, transformOpsToPoints, transformPointToConnection, withDraw, withLineAutoComplete };
|
|
3841
3853
|
//# sourceMappingURL=plait-draw.mjs.map
|