@logicflow/core 2.0.0-beta.1 → 2.0.0-beta.11
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 +10 -10
- package/.turbo/turbo-build.log +36 -36
- package/__tests__/bugs/1545-spec.test.ts +19 -15
- package/__tests__/util/edge.test.ts +57 -57
- package/dist/index.min.js +9 -3
- 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 +6 -3
- package/es/options.js +2 -11
- 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 +43 -3
- 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/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 +6 -3
- package/lib/options.js +2 -11
- 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 +42 -2
- 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/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 +2 -1
- 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 +75 -44
- 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 +11 -15
- 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 +21 -4
- 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/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/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
package/es/view/text/LineText.js
CHANGED
|
@@ -24,21 +24,37 @@ var __assign = (this && this.__assign) || function () {
|
|
|
24
24
|
};
|
|
25
25
|
return __assign.apply(this, arguments);
|
|
26
26
|
};
|
|
27
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
28
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
29
|
+
if (!m) return o;
|
|
30
|
+
var i = m.call(o), r, ar = [], e;
|
|
31
|
+
try {
|
|
32
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
33
|
+
}
|
|
34
|
+
catch (error) { e = { error: error }; }
|
|
35
|
+
finally {
|
|
36
|
+
try {
|
|
37
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
38
|
+
}
|
|
39
|
+
finally { if (e) throw e.error; }
|
|
40
|
+
}
|
|
41
|
+
return ar;
|
|
42
|
+
};
|
|
27
43
|
import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
|
|
28
|
-
import Text from '
|
|
29
|
-
import
|
|
30
|
-
import
|
|
31
|
-
import { getBytesLength, getHtmlTextHeight, getSvgTextWidthHeight, } from '../../util';
|
|
44
|
+
import { Text, Rect } from '..';
|
|
45
|
+
import { BaseText } from '.';
|
|
46
|
+
import { getHtmlTextHeight, getSvgTextSize } from '../../util';
|
|
32
47
|
var LineText = /** @class */ (function (_super) {
|
|
33
48
|
__extends(LineText, _super);
|
|
34
|
-
function LineText(
|
|
35
|
-
var _this = _super.call(this,
|
|
36
|
-
|
|
49
|
+
function LineText(props) {
|
|
50
|
+
var _this = _super.call(this, props) || this;
|
|
51
|
+
// Hover 状态相关
|
|
52
|
+
_this.setHoverOn = function () {
|
|
37
53
|
_this.setState({
|
|
38
54
|
isHovered: true,
|
|
39
55
|
});
|
|
40
56
|
};
|
|
41
|
-
_this.
|
|
57
|
+
_this.setHoverOff = function () {
|
|
42
58
|
_this.setState({
|
|
43
59
|
isHovered: false,
|
|
44
60
|
});
|
|
@@ -49,23 +65,22 @@ var LineText = /** @class */ (function (_super) {
|
|
|
49
65
|
return _this;
|
|
50
66
|
}
|
|
51
67
|
LineText.prototype.getBackground = function () {
|
|
68
|
+
var isHovered = this.state.isHovered;
|
|
52
69
|
var model = this.props.model;
|
|
70
|
+
var text = model.text;
|
|
53
71
|
var style = model.getTextStyle();
|
|
54
|
-
var text = model.text, modelWidth = model.width;
|
|
55
72
|
var backgroundStyle = style.background || {};
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
backgroundStyle = __assign(__assign({}, backgroundStyle), style === null || style === void 0 ? void 0 : style.hover.background);
|
|
73
|
+
if (isHovered && style.hover && style.hover.background) {
|
|
74
|
+
backgroundStyle = __assign(__assign({}, backgroundStyle), style.hover.background);
|
|
59
75
|
}
|
|
60
|
-
//
|
|
61
|
-
if (text
|
|
62
|
-
var
|
|
63
|
-
var
|
|
64
|
-
var
|
|
65
|
-
var rows = String(value).split(/[\r\n]/g);
|
|
66
|
-
// 计算行数
|
|
76
|
+
// 当存在文本并且文本背景不为透明时,计算背景框
|
|
77
|
+
if ((text === null || text === void 0 ? void 0 : text.value) && (backgroundStyle === null || backgroundStyle === void 0 ? void 0 : backgroundStyle.fill) !== 'transparent') {
|
|
78
|
+
var fontSize = style.fontSize, textWidth = style.textWidth, lineHeight = style.lineHeight, overflowMode = style.overflowMode;
|
|
79
|
+
var wrapPadding = backgroundStyle.wrapPadding;
|
|
80
|
+
var rows = text === null || text === void 0 ? void 0 : text.value.split(/[\r\n]/g);
|
|
67
81
|
var rowsLength = rows.length;
|
|
68
|
-
var
|
|
82
|
+
var x = text.x, y = text.y;
|
|
83
|
+
var rectAttr = {};
|
|
69
84
|
if (overflowMode === 'autoWrap' && textWidth) {
|
|
70
85
|
var textHeight = getHtmlTextHeight({
|
|
71
86
|
rows: rows,
|
|
@@ -78,69 +93,62 @@ var LineText = /** @class */ (function (_super) {
|
|
|
78
93
|
rowsLength: rowsLength,
|
|
79
94
|
className: 'lf-get-text-height',
|
|
80
95
|
});
|
|
81
|
-
rectAttr = __assign(__assign({}, backgroundStyle), { x: x
|
|
96
|
+
rectAttr = __assign(__assign({}, backgroundStyle), { x: x, y: y, width: textWidth, height: textHeight });
|
|
82
97
|
}
|
|
83
98
|
else {
|
|
84
|
-
//
|
|
85
|
-
|
|
86
|
-
rows
|
|
87
|
-
rows.forEach(function (item) {
|
|
88
|
-
var rowByteLength = getBytesLength(item);
|
|
89
|
-
longestBytes_1 =
|
|
90
|
-
rowByteLength > longestBytes_1 ? rowByteLength : longestBytes_1;
|
|
91
|
-
});
|
|
92
|
-
// 背景框宽度,最长一行字节数/2 * fontsize + 2
|
|
93
|
-
// 背景框宽度, 行数 * fontsize + 2
|
|
94
|
-
var _b = getSvgTextWidthHeight({
|
|
95
|
-
rows: rows,
|
|
96
|
-
fontSize: fontSize,
|
|
97
|
-
rowsLength: rowsLength,
|
|
98
|
-
}), width = _b.width, height = _b.height;
|
|
99
|
+
// 背景框宽度,最长一行字节数 / 2 * fontSize + 2
|
|
100
|
+
// 背景框宽度,行数 * fontSize + 2
|
|
101
|
+
var _a = getSvgTextSize({ rows: rows, rowsLength: rowsLength, fontSize: fontSize }), width = _a.width, height = _a.height;
|
|
99
102
|
if (overflowMode === 'ellipsis') {
|
|
100
103
|
// https://github.com/didi/LogicFlow/issues/1151
|
|
101
104
|
// 边上的文字过长(使用"ellipsis"模式)出现省略号,背景也需要进行宽度的重新计算
|
|
102
105
|
// 跟Text.tsx保持同样的计算逻辑(overflowMode === 'ellipsis')
|
|
103
106
|
// Text.tsx使用textRealWidth=textWidth || width
|
|
104
107
|
// Text.tsx使用foreignObjectHeight = fontSize + 2;
|
|
105
|
-
width = textWidth
|
|
108
|
+
width = textWidth;
|
|
106
109
|
height = fontSize + 2;
|
|
107
110
|
}
|
|
108
|
-
// 根据设置的padding调整width, height, x, y的值
|
|
111
|
+
// 根据设置的 padding 调整 width, height, x, y 的值
|
|
112
|
+
// TODO: 下面方法感觉可以提取成工具方法
|
|
109
113
|
if (typeof backgroundStyle.wrapPadding === 'string') {
|
|
110
|
-
var
|
|
114
|
+
var padding = backgroundStyle.wrapPadding
|
|
111
115
|
.split(',')
|
|
112
116
|
.filter(function (padding) { return padding.trim(); })
|
|
113
117
|
.map(function (padding) { return parseFloat(padding.trim()); });
|
|
114
|
-
if (
|
|
115
|
-
if (
|
|
116
|
-
|
|
118
|
+
if (padding.length > 0 && padding.length <= 4) {
|
|
119
|
+
if (padding.length === 1) {
|
|
120
|
+
var _b = __read(padding, 1), allSides = _b[0];
|
|
121
|
+
padding = [allSides, allSides, allSides, allSides];
|
|
117
122
|
}
|
|
118
|
-
else if (
|
|
119
|
-
|
|
123
|
+
else if (padding.length === 2) {
|
|
124
|
+
var _c = __read(padding, 2), vertical = _c[0], horizontal = _c[1];
|
|
125
|
+
padding = [vertical, horizontal, vertical, horizontal];
|
|
120
126
|
}
|
|
121
|
-
else if (
|
|
122
|
-
|
|
127
|
+
else if (padding.length === 3) {
|
|
128
|
+
var _d = __read(padding, 3), top_1 = _d[0], horizontal = _d[1], bottom_1 = _d[2];
|
|
129
|
+
padding = [top_1, horizontal, bottom_1, horizontal];
|
|
123
130
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
131
|
+
var _e = __read(padding, 4), top_2 = _e[0], right = _e[1], bottom = _e[2], left = _e[3];
|
|
132
|
+
width += right + left;
|
|
133
|
+
height += top_2 + bottom;
|
|
134
|
+
x = x + (right - left) / 2;
|
|
135
|
+
y = y + (bottom - top_2) / 2;
|
|
128
136
|
}
|
|
129
137
|
}
|
|
130
138
|
rectAttr = __assign(__assign({}, backgroundStyle), { x: x - 1, y: y - 1, width: width, height: height });
|
|
131
139
|
}
|
|
132
140
|
return _jsx(Rect, __assign({}, rectAttr));
|
|
133
141
|
}
|
|
142
|
+
return null;
|
|
134
143
|
};
|
|
135
144
|
LineText.prototype.getShape = function () {
|
|
136
145
|
var model = this.props.model;
|
|
137
|
-
var
|
|
138
|
-
var value = text.value, x = text.x, y = text.y;
|
|
146
|
+
var _a = model.text, x = _a.x, y = _a.y, value = _a.value;
|
|
139
147
|
if (!value)
|
|
140
148
|
return null;
|
|
141
149
|
var style = model.getTextStyle();
|
|
142
|
-
var
|
|
143
|
-
return (_jsxs("g", { className: "lf-line-text", onMouseEnter: this.
|
|
150
|
+
var attrs = __assign({ x: x, y: y, value: value, model: model, className: 'lf-element-text' }, style);
|
|
151
|
+
return (_jsxs("g", { className: "lf-line-text", onMouseEnter: this.setHoverOn, onMouseLeave: this.setHoverOff, children: [this.getBackground(), _jsx(Text, __assign({}, attrs))] }));
|
|
144
152
|
};
|
|
145
153
|
return LineText;
|
|
146
154
|
}(BaseText));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineText.js","sourceRoot":"","sources":["../../../src/view/text/LineText.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LineText.js","sourceRoot":"","sources":["../../../src/view/text/LineText.tsx"],"names":[],"mappings":"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"}
|
package/lib/LogicFlow.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { ComponentType, createElement as h } from 'preact/compat';
|
|
2
2
|
import { Options as LFOptions } from './options';
|
|
3
3
|
import * as _Model from './model';
|
|
4
|
-
import { BaseEdgeModel, BaseNodeModel,
|
|
5
|
-
import Dnd from './view/behavior
|
|
6
|
-
import Tool from './tool
|
|
7
|
-
import Keyboard from './keyboard';
|
|
4
|
+
import { BaseEdgeModel, BaseNodeModel, IEditConfigType, GraphModel, SnaplineModel, ZoomParamType } from './model';
|
|
5
|
+
import { Dnd } from './view/behavior';
|
|
6
|
+
import Tool from './tool';
|
|
8
7
|
import History from './history';
|
|
8
|
+
import Keyboard from './keyboard';
|
|
9
9
|
import { EventCallback, CallbackArgs, EventArgs } from './event/eventEmitter';
|
|
10
10
|
import { EventType, SegmentDirection } from './constant';
|
|
11
11
|
import Extension = LogicFlow.Extension;
|
|
12
|
-
import
|
|
12
|
+
import ExtensionConfig = LogicFlow.ExtensionConfig;
|
|
13
13
|
import ExtensionConstructor = LogicFlow.ExtensionConstructor;
|
|
14
14
|
import GraphConfigData = LogicFlow.GraphConfigData;
|
|
15
15
|
import NodeConfig = LogicFlow.NodeConfig;
|
|
@@ -21,10 +21,12 @@ import RegisterConfig = LogicFlow.RegisterConfig;
|
|
|
21
21
|
import GraphElements = LogicFlow.GraphElements;
|
|
22
22
|
import Position = LogicFlow.Position;
|
|
23
23
|
import PointTuple = LogicFlow.PointTuple;
|
|
24
|
-
import
|
|
24
|
+
import ExtensionRenderFunc = LogicFlow.ExtensionRenderFunc;
|
|
25
25
|
import RegisterElementFunc = LogicFlow.RegisterElementFunc;
|
|
26
26
|
import PropertiesType = LogicFlow.PropertiesType;
|
|
27
27
|
import ClientPosition = LogicFlow.ClientPosition;
|
|
28
|
+
import ExtensionDefinition = LogicFlow.ExtensionDefinition;
|
|
29
|
+
import ExtensionType = LogicFlow.ExtensionType;
|
|
28
30
|
declare const pluginFlag: unique symbol;
|
|
29
31
|
export declare class LogicFlow {
|
|
30
32
|
readonly container: HTMLElement;
|
|
@@ -36,10 +38,10 @@ export declare class LogicFlow {
|
|
|
36
38
|
dnd: Dnd;
|
|
37
39
|
tool: Tool;
|
|
38
40
|
snaplineModel?: SnaplineModel;
|
|
39
|
-
components:
|
|
40
|
-
readonly plugins:
|
|
41
|
-
static extensions: Map<string,
|
|
42
|
-
extension: Record<string, Extension>;
|
|
41
|
+
components: ExtensionRenderFunc[];
|
|
42
|
+
readonly plugins: ExtensionType[];
|
|
43
|
+
static extensions: Map<string, ExtensionConfig>;
|
|
44
|
+
extension: Record<string, Extension | ExtensionDefinition>;
|
|
43
45
|
readonly width?: number;
|
|
44
46
|
readonly height?: number;
|
|
45
47
|
/**
|
|
@@ -48,8 +50,8 @@ export declare class LogicFlow {
|
|
|
48
50
|
* 详情请参考 adapter docs
|
|
49
51
|
* 包括 adapterIn 和 adapterOut 两个方法
|
|
50
52
|
*/
|
|
51
|
-
|
|
52
|
-
|
|
53
|
+
adapterIn?: (data: unknown) => GraphData;
|
|
54
|
+
adapterOut?: (data: GraphData, ...rest: any) => unknown;
|
|
53
55
|
[propName: string]: any;
|
|
54
56
|
private initContainer;
|
|
55
57
|
protected get [Symbol.toStringTag](): string;
|
|
@@ -120,27 +122,27 @@ export declare class LogicFlow {
|
|
|
120
122
|
* 获取所有以此节点为终点的边
|
|
121
123
|
* @param { string } nodeId
|
|
122
124
|
*/
|
|
123
|
-
getNodeIncomingEdge(nodeId: string): _Model.BaseEdgeModel[];
|
|
125
|
+
getNodeIncomingEdge(nodeId: string): _Model.BaseEdgeModel<PropertiesType>[];
|
|
124
126
|
/**
|
|
125
127
|
* 获取所有以此节点为起点的边
|
|
126
128
|
* @param {string} nodeId
|
|
127
129
|
*/
|
|
128
|
-
getNodeOutgoingEdge(nodeId: string): _Model.BaseEdgeModel[];
|
|
130
|
+
getNodeOutgoingEdge(nodeId: string): _Model.BaseEdgeModel<PropertiesType>[];
|
|
129
131
|
/**
|
|
130
132
|
* 获取节点连接到的所有起始节点
|
|
131
133
|
* @param {string} nodeId
|
|
132
134
|
*/
|
|
133
|
-
getNodeIncomingNode(nodeId: string): _Model.BaseNodeModel[];
|
|
135
|
+
getNodeIncomingNode(nodeId: string): _Model.BaseNodeModel<PropertiesType>[];
|
|
134
136
|
/**
|
|
135
137
|
* 获取节点连接到的所有目标节点
|
|
136
138
|
* @param {string} nodeId
|
|
137
139
|
*/
|
|
138
|
-
getNodeOutgoingNode(nodeId: string): _Model.BaseNodeModel[];
|
|
140
|
+
getNodeOutgoingNode(nodeId: string): _Model.BaseNodeModel<PropertiesType>[];
|
|
139
141
|
/**
|
|
140
142
|
* 内部保留方法
|
|
141
143
|
* 创建一个fakeNode,用于dnd插件拖动节点进画布的时候使用。
|
|
142
144
|
*/
|
|
143
|
-
createFakeNode(nodeConfig: NodeConfig): _Model.BaseNodeModel | null;
|
|
145
|
+
createFakeNode(nodeConfig: NodeConfig): _Model.BaseNodeModel<PropertiesType> | null;
|
|
144
146
|
/**
|
|
145
147
|
* 内部保留方法
|
|
146
148
|
* 移除fakeNode
|
|
@@ -253,7 +255,7 @@ export declare class LogicFlow {
|
|
|
253
255
|
* @param edges
|
|
254
256
|
* @param distance
|
|
255
257
|
*/
|
|
256
|
-
addElements({ nodes, edges }: GraphConfigData, distance?: number): GraphElements
|
|
258
|
+
addElements({ nodes, edges }: GraphConfigData, distance?: number): GraphElements;
|
|
257
259
|
/**
|
|
258
260
|
* 将图形选中
|
|
259
261
|
* @param id 选择元素ID
|
|
@@ -351,12 +353,12 @@ export declare class LogicFlow {
|
|
|
351
353
|
* @param {object} config 编辑配置
|
|
352
354
|
* @see todo docs link
|
|
353
355
|
*/
|
|
354
|
-
updateEditConfig(config:
|
|
356
|
+
updateEditConfig(config: Partial<IEditConfigType>): void;
|
|
355
357
|
/**
|
|
356
358
|
* 获取流程图当前编辑相关设置
|
|
357
359
|
* @see todo docs link
|
|
358
360
|
*/
|
|
359
|
-
getEditConfig():
|
|
361
|
+
getEditConfig(): _Model.IEditConfigType;
|
|
360
362
|
/*********************************************************
|
|
361
363
|
* Graph 相关方法
|
|
362
364
|
********************************************************/
|
|
@@ -560,7 +562,7 @@ export declare class LogicFlow {
|
|
|
560
562
|
* @param extension
|
|
561
563
|
* @param props
|
|
562
564
|
*/
|
|
563
|
-
static use(extension: ExtensionConstructor, props?: Record<string, unknown>): void;
|
|
565
|
+
static use(extension: ExtensionConstructor | ExtensionDefinition, props?: Record<string, unknown>): void;
|
|
564
566
|
private installPlugins;
|
|
565
567
|
/**
|
|
566
568
|
* 加载插件-内部方法
|
|
@@ -568,18 +570,24 @@ export declare class LogicFlow {
|
|
|
568
570
|
private installPlugin;
|
|
569
571
|
}
|
|
570
572
|
export declare namespace LogicFlow {
|
|
573
|
+
/**
|
|
574
|
+
* LogicFlow init Options
|
|
575
|
+
*/
|
|
571
576
|
interface Options extends LFOptions.Common {
|
|
572
577
|
}
|
|
573
578
|
type DomAttributes = {
|
|
574
579
|
className?: string;
|
|
575
580
|
[key: string]: string | undefined;
|
|
576
581
|
};
|
|
577
|
-
|
|
582
|
+
interface PropertiesType {
|
|
578
583
|
width?: number;
|
|
579
584
|
height?: number;
|
|
580
585
|
rx?: number;
|
|
581
586
|
ry?: number;
|
|
582
|
-
|
|
587
|
+
style?: LogicFlow.CommonTheme;
|
|
588
|
+
textStyle?: LogicFlow.CommonTheme;
|
|
589
|
+
[key: string]: any;
|
|
590
|
+
}
|
|
583
591
|
type AttributesType = Record<string, any>;
|
|
584
592
|
type VectorData = {
|
|
585
593
|
deltaX: number;
|
|
@@ -623,9 +631,37 @@ export declare namespace LogicFlow {
|
|
|
623
631
|
};
|
|
624
632
|
type TextConfig = {
|
|
625
633
|
value: string;
|
|
634
|
+
x: number;
|
|
635
|
+
y: number;
|
|
636
|
+
editable?: boolean;
|
|
637
|
+
draggable?: boolean;
|
|
638
|
+
};
|
|
639
|
+
type LabelConfig = {
|
|
640
|
+
id?: string;
|
|
641
|
+
x: number;
|
|
642
|
+
y: number;
|
|
643
|
+
content?: string;
|
|
644
|
+
value: string;
|
|
645
|
+
rotate?: number;
|
|
646
|
+
style?: h.JSX.CSSProperties;
|
|
626
647
|
editable?: boolean;
|
|
627
648
|
draggable?: boolean;
|
|
628
|
-
|
|
649
|
+
labelWidth?: number;
|
|
650
|
+
textOverflowMode?: 'ellipsis' | 'wrap' | 'clip' | 'nowrap' | 'default';
|
|
651
|
+
vertical?: boolean;
|
|
652
|
+
};
|
|
653
|
+
type LabelOption = {
|
|
654
|
+
isVertical: boolean;
|
|
655
|
+
isMultiple: boolean;
|
|
656
|
+
maxCount?: number;
|
|
657
|
+
};
|
|
658
|
+
interface LabelData extends LabelConfig {
|
|
659
|
+
id: string;
|
|
660
|
+
x: number;
|
|
661
|
+
y: number;
|
|
662
|
+
content: string;
|
|
663
|
+
value: string;
|
|
664
|
+
}
|
|
629
665
|
type AppendConfig = {
|
|
630
666
|
startIndex: number;
|
|
631
667
|
endIndex: number;
|
|
@@ -662,16 +698,18 @@ export declare namespace LogicFlow {
|
|
|
662
698
|
properties?: Record<string, unknown>;
|
|
663
699
|
[key: string]: any;
|
|
664
700
|
};
|
|
665
|
-
interface NodeConfig {
|
|
701
|
+
interface NodeConfig<P extends PropertiesType = PropertiesType> {
|
|
666
702
|
id?: string;
|
|
667
703
|
type: string;
|
|
668
704
|
x: number;
|
|
669
705
|
y: number;
|
|
670
706
|
text?: TextConfig | string;
|
|
671
707
|
zIndex?: number;
|
|
672
|
-
properties?:
|
|
708
|
+
properties?: P;
|
|
673
709
|
virtual?: boolean;
|
|
674
710
|
rotate?: number;
|
|
711
|
+
rotatable?: boolean;
|
|
712
|
+
resizable?: boolean;
|
|
675
713
|
[key: string]: any;
|
|
676
714
|
}
|
|
677
715
|
interface NodeData extends NodeConfig {
|
|
@@ -679,7 +717,7 @@ export declare namespace LogicFlow {
|
|
|
679
717
|
text?: TextConfig;
|
|
680
718
|
[key: string]: unknown;
|
|
681
719
|
}
|
|
682
|
-
interface EdgeConfig {
|
|
720
|
+
interface EdgeConfig<P extends PropertiesType = PropertiesType> {
|
|
683
721
|
id?: string;
|
|
684
722
|
type?: string;
|
|
685
723
|
sourceNodeId: string;
|
|
@@ -691,7 +729,7 @@ export declare namespace LogicFlow {
|
|
|
691
729
|
text?: TextConfig | string;
|
|
692
730
|
pointsList?: Point[];
|
|
693
731
|
zIndex?: number;
|
|
694
|
-
properties?:
|
|
732
|
+
properties?: P;
|
|
695
733
|
}
|
|
696
734
|
interface EdgeData extends EdgeConfig {
|
|
697
735
|
id: string;
|
|
@@ -735,6 +773,8 @@ export declare namespace LogicFlow {
|
|
|
735
773
|
radius?: number;
|
|
736
774
|
rx?: number;
|
|
737
775
|
ry?: number;
|
|
776
|
+
width?: number;
|
|
777
|
+
height?: number;
|
|
738
778
|
path?: string;
|
|
739
779
|
[key: string]: unknown;
|
|
740
780
|
};
|
|
@@ -799,6 +839,7 @@ export declare namespace LogicFlow {
|
|
|
799
839
|
* ellipsis: 超出省略
|
|
800
840
|
*/
|
|
801
841
|
overflowMode?: 'default' | 'autoWrap' | 'ellipsis';
|
|
842
|
+
textWidth?: number;
|
|
802
843
|
background?: RectTheme;
|
|
803
844
|
/**
|
|
804
845
|
* 背景区域 padding
|
|
@@ -908,8 +949,8 @@ export declare namespace LogicFlow {
|
|
|
908
949
|
coordinate: Position;
|
|
909
950
|
};
|
|
910
951
|
export type FocusOnArgsType = FocusOnById | FocusOnByCoordinate;
|
|
911
|
-
export type BaseNodeModelCtor = typeof BaseNodeModel
|
|
912
|
-
export type BaseEdgeModelCtor = typeof BaseEdgeModel
|
|
952
|
+
export type BaseNodeModelCtor = typeof BaseNodeModel<PropertiesType>;
|
|
953
|
+
export type BaseEdgeModelCtor = typeof BaseEdgeModel<PropertiesType>;
|
|
913
954
|
export type GraphElementCtor = BaseNodeModelCtor | BaseEdgeModelCtor;
|
|
914
955
|
export type GraphElement = BaseNodeModel | BaseEdgeModel;
|
|
915
956
|
export type GraphElements = {
|
|
@@ -936,26 +977,33 @@ export declare namespace LogicFlow {
|
|
|
936
977
|
export interface LogicFlowConstructor {
|
|
937
978
|
new (options: LFOptions.Definition): LogicFlow;
|
|
938
979
|
}
|
|
939
|
-
|
|
980
|
+
/**
|
|
981
|
+
* Extension 插件类型
|
|
982
|
+
*/
|
|
983
|
+
export type ExtensionType = ExtensionConstructor | ExtensionDefinition;
|
|
984
|
+
export type ExtensionConfig = {
|
|
940
985
|
[pluginFlag]: symbol;
|
|
941
|
-
extension:
|
|
942
|
-
props?: Record<string,
|
|
986
|
+
extension: ExtensionType;
|
|
987
|
+
props?: Record<string, any>;
|
|
943
988
|
};
|
|
944
|
-
export type
|
|
989
|
+
export type IExtensionProps = {
|
|
945
990
|
lf: LogicFlow;
|
|
946
991
|
LogicFlow: LogicFlowConstructor;
|
|
947
|
-
options: Record<string, unknown>;
|
|
948
992
|
props?: Record<string, unknown>;
|
|
993
|
+
options: Record<string, unknown>;
|
|
949
994
|
};
|
|
950
995
|
export interface ExtensionConstructor {
|
|
951
996
|
pluginName: string;
|
|
952
|
-
new (props:
|
|
997
|
+
new (props: IExtensionProps): Extension;
|
|
953
998
|
}
|
|
954
|
-
export type
|
|
999
|
+
export type ExtensionRenderFunc = (lf: LogicFlow, container: HTMLElement) => void;
|
|
1000
|
+
export type ExtensionDefinition = {
|
|
1001
|
+
pluginName: string;
|
|
1002
|
+
install?: (lf: LogicFlow, LFCtor: LogicFlowConstructor) => void;
|
|
1003
|
+
render?: ExtensionRenderFunc;
|
|
1004
|
+
};
|
|
955
1005
|
export interface Extension {
|
|
956
|
-
|
|
957
|
-
install?: (lf: LogicFlow, logicFlow: LogicFlowConstructor) => void;
|
|
958
|
-
render?: ExtensionRender;
|
|
1006
|
+
render: ExtensionRenderFunc;
|
|
959
1007
|
destroy?: () => void;
|
|
960
1008
|
}
|
|
961
1009
|
export {};
|