@logicflow/core 2.0.0-beta.0 → 2.0.0-beta.10
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/.turbo/turbo-build$colon$dev.log +2 -2
- package/.turbo/turbo-build.log +16 -22
- package/__tests__/bugs/1545-spec.test.ts +19 -15
- package/__tests__/util/edge.test.ts +57 -57
- package/dist/index.min.js +32 -0
- package/dist/index.min.js.map +1 -0
- package/es/LogicFlow.d.ts +88 -40
- package/es/LogicFlow.js +38 -33
- package/es/LogicFlow.js.map +1 -1
- package/es/algorithm/edge.js.map +1 -1
- package/es/algorithm/index.d.ts +2 -0
- package/es/algorithm/index.js +2 -0
- package/es/algorithm/index.js.map +1 -1
- package/es/algorithm/outline.d.ts +1 -1
- package/es/common/drag.d.ts +51 -0
- package/es/common/drag.js +145 -0
- package/es/common/drag.js.map +1 -0
- package/es/common/history.d.ts +28 -0
- package/es/common/history.js +92 -0
- package/es/common/history.js.map +1 -0
- package/es/common/index.d.ts +5 -0
- package/es/common/index.js +6 -0
- package/es/common/index.js.map +1 -0
- package/es/common/keyboard.d.ts +34 -0
- package/es/common/keyboard.js +80 -0
- package/es/common/keyboard.js.map +1 -0
- package/es/common/matrix.d.ts +30 -0
- package/es/common/matrix.js +155 -0
- package/es/common/matrix.js.map +1 -0
- package/es/common/vector.d.ts +23 -0
- package/es/common/vector.js +97 -0
- package/es/common/vector.js.map +1 -0
- package/es/constant/index.d.ts +39 -2
- package/es/constant/index.js +41 -1
- package/es/constant/index.js.map +1 -1
- package/es/event/eventArgs.d.ts +103 -25
- package/es/event/eventEmitter.d.ts +2 -2
- package/es/event/eventEmitter.js +0 -1
- package/es/event/eventEmitter.js.map +1 -1
- package/es/index.d.ts +6 -1
- package/es/index.js +6 -1
- package/es/index.js.map +1 -1
- package/es/keyboard/index.d.ts +1 -0
- package/es/keyboard/index.js +1 -0
- package/es/keyboard/index.js.map +1 -1
- package/es/keyboard/shortcut.d.ts +8 -0
- package/es/keyboard/shortcut.js +70 -8
- package/es/keyboard/shortcut.js.map +1 -1
- package/es/model/BaseModel.d.ts +16 -7
- package/es/model/EditConfigModel.d.ts +97 -36
- package/es/model/EditConfigModel.js +169 -82
- package/es/model/EditConfigModel.js.map +1 -1
- package/es/model/GraphModel.d.ts +36 -14
- package/es/model/GraphModel.js +60 -10
- package/es/model/GraphModel.js.map +1 -1
- package/es/model/SnaplineModel.d.ts +2 -0
- package/es/model/TransformModel.js +1 -1
- package/es/model/TransformModel.js.map +1 -1
- package/es/model/edge/BaseEdgeModel.d.ts +21 -17
- package/es/model/edge/BaseEdgeModel.js +64 -42
- package/es/model/edge/BaseEdgeModel.js.map +1 -1
- package/es/model/edge/BezierEdgeModel.d.ts +5 -3
- package/es/model/edge/BezierEdgeModel.js +7 -3
- package/es/model/edge/BezierEdgeModel.js.map +1 -1
- package/es/model/edge/LineEdgeModel.d.ts +2 -0
- package/es/model/edge/LineEdgeModel.js +2 -1
- package/es/model/edge/LineEdgeModel.js.map +1 -1
- package/es/model/edge/PolylineEdgeModel.d.ts +5 -3
- package/es/model/edge/PolylineEdgeModel.js +22 -15
- package/es/model/edge/PolylineEdgeModel.js.map +1 -1
- package/es/model/node/BaseNodeModel.d.ts +42 -14
- package/es/model/node/BaseNodeModel.js +62 -48
- package/es/model/node/BaseNodeModel.js.map +1 -1
- package/es/model/node/CircleNodeModel.d.ts +4 -3
- package/es/model/node/CircleNodeModel.js +4 -7
- package/es/model/node/CircleNodeModel.js.map +1 -1
- package/es/model/node/DiamondNodeModel.d.ts +5 -4
- package/es/model/node/DiamondNodeModel.js +4 -6
- package/es/model/node/DiamondNodeModel.js.map +1 -1
- package/es/model/node/EllipseNodeModel.d.ts +5 -4
- package/es/model/node/EllipseNodeModel.js +4 -6
- package/es/model/node/EllipseNodeModel.js.map +1 -1
- package/es/model/node/HtmlNodeModel.d.ts +4 -5
- package/es/model/node/HtmlNodeModel.js +2 -12
- package/es/model/node/HtmlNodeModel.js.map +1 -1
- package/es/model/node/PolygonNodeModel.d.ts +5 -4
- package/es/model/node/PolygonNodeModel.js +4 -7
- package/es/model/node/PolygonNodeModel.js.map +1 -1
- package/es/model/node/RectNodeModel.d.ts +7 -5
- package/es/model/node/RectNodeModel.js +10 -7
- package/es/model/node/RectNodeModel.js.map +1 -1
- package/es/model/node/TextNodeModel.d.ts +17 -9
- package/es/model/node/TextNodeModel.js +2 -1
- package/es/model/node/TextNodeModel.js.map +1 -1
- package/es/options.d.ts +11 -14
- package/es/options.js +3 -42
- package/es/options.js.map +1 -1
- package/es/tool/MultipleSelectTool.d.ts +1 -1
- package/es/tool/MultipleSelectTool.js +5 -5
- package/es/tool/MultipleSelectTool.js.map +1 -1
- package/es/tool/TextEditTool.d.ts +3 -3
- package/es/tool/TextEditTool.js +2 -2
- package/es/tool/TextEditTool.js.map +1 -1
- package/es/tool/index.d.ts +24 -2
- package/es/tool/index.js +82 -2
- package/es/tool/index.js.map +1 -1
- package/es/util/drag.d.ts +5 -5
- package/es/util/drag.js +3 -1
- package/es/util/drag.js.map +1 -1
- package/es/util/edge.d.ts +9 -2
- package/es/util/edge.js +23 -12
- package/es/util/edge.js.map +1 -1
- package/es/util/index.d.ts +1 -0
- package/es/util/index.js +1 -0
- package/es/util/index.js.map +1 -1
- package/es/util/node.d.ts +8 -7
- package/es/util/node.js +26 -7
- package/es/util/node.js.map +1 -1
- package/es/util/resize.d.ts +32 -0
- package/es/util/resize.js +197 -0
- package/es/util/resize.js.map +1 -0
- package/es/view/Anchor.d.ts +6 -7
- package/es/view/Anchor.js +6 -3
- package/es/view/Anchor.js.map +1 -1
- package/es/view/Control.d.ts +1 -1
- package/es/view/Control.js +88 -39
- package/es/view/Control.js.map +1 -1
- package/es/view/Graph.d.ts +5 -1
- package/es/view/Graph.js +45 -5
- package/es/view/Graph.js.map +1 -1
- package/es/view/Rotate.js +2 -1
- package/es/view/Rotate.js.map +1 -1
- package/es/view/behavior/index.d.ts +2 -0
- package/es/view/behavior/index.js +3 -0
- package/es/view/behavior/index.js.map +1 -0
- package/es/view/behavior/snapline.d.ts +3 -0
- package/es/{tool → view/behavior}/snapline.js +0 -1
- package/es/view/behavior/snapline.js.map +1 -0
- package/es/view/edge/AdjustPoint.js +12 -23
- package/es/view/edge/AdjustPoint.js.map +1 -1
- package/es/view/edge/BaseEdge.d.ts +2 -2
- package/es/view/edge/BaseEdge.js +30 -22
- package/es/view/edge/BaseEdge.js.map +1 -1
- package/es/view/node/BaseNode.d.ts +4 -4
- package/es/view/node/BaseNode.js +33 -24
- package/es/view/node/BaseNode.js.map +1 -1
- package/es/view/node/CircleNode.d.ts +1 -1
- package/es/view/node/CircleNode.js.map +1 -1
- package/es/view/node/DiamondNode.d.ts +1 -1
- package/es/view/node/DiamondNode.js.map +1 -1
- package/es/view/node/EllipseNode.d.ts +1 -1
- package/es/view/node/EllipseNode.js.map +1 -1
- package/es/view/node/HtmlNode.d.ts +1 -1
- package/es/view/node/HtmlNode.js +2 -2
- package/es/view/node/HtmlNode.js.map +1 -1
- package/es/view/node/PolygonNode.d.ts +1 -1
- package/es/view/node/PolygonNode.js.map +1 -1
- package/es/view/node/RectNode.d.ts +1 -1
- package/es/view/node/RectNode.js.map +1 -1
- package/es/view/node/TextNode.d.ts +1 -1
- package/es/view/node/TextNode.js +1 -1
- package/es/view/node/TextNode.js.map +1 -1
- package/es/view/overlay/CanvasOverlay.js +5 -4
- package/es/view/overlay/CanvasOverlay.js.map +1 -1
- package/es/view/overlay/Grid.d.ts +35 -20
- package/es/view/overlay/Grid.js +35 -26
- package/es/view/overlay/Grid.js.map +1 -1
- package/es/view/overlay/ToolOverlay.d.ts +1 -1
- package/es/view/overlay/ToolOverlay.js +1 -1
- package/es/view/overlay/ToolOverlay.js.map +1 -1
- package/es/view/shape/Circle.d.ts +9 -1
- package/es/view/shape/Circle.js +5 -5
- package/es/view/shape/Circle.js.map +1 -1
- package/es/view/shape/Ellipse.d.ts +10 -1
- package/es/view/shape/Ellipse.js +5 -5
- package/es/view/shape/Ellipse.js.map +1 -1
- package/es/view/shape/Line.d.ts +14 -1
- package/es/view/shape/Line.js +5 -7
- package/es/view/shape/Line.js.map +1 -1
- package/es/view/shape/Path.d.ts +3 -2
- package/es/view/shape/Path.js +3 -3
- package/es/view/shape/Path.js.map +1 -1
- package/es/view/shape/Polygon.d.ts +5 -3
- package/es/view/shape/Polygon.js +6 -6
- package/es/view/shape/Polygon.js.map +1 -1
- package/es/view/shape/Polyline.d.ts +7 -1
- package/es/view/shape/Polyline.js +8 -6
- package/es/view/shape/Polyline.js.map +1 -1
- package/es/view/shape/Rect.d.ts +11 -13
- package/es/view/shape/Rect.js +6 -9
- package/es/view/shape/Rect.js.map +1 -1
- package/es/view/shape/Text.d.ts +19 -1
- package/es/view/shape/Text.js +28 -21
- package/es/view/shape/Text.js.map +1 -1
- package/es/view/text/BaseText.d.ts +12 -15
- package/es/view/text/BaseText.js +43 -29
- package/es/view/text/BaseText.js.map +1 -1
- package/es/view/text/LineText.d.ts +19 -7
- package/es/view/text/LineText.js +62 -54
- package/es/view/text/LineText.js.map +1 -1
- package/lib/LogicFlow.d.ts +88 -40
- package/lib/LogicFlow.js +40 -35
- package/lib/LogicFlow.js.map +1 -1
- package/lib/algorithm/edge.js.map +1 -1
- package/lib/algorithm/index.d.ts +2 -0
- package/lib/algorithm/index.js +17 -1
- package/lib/algorithm/index.js.map +1 -1
- package/lib/algorithm/outline.d.ts +1 -1
- package/lib/common/drag.d.ts +51 -0
- package/lib/common/drag.js +148 -0
- package/lib/common/drag.js.map +1 -0
- package/lib/common/history.d.ts +28 -0
- package/lib/common/history.js +95 -0
- package/lib/common/history.js.map +1 -0
- package/lib/common/index.d.ts +5 -0
- package/lib/common/index.js +22 -0
- package/lib/common/index.js.map +1 -0
- package/lib/common/keyboard.d.ts +34 -0
- package/lib/common/keyboard.js +86 -0
- package/lib/common/keyboard.js.map +1 -0
- package/lib/common/matrix.d.ts +30 -0
- package/lib/common/matrix.js +158 -0
- package/lib/common/matrix.js.map +1 -0
- package/lib/common/vector.d.ts +23 -0
- package/lib/common/vector.js +101 -0
- package/lib/common/vector.js.map +1 -0
- package/lib/constant/index.d.ts +39 -2
- package/lib/constant/index.js +42 -2
- package/lib/constant/index.js.map +1 -1
- package/lib/event/eventArgs.d.ts +103 -25
- package/lib/event/eventEmitter.d.ts +2 -2
- package/lib/event/eventEmitter.js +0 -1
- package/lib/event/eventEmitter.js.map +1 -1
- package/lib/index.d.ts +6 -1
- package/lib/index.js +7 -2
- package/lib/index.js.map +1 -1
- package/lib/keyboard/index.d.ts +1 -0
- package/lib/keyboard/index.js +15 -0
- package/lib/keyboard/index.js.map +1 -1
- package/lib/keyboard/shortcut.d.ts +8 -0
- package/lib/keyboard/shortcut.js +75 -9
- package/lib/keyboard/shortcut.js.map +1 -1
- package/lib/model/BaseModel.d.ts +16 -7
- package/lib/model/EditConfigModel.d.ts +97 -36
- package/lib/model/EditConfigModel.js +168 -81
- package/lib/model/EditConfigModel.js.map +1 -1
- package/lib/model/GraphModel.d.ts +36 -14
- package/lib/model/GraphModel.js +59 -9
- package/lib/model/GraphModel.js.map +1 -1
- package/lib/model/SnaplineModel.d.ts +2 -0
- package/lib/model/TransformModel.js +1 -1
- package/lib/model/TransformModel.js.map +1 -1
- package/lib/model/edge/BaseEdgeModel.d.ts +21 -17
- package/lib/model/edge/BaseEdgeModel.js +61 -39
- package/lib/model/edge/BaseEdgeModel.js.map +1 -1
- package/lib/model/edge/BezierEdgeModel.d.ts +5 -3
- package/lib/model/edge/BezierEdgeModel.js +6 -2
- package/lib/model/edge/BezierEdgeModel.js.map +1 -1
- package/lib/model/edge/LineEdgeModel.d.ts +2 -0
- package/lib/model/edge/LineEdgeModel.js +2 -1
- package/lib/model/edge/LineEdgeModel.js.map +1 -1
- package/lib/model/edge/PolylineEdgeModel.d.ts +5 -3
- package/lib/model/edge/PolylineEdgeModel.js +21 -14
- package/lib/model/edge/PolylineEdgeModel.js.map +1 -1
- package/lib/model/node/BaseNodeModel.d.ts +42 -14
- package/lib/model/node/BaseNodeModel.js +60 -46
- package/lib/model/node/BaseNodeModel.js.map +1 -1
- package/lib/model/node/CircleNodeModel.d.ts +4 -3
- package/lib/model/node/CircleNodeModel.js +4 -7
- package/lib/model/node/CircleNodeModel.js.map +1 -1
- package/lib/model/node/DiamondNodeModel.d.ts +5 -4
- package/lib/model/node/DiamondNodeModel.js +4 -6
- package/lib/model/node/DiamondNodeModel.js.map +1 -1
- package/lib/model/node/EllipseNodeModel.d.ts +5 -4
- package/lib/model/node/EllipseNodeModel.js +4 -6
- package/lib/model/node/EllipseNodeModel.js.map +1 -1
- package/lib/model/node/HtmlNodeModel.d.ts +4 -5
- package/lib/model/node/HtmlNodeModel.js +2 -12
- package/lib/model/node/HtmlNodeModel.js.map +1 -1
- package/lib/model/node/PolygonNodeModel.d.ts +5 -4
- package/lib/model/node/PolygonNodeModel.js +4 -7
- package/lib/model/node/PolygonNodeModel.js.map +1 -1
- package/lib/model/node/RectNodeModel.d.ts +7 -5
- package/lib/model/node/RectNodeModel.js +10 -7
- package/lib/model/node/RectNodeModel.js.map +1 -1
- package/lib/model/node/TextNodeModel.d.ts +17 -9
- package/lib/model/node/TextNodeModel.js +2 -1
- package/lib/model/node/TextNodeModel.js.map +1 -1
- package/lib/options.d.ts +11 -14
- package/lib/options.js +3 -42
- package/lib/options.js.map +1 -1
- package/lib/tool/MultipleSelectTool.d.ts +1 -1
- package/lib/tool/MultipleSelectTool.js +5 -5
- package/lib/tool/MultipleSelectTool.js.map +1 -1
- package/lib/tool/TextEditTool.d.ts +3 -3
- package/lib/tool/TextEditTool.js +4 -4
- package/lib/tool/TextEditTool.js.map +1 -1
- package/lib/tool/index.d.ts +24 -2
- package/lib/tool/index.js +85 -15
- package/lib/tool/index.js.map +1 -1
- package/lib/util/drag.d.ts +5 -5
- package/lib/util/drag.js +3 -1
- package/lib/util/drag.js.map +1 -1
- package/lib/util/edge.d.ts +9 -2
- package/lib/util/edge.js +27 -15
- package/lib/util/edge.js.map +1 -1
- package/lib/util/index.d.ts +1 -0
- package/lib/util/index.js +1 -0
- package/lib/util/index.js.map +1 -1
- package/lib/util/node.d.ts +8 -7
- package/lib/util/node.js +28 -9
- package/lib/util/node.js.map +1 -1
- package/lib/util/resize.d.ts +32 -0
- package/lib/util/resize.js +204 -0
- package/lib/util/resize.js.map +1 -0
- package/lib/view/Anchor.d.ts +6 -7
- package/lib/view/Anchor.js +5 -2
- package/lib/view/Anchor.js.map +1 -1
- package/lib/view/Control.d.ts +1 -1
- package/lib/view/Control.js +87 -38
- package/lib/view/Control.js.map +1 -1
- package/lib/view/Graph.d.ts +5 -1
- package/lib/view/Graph.js +44 -4
- package/lib/view/Graph.js.map +1 -1
- package/lib/view/Rotate.js +2 -1
- package/lib/view/Rotate.js.map +1 -1
- package/lib/view/behavior/index.d.ts +2 -0
- package/lib/view/behavior/index.js +19 -0
- package/lib/view/behavior/index.js.map +1 -0
- package/lib/view/behavior/snapline.d.ts +3 -0
- package/lib/{tool → view/behavior}/snapline.js +0 -1
- package/lib/view/behavior/snapline.js.map +1 -0
- package/lib/view/edge/AdjustPoint.js +11 -22
- package/lib/view/edge/AdjustPoint.js.map +1 -1
- package/lib/view/edge/BaseEdge.d.ts +2 -2
- package/lib/view/edge/BaseEdge.js +29 -21
- package/lib/view/edge/BaseEdge.js.map +1 -1
- package/lib/view/node/BaseNode.d.ts +4 -4
- package/lib/view/node/BaseNode.js +32 -23
- package/lib/view/node/BaseNode.js.map +1 -1
- package/lib/view/node/CircleNode.d.ts +1 -1
- package/lib/view/node/CircleNode.js.map +1 -1
- package/lib/view/node/DiamondNode.d.ts +1 -1
- package/lib/view/node/DiamondNode.js.map +1 -1
- package/lib/view/node/EllipseNode.d.ts +1 -1
- package/lib/view/node/EllipseNode.js.map +1 -1
- package/lib/view/node/HtmlNode.d.ts +1 -1
- package/lib/view/node/HtmlNode.js +2 -2
- package/lib/view/node/HtmlNode.js.map +1 -1
- package/lib/view/node/PolygonNode.d.ts +1 -1
- package/lib/view/node/PolygonNode.js.map +1 -1
- package/lib/view/node/RectNode.d.ts +1 -1
- package/lib/view/node/RectNode.js.map +1 -1
- package/lib/view/node/TextNode.d.ts +1 -1
- package/lib/view/node/TextNode.js +1 -1
- package/lib/view/node/TextNode.js.map +1 -1
- package/lib/view/overlay/CanvasOverlay.js +5 -4
- package/lib/view/overlay/CanvasOverlay.js.map +1 -1
- package/lib/view/overlay/Grid.d.ts +35 -20
- package/lib/view/overlay/Grid.js +35 -26
- package/lib/view/overlay/Grid.js.map +1 -1
- package/lib/view/overlay/ToolOverlay.d.ts +1 -1
- package/lib/view/overlay/ToolOverlay.js +1 -1
- package/lib/view/overlay/ToolOverlay.js.map +1 -1
- package/lib/view/shape/Circle.d.ts +9 -1
- package/lib/view/shape/Circle.js +5 -5
- package/lib/view/shape/Circle.js.map +1 -1
- package/lib/view/shape/Ellipse.d.ts +10 -1
- package/lib/view/shape/Ellipse.js +5 -5
- package/lib/view/shape/Ellipse.js.map +1 -1
- package/lib/view/shape/Line.d.ts +14 -1
- package/lib/view/shape/Line.js +5 -7
- package/lib/view/shape/Line.js.map +1 -1
- package/lib/view/shape/Path.d.ts +3 -2
- package/lib/view/shape/Path.js +3 -3
- package/lib/view/shape/Path.js.map +1 -1
- package/lib/view/shape/Polygon.d.ts +5 -3
- package/lib/view/shape/Polygon.js +6 -6
- package/lib/view/shape/Polygon.js.map +1 -1
- package/lib/view/shape/Polyline.d.ts +7 -1
- package/lib/view/shape/Polyline.js +8 -6
- package/lib/view/shape/Polyline.js.map +1 -1
- package/lib/view/shape/Rect.d.ts +11 -13
- package/lib/view/shape/Rect.js +6 -9
- package/lib/view/shape/Rect.js.map +1 -1
- package/lib/view/shape/Text.d.ts +19 -1
- package/lib/view/shape/Text.js +29 -21
- package/lib/view/shape/Text.js.map +1 -1
- package/lib/view/text/BaseText.d.ts +12 -15
- package/lib/view/text/BaseText.js +46 -29
- package/lib/view/text/BaseText.js.map +1 -1
- package/lib/view/text/LineText.d.ts +19 -7
- package/lib/view/text/LineText.js +62 -57
- package/lib/view/text/LineText.js.map +1 -1
- package/package.json +5 -4
- package/src/LogicFlow.tsx +163 -79
- package/src/algorithm/edge.ts +1 -0
- package/src/algorithm/index.ts +2 -0
- package/src/algorithm/outline.ts +2 -2
- package/src/common/drag.ts +219 -0
- package/src/common/history.ts +108 -0
- package/src/common/index.ts +6 -0
- package/src/common/keyboard.ts +108 -0
- package/src/common/matrix.ts +122 -0
- package/src/common/vector.ts +93 -0
- package/src/constant/index.ts +43 -1
- package/src/event/eventArgs.ts +173 -34
- package/src/event/eventEmitter.ts +2 -3
- package/src/index.ts +6 -1
- package/src/keyboard/index.ts +2 -0
- package/src/keyboard/shortcut.ts +79 -8
- package/src/model/BaseModel.ts +18 -7
- package/src/model/EditConfigModel.ts +209 -97
- package/src/model/GraphModel.ts +64 -9
- package/src/model/TransformModel.ts +1 -1
- package/src/model/edge/BaseEdgeModel.ts +105 -42
- package/src/model/edge/BezierEdgeModel.ts +7 -6
- package/src/model/edge/LineEdgeModel.ts +2 -0
- package/src/model/edge/PolylineEdgeModel.ts +24 -18
- package/src/model/node/BaseNodeModel.ts +72 -47
- package/src/model/node/CircleNodeModel.ts +8 -7
- package/src/model/node/DiamondNodeModel.ts +9 -6
- package/src/model/node/EllipseNodeModel.ts +9 -6
- package/src/model/node/HtmlNodeModel.ts +8 -7
- package/src/model/node/PolygonNodeModel.ts +9 -7
- package/src/model/node/RectNodeModel.ts +16 -8
- package/src/model/node/TextNodeModel.ts +14 -1
- package/src/options.ts +18 -53
- package/src/tool/MultipleSelectTool.tsx +6 -6
- package/src/tool/TextEditTool.tsx +3 -3
- package/src/tool/index.ts +96 -2
- package/src/util/drag.ts +22 -6
- package/src/util/edge.ts +39 -13
- package/src/util/index.ts +1 -0
- package/src/util/node.ts +36 -13
- package/src/util/resize.ts +286 -0
- package/src/view/Anchor.tsx +7 -5
- package/src/view/Control.tsx +93 -62
- package/src/view/Graph.tsx +23 -6
- package/src/view/Rotate.tsx +2 -1
- package/src/view/behavior/index.ts +2 -0
- package/src/{tool → view/behavior}/snapline.ts +3 -4
- package/src/view/edge/AdjustPoint.tsx +35 -49
- package/src/view/edge/BaseEdge.tsx +65 -45
- package/src/view/node/BaseNode.tsx +55 -28
- package/src/view/node/CircleNode.tsx +3 -1
- package/src/view/node/DiamondNode.tsx +3 -1
- package/src/view/node/EllipseNode.tsx +3 -1
- package/src/view/node/HtmlNode.tsx +5 -3
- package/src/view/node/PolygonNode.tsx +3 -1
- package/src/view/node/RectNode.tsx +3 -1
- package/src/view/node/TextNode.tsx +4 -2
- package/src/view/overlay/CanvasOverlay.tsx +5 -4
- package/src/view/overlay/Grid.tsx +75 -53
- package/src/view/overlay/ToolOverlay.tsx +1 -1
- package/src/view/shape/Circle.tsx +21 -7
- package/src/view/shape/Ellipse.tsx +20 -6
- package/src/view/shape/Line.tsx +24 -9
- package/src/view/shape/Path.tsx +9 -6
- package/src/view/shape/Polygon.tsx +13 -10
- package/src/view/shape/Polyline.tsx +20 -8
- package/src/view/shape/Rect.tsx +19 -19
- package/src/view/shape/Text.tsx +64 -33
- package/src/view/text/BaseText.tsx +76 -42
- package/src/view/text/LineText.tsx +94 -80
- package/tsconfig.json +1 -1
- package/dist/index.js +0 -26
- package/dist/index.js.map +0 -1
- package/es/tool/snapline.d.ts +0 -3
- package/es/tool/snapline.js.map +0 -1
- package/es/tool/tool.d.ts +0 -22
- package/es/tool/tool.js +0 -43
- package/es/tool/tool.js.map +0 -1
- package/lib/tool/snapline.d.ts +0 -3
- package/lib/tool/snapline.js.map +0 -1
- package/lib/tool/tool.d.ts +0 -22
- package/lib/tool/tool.js +0 -49
- package/lib/tool/tool.js.map +0 -1
- package/src/tool/tool.ts +0 -66
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { Component } from 'preact/compat'
|
|
2
|
+
import { IToolProps } from '.'
|
|
2
3
|
import { Model, observer } from '..'
|
|
3
4
|
import LogicFlow from '../LogicFlow'
|
|
4
5
|
import { StepDrag, IDragParams } from '../util'
|
|
5
6
|
import { ElementType, EventType } from '../constant'
|
|
6
7
|
import { getNodeOutline, getEdgeOutline } from '../algorithm/outline'
|
|
7
|
-
import { IToolProps } from './tool'
|
|
8
8
|
|
|
9
9
|
import GraphData = LogicFlow.GraphData
|
|
10
10
|
|
|
11
11
|
@observer
|
|
12
12
|
export default class MultipleSelect extends Component<IToolProps> {
|
|
13
|
-
static toolName = '
|
|
13
|
+
static toolName = 'multiple-select-tool'
|
|
14
14
|
stepDrag: StepDrag
|
|
15
15
|
|
|
16
16
|
constructor(props: IToolProps) {
|
|
@@ -40,13 +40,13 @@ export default class MultipleSelect extends Component<IToolProps> {
|
|
|
40
40
|
clientY,
|
|
41
41
|
ctrlKey,
|
|
42
42
|
})
|
|
43
|
-
this.props.
|
|
43
|
+
this.props.lf.container
|
|
44
44
|
?.querySelector('.lf-canvas-overlay[name="canvas-overlay"]')
|
|
45
45
|
?.dispatchEvent(newEvent)
|
|
46
46
|
}
|
|
47
47
|
onDragging = ({ deltaX, deltaY }: IDragParams) => {
|
|
48
|
-
const { graphModel,
|
|
49
|
-
const { SCALE_X, SCALE_Y } =
|
|
48
|
+
const { graphModel, lf } = this.props
|
|
49
|
+
const { SCALE_X, SCALE_Y } = lf.getTransform()
|
|
50
50
|
const selectElements = graphModel.getSelectElements(true)
|
|
51
51
|
graphModel.moveNodes(
|
|
52
52
|
selectElements.nodes.map((node) => node.id),
|
|
@@ -88,7 +88,7 @@ export default class MultipleSelect extends Component<IToolProps> {
|
|
|
88
88
|
const {
|
|
89
89
|
graphModel: { selectElements, transformModel },
|
|
90
90
|
} = this.props
|
|
91
|
-
const { SCALE_X, SCALE_Y } = this.props.
|
|
91
|
+
const { SCALE_X, SCALE_Y } = this.props.lf.getTransform()
|
|
92
92
|
if (selectElements.size <= 1) return
|
|
93
93
|
let x = Number.MAX_SAFE_INTEGER
|
|
94
94
|
let y = Number.MAX_SAFE_INTEGER
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { createRef, Component } from 'preact'
|
|
1
|
+
import { createRef, Component } from 'preact/compat'
|
|
2
|
+
import { IToolProps } from '.'
|
|
2
3
|
import { ElementState, observer } from '..'
|
|
3
4
|
import { ElementType, EventType, ModelType } from '../constant'
|
|
4
|
-
import { IToolProps } from './tool'
|
|
5
5
|
|
|
6
6
|
type IState = {
|
|
7
7
|
style: {
|
|
@@ -12,7 +12,7 @@ type IState = {
|
|
|
12
12
|
|
|
13
13
|
@observer
|
|
14
14
|
export class TextEditTool extends Component<IToolProps, IState> {
|
|
15
|
-
static toolName = '
|
|
15
|
+
static toolName = 'text-edit-tool'
|
|
16
16
|
ref = createRef()
|
|
17
17
|
__prevText = {
|
|
18
18
|
type: '',
|
package/src/tool/index.ts
CHANGED
|
@@ -1,2 +1,96 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { Component, ReactElement } from 'preact/compat'
|
|
2
|
+
import { action, observable } from 'mobx'
|
|
3
|
+
import { forEach } from 'lodash-es'
|
|
4
|
+
import TextEdit from './TextEditTool'
|
|
5
|
+
import MultipleSelect from './MultipleSelectTool'
|
|
6
|
+
import LogicFlow from '../LogicFlow'
|
|
7
|
+
import { ElementState, EventType } from '../constant'
|
|
8
|
+
import { GraphModel, BaseEdgeModel, BaseNodeModel } from '../model'
|
|
9
|
+
|
|
10
|
+
export type IToolProps = {
|
|
11
|
+
lf: LogicFlow
|
|
12
|
+
graphModel: GraphModel
|
|
13
|
+
textEditElement?: BaseNodeModel | BaseEdgeModel
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
type ToolConstructor = new (props: IToolProps) => Component<IToolProps>
|
|
17
|
+
|
|
18
|
+
// 默认内置的工具
|
|
19
|
+
const defaultTools = [TextEdit, MultipleSelect]
|
|
20
|
+
|
|
21
|
+
export class Tool {
|
|
22
|
+
tools?: Component[]
|
|
23
|
+
components?: ReactElement<IToolProps>[]
|
|
24
|
+
@observable toolMap = new Map<string, ToolConstructor>()
|
|
25
|
+
|
|
26
|
+
disabledToolMap = new Map<string, ToolConstructor>()
|
|
27
|
+
instance: LogicFlow
|
|
28
|
+
|
|
29
|
+
constructor(instance: LogicFlow) {
|
|
30
|
+
this.instance = instance
|
|
31
|
+
forEach(defaultTools, (tool) => {
|
|
32
|
+
if (!this.isDisabled(tool.toolName)) {
|
|
33
|
+
this.registerTool(tool.toolName, tool)
|
|
34
|
+
}
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
// @see https://github.com/didi/LogicFlow/issues/152
|
|
38
|
+
const { graphModel } = instance
|
|
39
|
+
const { eventCenter } = graphModel
|
|
40
|
+
eventCenter.on(
|
|
41
|
+
`${EventType.GRAPH_TRANSFORM},${EventType.NODE_CLICK},${EventType.BLANK_CLICK} `,
|
|
42
|
+
() => {
|
|
43
|
+
const {
|
|
44
|
+
textEditElement,
|
|
45
|
+
editConfigModel: { edgeTextEdit, nodeTextEdit },
|
|
46
|
+
} = graphModel
|
|
47
|
+
// fix #826, 保留之前的文本可以编辑点击空白才设置为不可编辑。如果以后有其他需求再改。
|
|
48
|
+
if ((edgeTextEdit || nodeTextEdit) && textEditElement) {
|
|
49
|
+
graphModel.textEditElement?.setElementState(ElementState.DEFAULT)
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
private isDisabled(toolName) {
|
|
56
|
+
return this.instance.options.disabledTools?.indexOf(toolName) !== -1
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// 注册工具
|
|
60
|
+
registerTool(name: string, component: ToolConstructor) {
|
|
61
|
+
this.toolMap.set(name, component)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// 禁用工具
|
|
65
|
+
@action
|
|
66
|
+
disableTool(name: string): boolean | Error {
|
|
67
|
+
const tool = this.toolMap.get(name)
|
|
68
|
+
if (tool) {
|
|
69
|
+
this.disabledToolMap.set(name, tool)
|
|
70
|
+
this.toolMap.delete(name)
|
|
71
|
+
return true
|
|
72
|
+
}
|
|
73
|
+
throw new Error('禁用失败,不存在名为 ${tool} 的工具')
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
@action
|
|
77
|
+
enableTool(name: string): boolean | Error {
|
|
78
|
+
const tool = this.disabledToolMap.get(name)
|
|
79
|
+
if (tool) {
|
|
80
|
+
this.toolMap.set(name, tool)
|
|
81
|
+
this.disabledToolMap.delete(name)
|
|
82
|
+
return true
|
|
83
|
+
}
|
|
84
|
+
throw new Error('不存在名为 ${tool} 的工具')
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
getTools() {
|
|
88
|
+
return Array.from(this.toolMap.values())
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
getInstance() {
|
|
92
|
+
return this.instance
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export default Tool
|
package/src/util/drag.ts
CHANGED
|
@@ -10,7 +10,7 @@ const LEFT_MOUSE_BUTTON_CODE = 0
|
|
|
10
10
|
export type IDragParams = {
|
|
11
11
|
deltaX: number
|
|
12
12
|
deltaY: number
|
|
13
|
-
event
|
|
13
|
+
event?: MouseEvent
|
|
14
14
|
[key: string]: unknown
|
|
15
15
|
}
|
|
16
16
|
|
|
@@ -23,9 +23,16 @@ export type ICreateDragParams = {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
export type IStepperDragProps = {
|
|
26
|
-
eventType?:
|
|
26
|
+
eventType?:
|
|
27
|
+
| 'NODE'
|
|
28
|
+
| 'BLANK'
|
|
29
|
+
| 'SELECTION'
|
|
30
|
+
| 'ADJUST_POINT'
|
|
31
|
+
| 'TEXT'
|
|
32
|
+
| 'LABEL'
|
|
33
|
+
| ''
|
|
27
34
|
eventCenter?: EventEmitter
|
|
28
|
-
model?: Model.BaseModel |
|
|
35
|
+
model?: Model.BaseModel | unknown
|
|
29
36
|
data?: Record<string, unknown>
|
|
30
37
|
[key: string]: unknown
|
|
31
38
|
} & Partial<ICreateDragParams>
|
|
@@ -39,9 +46,16 @@ export class StepDrag {
|
|
|
39
46
|
|
|
40
47
|
step: number
|
|
41
48
|
isStopPropagation: boolean
|
|
42
|
-
eventType:
|
|
49
|
+
eventType:
|
|
50
|
+
| 'NODE'
|
|
51
|
+
| 'BLANK'
|
|
52
|
+
| 'SELECTION'
|
|
53
|
+
| 'ADJUST_POINT'
|
|
54
|
+
| 'TEXT'
|
|
55
|
+
| 'LABEL'
|
|
56
|
+
| ''
|
|
43
57
|
eventCenter?: EventEmitter
|
|
44
|
-
model?: Model.BaseModel |
|
|
58
|
+
model?: Model.BaseModel | any // TODO: 如何兼容 LabelModel 类型。 LabelModel 能否是 BaseModel 的实现呢?
|
|
45
59
|
data?: Record<string, unknown>
|
|
46
60
|
|
|
47
61
|
// 运行时
|
|
@@ -141,6 +155,8 @@ export class StepDrag {
|
|
|
141
155
|
event: e,
|
|
142
156
|
})
|
|
143
157
|
this.eventCenter?.emit(EventType[`${this.eventType}_MOUSEMOVE`], {
|
|
158
|
+
deltaX,
|
|
159
|
+
deltaY,
|
|
144
160
|
e,
|
|
145
161
|
data: this.data || elementData,
|
|
146
162
|
})
|
|
@@ -180,7 +196,7 @@ export class StepDrag {
|
|
|
180
196
|
|
|
181
197
|
DOC.removeEventListener('mousemove', this.handleMouseMove, false)
|
|
182
198
|
DOC.removeEventListener('mouseup', this.handleMouseUp, false)
|
|
183
|
-
this.onDragEnd({ event:
|
|
199
|
+
this.onDragEnd({ event: undefined })
|
|
184
200
|
this.isDragging = false
|
|
185
201
|
}
|
|
186
202
|
}
|
package/src/util/edge.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { pick } from 'lodash-es'
|
|
1
|
+
import { pick, forEach } from 'lodash-es'
|
|
2
2
|
import { getNodeBBox, isInNode, distance, sampleCubic } from '.'
|
|
3
3
|
import LogicFlow from '../LogicFlow'
|
|
4
4
|
import { Options } from '../options'
|
|
5
5
|
import { SegmentDirection } from '../constant'
|
|
6
|
-
import {
|
|
7
|
-
|
|
6
|
+
import {
|
|
7
|
+
getVerticalPointOfLine,
|
|
8
|
+
getCrossPointOfLine,
|
|
9
|
+
isInSegment,
|
|
10
|
+
} from '../algorithm'
|
|
8
11
|
import {
|
|
9
12
|
Model,
|
|
10
13
|
BaseNodeModel,
|
|
@@ -397,7 +400,7 @@ export const getNextNeighborPoints = (
|
|
|
397
400
|
return filterRepeatPoints(neighbors)
|
|
398
401
|
}
|
|
399
402
|
|
|
400
|
-
/* 路径查找,
|
|
403
|
+
/* 路径查找,AStar查找+曼哈顿距离
|
|
401
404
|
* 算法wiki:https://zh.wikipedia.org/wiki/A*%E6%90%9C%E5%B0%8B%E6%BC%94%E7%AE%97%E6%B3%95
|
|
402
405
|
* 方法无法复用,且调用了很多polyline相关的方法,暂不抽离到src/algorithm中
|
|
403
406
|
*/
|
|
@@ -590,10 +593,10 @@ export const getPolylinePoints = (
|
|
|
590
593
|
* @param pointsList 多个点组成的数组
|
|
591
594
|
*/
|
|
592
595
|
export const getLongestEdge = (pointsList: Point[]): [Point, Point] => {
|
|
593
|
-
let points
|
|
594
596
|
if (pointsList.length === 1) {
|
|
595
|
-
|
|
596
|
-
|
|
597
|
+
const [point] = pointsList
|
|
598
|
+
return [point, point]
|
|
599
|
+
} else {
|
|
597
600
|
let point1 = pointsList[0]
|
|
598
601
|
let point2 = pointsList[1]
|
|
599
602
|
let edgeLength = distance(point1.x, point1.y, point2.x, point2.y)
|
|
@@ -612,9 +615,8 @@ export const getLongestEdge = (pointsList: Point[]): [Point, Point] => {
|
|
|
612
615
|
point2 = newPoint2
|
|
613
616
|
}
|
|
614
617
|
}
|
|
615
|
-
|
|
618
|
+
return [point1, point2]
|
|
616
619
|
}
|
|
617
|
-
return points
|
|
618
620
|
}
|
|
619
621
|
|
|
620
622
|
/* 线段是否在节点内部,被包含了 */
|
|
@@ -650,8 +652,7 @@ export const getCrossPointInRect = (
|
|
|
650
652
|
start: Point,
|
|
651
653
|
end: Point,
|
|
652
654
|
node: BaseNodeModel,
|
|
653
|
-
): Point => {
|
|
654
|
-
let point
|
|
655
|
+
): Point | false | undefined => {
|
|
655
656
|
let crossSegments: [Point, Point] | undefined = undefined
|
|
656
657
|
const nodeBox = getNodeBBox(node)
|
|
657
658
|
const points = getPointsFromBBox(nodeBox)
|
|
@@ -667,9 +668,8 @@ export const getCrossPointInRect = (
|
|
|
667
668
|
}
|
|
668
669
|
}
|
|
669
670
|
if (crossSegments) {
|
|
670
|
-
|
|
671
|
+
return getCrossPointOfLine(start, end, crossSegments[0], crossSegments[1])
|
|
671
672
|
}
|
|
672
|
-
return point
|
|
673
673
|
}
|
|
674
674
|
/* 判断线段的方向 */
|
|
675
675
|
export const segmentDirection = (
|
|
@@ -915,6 +915,7 @@ export const getEndTangent = (
|
|
|
915
915
|
* 获取移动边后,文本位置距离边上的最近的一点
|
|
916
916
|
* @param point 边上文本的位置
|
|
917
917
|
* @param points 边的各个拐点
|
|
918
|
+
* TODO: Label实验没问题后统一改成新的计算方式,把这个方法废弃
|
|
918
919
|
*/
|
|
919
920
|
export const getClosestPointOfPolyline = (
|
|
920
921
|
point: Point,
|
|
@@ -1032,3 +1033,28 @@ export function createEdgeGenerator(
|
|
|
1032
1033
|
return Object.assign({ type: result }, currentEdge)
|
|
1033
1034
|
}
|
|
1034
1035
|
}
|
|
1036
|
+
|
|
1037
|
+
// 获取 Svg 标签文案高度,自动换行
|
|
1038
|
+
export type IGetSvgTextSizeParams = {
|
|
1039
|
+
rows: string[]
|
|
1040
|
+
rowsLength: number
|
|
1041
|
+
fontSize: number
|
|
1042
|
+
}
|
|
1043
|
+
export const getSvgTextSize = ({
|
|
1044
|
+
rows,
|
|
1045
|
+
rowsLength,
|
|
1046
|
+
fontSize,
|
|
1047
|
+
}: IGetSvgTextSizeParams): LogicFlow.RectSize => {
|
|
1048
|
+
let longestBytes = 0
|
|
1049
|
+
forEach(rows, (row) => {
|
|
1050
|
+
const rowBytesLength = getBytesLength(row)
|
|
1051
|
+
longestBytes = rowBytesLength > longestBytes ? rowBytesLength : longestBytes
|
|
1052
|
+
})
|
|
1053
|
+
|
|
1054
|
+
// 背景框宽度,最长一行字节数/2 * fontsize + 2
|
|
1055
|
+
// 背景框宽度, 行数 * fontsize + 2
|
|
1056
|
+
return {
|
|
1057
|
+
width: Math.ceil(longestBytes / 2) * fontSize + fontSize / 4,
|
|
1058
|
+
height: rowsLength * (fontSize + 2) + fontSize / 4,
|
|
1059
|
+
}
|
|
1060
|
+
}
|
package/src/util/index.ts
CHANGED
package/src/util/node.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { pick } from 'lodash-es'
|
|
2
|
+
import { createElement as h } from 'preact/compat'
|
|
2
3
|
import { getBytesLength } from './edge'
|
|
3
4
|
import LogicFlow from '../LogicFlow'
|
|
4
5
|
import {
|
|
@@ -18,6 +19,7 @@ import Direction = LogicFlow.Direction
|
|
|
18
19
|
import NodeConfig = LogicFlow.NodeConfig
|
|
19
20
|
import LineSegment = LogicFlow.LineSegment
|
|
20
21
|
import AnchorInfo = Model.AnchorInfo
|
|
22
|
+
import BoxBoundsPoint = Model.BoxBoundsPoint
|
|
21
23
|
|
|
22
24
|
/* 获取所有锚点 */
|
|
23
25
|
export const getAnchors = (data: BaseNodeModel) => {
|
|
@@ -144,13 +146,9 @@ export type NodeBBox = {
|
|
|
144
146
|
y: number
|
|
145
147
|
width: number
|
|
146
148
|
height: number
|
|
147
|
-
minX: number
|
|
148
|
-
minY: number
|
|
149
|
-
maxX: number
|
|
150
|
-
maxY: number
|
|
151
149
|
centerX: number
|
|
152
150
|
centerY: number
|
|
153
|
-
}
|
|
151
|
+
} & BoxBoundsPoint
|
|
154
152
|
|
|
155
153
|
/* 获取节点bbox */
|
|
156
154
|
export const getNodeBBox = (node: BaseNodeModel): NodeBBox => {
|
|
@@ -411,9 +409,14 @@ export const pickNodeConfig = (data: NodeConfig): NodeConfig => {
|
|
|
411
409
|
'x',
|
|
412
410
|
'y',
|
|
413
411
|
'text',
|
|
412
|
+
'label',
|
|
414
413
|
'properties',
|
|
415
414
|
'virtual', // 区域节点是否为dnd添加的虚拟节点
|
|
416
415
|
'rotate',
|
|
416
|
+
|
|
417
|
+
// TODO: 确认是否可以加到此处
|
|
418
|
+
'resizable',
|
|
419
|
+
'rotatable',
|
|
417
420
|
])
|
|
418
421
|
return nodeData
|
|
419
422
|
}
|
|
@@ -444,7 +447,26 @@ export const getNodeAnchorPosition = (
|
|
|
444
447
|
}
|
|
445
448
|
}
|
|
446
449
|
|
|
447
|
-
|
|
450
|
+
/*********************************************************
|
|
451
|
+
* Text 节点文本相关工具函数
|
|
452
|
+
********************************************************/
|
|
453
|
+
// Text 相关节点工具函数
|
|
454
|
+
// TODO: 获取文案高度,设置自动换行,利用 dom 计算高度
|
|
455
|
+
// function getTextHeight(text: string, font: string): number {
|
|
456
|
+
// const span = document.createElement('span');
|
|
457
|
+
// span.textContent = text;
|
|
458
|
+
// span.style.font = font;
|
|
459
|
+
|
|
460
|
+
// const range = document.createRange();
|
|
461
|
+
// range.selectNodeContents(span);
|
|
462
|
+
|
|
463
|
+
// const rect = range.getBoundingClientRect();
|
|
464
|
+
// const height = rect.height;
|
|
465
|
+
|
|
466
|
+
// return height;
|
|
467
|
+
// }
|
|
468
|
+
|
|
469
|
+
// 获取文案高度,自动换行,利用 dom 计算高度
|
|
448
470
|
export const getHtmlTextHeight = ({
|
|
449
471
|
rows,
|
|
450
472
|
style,
|
|
@@ -452,18 +474,18 @@ export const getHtmlTextHeight = ({
|
|
|
452
474
|
className,
|
|
453
475
|
}: {
|
|
454
476
|
rows: string[]
|
|
455
|
-
style:
|
|
477
|
+
style: h.JSX.CSSProperties
|
|
456
478
|
rowsLength: number
|
|
457
479
|
className: string
|
|
458
480
|
}) => {
|
|
459
481
|
const dom = document.createElement('div')
|
|
460
|
-
dom.style.fontSize = style.fontSize
|
|
461
|
-
dom.style.width = style.width
|
|
462
482
|
dom.className = className
|
|
463
|
-
dom.style.
|
|
464
|
-
dom.style.
|
|
483
|
+
dom.style.fontSize = `${style.fontSize}`
|
|
484
|
+
dom.style.width = `${style.width}`
|
|
485
|
+
dom.style.lineHeight = `${style.lineHeight}`
|
|
486
|
+
dom.style.padding = `${style.padding}`
|
|
465
487
|
if (style.fontFamily) {
|
|
466
|
-
dom.style.fontFamily = style.fontFamily
|
|
488
|
+
dom.style.fontFamily = `${style.fontFamily}`
|
|
467
489
|
}
|
|
468
490
|
if (rowsLength > 1) {
|
|
469
491
|
rows.forEach((row) => {
|
|
@@ -479,6 +501,7 @@ export const getHtmlTextHeight = ({
|
|
|
479
501
|
document.body.removeChild(dom)
|
|
480
502
|
return height
|
|
481
503
|
}
|
|
504
|
+
|
|
482
505
|
// 获取文案高度,自动换行,利用dom计算高度
|
|
483
506
|
export const getSvgTextWidthHeight = ({
|
|
484
507
|
rows,
|
|
@@ -506,7 +529,7 @@ export const getSvgTextWidthHeight = ({
|
|
|
506
529
|
/**
|
|
507
530
|
* @description 格式化边校验信息
|
|
508
531
|
*/
|
|
509
|
-
export const
|
|
532
|
+
export const formatAnchorConnectValidateData = (
|
|
510
533
|
data: Model.ConnectRuleResult,
|
|
511
534
|
) => {
|
|
512
535
|
if (typeof data !== 'object') {
|