@logicflow/core 2.0.0 → 2.0.2
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 +7 -10
- package/CHANGELOG.md +131 -71
- package/dist/index.min.js +1 -31
- package/dist/index.min.js.map +1 -1
- package/es/LogicFlow.js +0 -1
- package/es/algorithm/edge.js +0 -1
- package/es/algorithm/index.js +0 -1
- package/es/algorithm/outline.js +0 -1
- package/es/common/drag.js +0 -1
- package/es/common/history.js +0 -1
- package/es/common/index.js +0 -1
- package/es/common/keyboard.js +0 -1
- package/es/common/matrix.js +0 -1
- package/es/common/vector.js +0 -1
- package/es/constant/index.js +0 -1
- package/es/event/eventArgs.js +0 -1
- package/es/event/eventEmitter.js +0 -1
- package/es/history/index.js +0 -1
- package/es/index.js +0 -1
- package/es/keyboard/index.js +0 -1
- package/es/keyboard/shortcut.js +0 -1
- package/es/model/BaseModel.js +0 -1
- package/es/model/EditConfigModel.js +0 -1
- package/es/model/GraphModel.d.ts +5 -11
- package/es/model/GraphModel.js +24 -9
- package/es/model/SnaplineModel.js +0 -1
- package/es/model/TransformModel.js +0 -1
- package/es/model/edge/BaseEdgeModel.js +6 -6
- package/es/model/edge/BezierEdgeModel.js +0 -1
- package/es/model/edge/LineEdgeModel.js +0 -1
- package/es/model/edge/PolylineEdgeModel.js +0 -1
- package/es/model/edge/index.js +0 -1
- package/es/model/index.js +0 -1
- package/es/model/node/BaseNodeModel.d.ts +1 -0
- package/es/model/node/BaseNodeModel.js +13 -16
- package/es/model/node/CircleNodeModel.js +1 -1
- package/es/model/node/DiamondNodeModel.js +1 -1
- package/es/model/node/EllipseNodeModel.js +1 -1
- package/es/model/node/HtmlNodeModel.js +0 -1
- package/es/model/node/PolygonNodeModel.js +1 -1
- package/es/model/node/RectNodeModel.js +5 -5
- package/es/model/node/TextNodeModel.js +0 -1
- package/es/model/node/index.js +0 -1
- package/es/options.js +0 -1
- package/es/style/raw.js +0 -1
- package/es/tool/MultipleSelectTool.js +0 -1
- package/es/tool/TextEditTool.js +0 -1
- package/es/tool/index.js +0 -1
- package/es/util/animation.js +0 -1
- package/es/util/browser.js +0 -1
- package/es/util/compatible.js +0 -1
- package/es/util/drag.js +2 -1
- package/es/util/edge.js +0 -1
- package/es/util/geometry.js +0 -1
- package/es/util/graph.js +0 -1
- package/es/util/index.js +0 -1
- package/es/util/matrix.js +0 -1
- package/es/util/mobx.js +0 -1
- package/es/util/node.js +0 -1
- package/es/util/raf.js +0 -1
- package/es/util/resize.js +0 -1
- package/es/util/sampling.js +0 -1
- package/es/util/theme.js +0 -1
- package/es/util/uuid.js +0 -1
- package/es/util/vector.js +0 -1
- package/es/util/zIndex.js +0 -1
- package/es/view/Anchor.d.ts +1 -1
- package/es/view/Anchor.js +2 -3
- package/es/view/Control.js +0 -1
- package/es/view/Graph.d.ts +2 -1
- package/es/view/Graph.js +3 -3
- package/es/view/Rotate.js +0 -1
- package/es/view/behavior/dnd.js +0 -1
- package/es/view/behavior/index.js +0 -1
- package/es/view/behavior/snapline.js +0 -1
- package/es/view/edge/AdjustPoint.js +0 -1
- package/es/view/edge/Arrow.js +0 -1
- package/es/view/edge/BaseEdge.js +0 -1
- package/es/view/edge/BezierEdge.js +0 -1
- package/es/view/edge/LineEdge.js +0 -1
- package/es/view/edge/PolylineEdge.js +0 -1
- package/es/view/edge/index.js +0 -1
- package/es/view/index.js +0 -1
- package/es/view/node/BaseNode.js +0 -1
- package/es/view/node/CircleNode.js +0 -1
- package/es/view/node/DiamondNode.js +0 -1
- package/es/view/node/EllipseNode.js +0 -1
- package/es/view/node/HtmlNode.js +0 -1
- package/es/view/node/PolygonNode.js +0 -1
- package/es/view/node/RectNode.js +0 -1
- package/es/view/node/TextNode.js +0 -1
- package/es/view/node/index.js +0 -1
- package/es/view/overlay/BackgroundOverlay.js +0 -1
- package/es/view/overlay/BezierAdjustOverlay.js +0 -1
- package/es/view/overlay/CanvasOverlay.js +0 -1
- package/es/view/overlay/Grid.js +0 -1
- package/es/view/overlay/ModificationOverlay.js +0 -1
- package/es/view/overlay/OutlineOverlay.js +0 -1
- package/es/view/overlay/SnaplineOverlay.js +0 -1
- package/es/view/overlay/ToolOverlay.js +0 -1
- package/es/view/overlay/getTransformHoc.js +0 -1
- package/es/view/overlay/index.js +0 -1
- package/es/view/shape/Circle.js +0 -1
- package/es/view/shape/Ellipse.js +0 -1
- package/es/view/shape/Line.js +0 -1
- package/es/view/shape/Path.js +0 -1
- package/es/view/shape/Polygon.js +0 -1
- package/es/view/shape/Polyline.js +0 -1
- package/es/view/shape/Rect.js +0 -1
- package/es/view/shape/Text.js +0 -1
- package/es/view/shape/index.js +0 -1
- package/es/view/text/BaseText.js +0 -1
- package/es/view/text/LineText.js +0 -1
- package/es/view/text/index.js +0 -1
- package/lib/LogicFlow.js +0 -1
- package/lib/algorithm/edge.js +0 -1
- package/lib/algorithm/index.js +0 -1
- package/lib/algorithm/outline.js +0 -1
- package/lib/common/drag.js +0 -1
- package/lib/common/history.js +0 -1
- package/lib/common/index.js +0 -1
- package/lib/common/keyboard.js +0 -1
- package/lib/common/matrix.js +0 -1
- package/lib/common/vector.js +0 -1
- package/lib/constant/index.js +0 -1
- package/lib/event/eventArgs.js +0 -1
- package/lib/event/eventEmitter.js +0 -1
- package/lib/history/index.js +0 -1
- package/lib/index.js +0 -1
- package/lib/keyboard/index.js +0 -1
- package/lib/keyboard/shortcut.js +0 -1
- package/lib/model/BaseModel.js +0 -1
- package/lib/model/EditConfigModel.js +0 -1
- package/lib/model/GraphModel.d.ts +5 -11
- package/lib/model/GraphModel.js +24 -9
- package/lib/model/SnaplineModel.js +0 -1
- package/lib/model/TransformModel.js +0 -1
- package/lib/model/edge/BaseEdgeModel.js +5 -5
- package/lib/model/edge/BezierEdgeModel.js +0 -1
- package/lib/model/edge/LineEdgeModel.js +0 -1
- package/lib/model/edge/PolylineEdgeModel.js +0 -1
- package/lib/model/edge/index.js +0 -1
- package/lib/model/index.js +0 -1
- package/lib/model/node/BaseNodeModel.d.ts +1 -0
- package/lib/model/node/BaseNodeModel.js +12 -15
- package/lib/model/node/CircleNodeModel.js +1 -1
- package/lib/model/node/DiamondNodeModel.js +1 -1
- package/lib/model/node/EllipseNodeModel.js +1 -1
- package/lib/model/node/HtmlNodeModel.js +0 -1
- package/lib/model/node/PolygonNodeModel.js +1 -1
- package/lib/model/node/RectNodeModel.js +4 -4
- package/lib/model/node/TextNodeModel.js +0 -1
- package/lib/model/node/index.js +0 -1
- package/lib/options.js +0 -1
- package/lib/style/raw.js +0 -1
- package/lib/tool/MultipleSelectTool.js +0 -1
- package/lib/tool/TextEditTool.js +0 -1
- package/lib/tool/index.js +0 -1
- package/lib/util/animation.js +0 -1
- package/lib/util/browser.js +0 -1
- package/lib/util/compatible.js +0 -1
- package/lib/util/drag.js +2 -1
- package/lib/util/edge.js +0 -1
- package/lib/util/geometry.js +0 -1
- package/lib/util/graph.js +0 -1
- package/lib/util/index.js +0 -1
- package/lib/util/matrix.js +0 -1
- package/lib/util/mobx.js +0 -1
- package/lib/util/node.js +0 -1
- package/lib/util/raf.js +0 -1
- package/lib/util/resize.js +0 -1
- package/lib/util/sampling.js +0 -1
- package/lib/util/theme.js +0 -1
- package/lib/util/uuid.js +0 -1
- package/lib/util/vector.js +0 -1
- package/lib/util/zIndex.js +0 -1
- package/lib/view/Anchor.d.ts +1 -1
- package/lib/view/Anchor.js +2 -3
- package/lib/view/Control.js +0 -1
- package/lib/view/Graph.d.ts +2 -1
- package/lib/view/Graph.js +3 -3
- package/lib/view/Rotate.js +0 -1
- package/lib/view/behavior/dnd.js +0 -1
- package/lib/view/behavior/index.js +0 -1
- package/lib/view/behavior/snapline.js +0 -1
- package/lib/view/edge/AdjustPoint.js +0 -1
- package/lib/view/edge/Arrow.js +0 -1
- package/lib/view/edge/BaseEdge.js +0 -1
- package/lib/view/edge/BezierEdge.js +0 -1
- package/lib/view/edge/LineEdge.js +0 -1
- package/lib/view/edge/PolylineEdge.js +0 -1
- package/lib/view/edge/index.js +0 -1
- package/lib/view/index.js +0 -1
- package/lib/view/node/BaseNode.js +0 -1
- package/lib/view/node/CircleNode.js +0 -1
- package/lib/view/node/DiamondNode.js +0 -1
- package/lib/view/node/EllipseNode.js +0 -1
- package/lib/view/node/HtmlNode.js +0 -1
- package/lib/view/node/PolygonNode.js +0 -1
- package/lib/view/node/RectNode.js +0 -1
- package/lib/view/node/TextNode.js +0 -1
- package/lib/view/node/index.js +0 -1
- package/lib/view/overlay/BackgroundOverlay.js +0 -1
- package/lib/view/overlay/BezierAdjustOverlay.js +0 -1
- package/lib/view/overlay/CanvasOverlay.js +0 -1
- package/lib/view/overlay/Grid.js +0 -1
- package/lib/view/overlay/ModificationOverlay.js +0 -1
- package/lib/view/overlay/OutlineOverlay.js +0 -1
- package/lib/view/overlay/SnaplineOverlay.js +0 -1
- package/lib/view/overlay/ToolOverlay.js +0 -1
- package/lib/view/overlay/getTransformHoc.js +0 -1
- package/lib/view/overlay/index.js +0 -1
- package/lib/view/shape/Circle.js +0 -1
- package/lib/view/shape/Ellipse.js +0 -1
- package/lib/view/shape/Line.js +0 -1
- package/lib/view/shape/Path.js +0 -1
- package/lib/view/shape/Polygon.js +0 -1
- package/lib/view/shape/Polyline.js +0 -1
- package/lib/view/shape/Rect.js +0 -1
- package/lib/view/shape/Text.js +0 -1
- package/lib/view/shape/index.js +0 -1
- package/lib/view/text/BaseText.js +0 -1
- package/lib/view/text/LineText.js +0 -1
- package/lib/view/text/index.js +0 -1
- package/package.json +1 -1
- package/src/model/GraphModel.ts +26 -14
- package/src/model/edge/BaseEdgeModel.ts +8 -11
- package/src/model/node/BaseNodeModel.ts +23 -17
- package/src/model/node/CircleNodeModel.ts +1 -0
- package/src/model/node/DiamondNodeModel.ts +1 -0
- package/src/model/node/EllipseNodeModel.ts +1 -0
- package/src/model/node/PolygonNodeModel.ts +1 -0
- package/src/model/node/RectNodeModel.ts +7 -4
- package/src/util/drag.ts +2 -0
- package/src/view/Anchor.tsx +2 -2
- package/src/view/Graph.tsx +8 -3
- package/stats.html +4842 -0
- package/es/LogicFlow.js.map +0 -1
- package/es/algorithm/edge.js.map +0 -1
- package/es/algorithm/index.js.map +0 -1
- package/es/algorithm/outline.js.map +0 -1
- package/es/common/drag.js.map +0 -1
- package/es/common/history.js.map +0 -1
- package/es/common/index.js.map +0 -1
- package/es/common/keyboard.js.map +0 -1
- package/es/common/matrix.js.map +0 -1
- package/es/common/vector.js.map +0 -1
- package/es/constant/index.js.map +0 -1
- package/es/event/eventArgs.js.map +0 -1
- package/es/event/eventEmitter.js.map +0 -1
- package/es/history/index.js.map +0 -1
- package/es/index.js.map +0 -1
- package/es/keyboard/index.js.map +0 -1
- package/es/keyboard/shortcut.js.map +0 -1
- package/es/model/BaseModel.js.map +0 -1
- package/es/model/EditConfigModel.js.map +0 -1
- package/es/model/GraphModel.js.map +0 -1
- package/es/model/SnaplineModel.js.map +0 -1
- package/es/model/TransformModel.js.map +0 -1
- package/es/model/edge/BaseEdgeModel.js.map +0 -1
- package/es/model/edge/BezierEdgeModel.js.map +0 -1
- package/es/model/edge/LineEdgeModel.js.map +0 -1
- package/es/model/edge/PolylineEdgeModel.js.map +0 -1
- package/es/model/edge/index.js.map +0 -1
- package/es/model/index.js.map +0 -1
- package/es/model/node/BaseNodeModel.js.map +0 -1
- package/es/model/node/CircleNodeModel.js.map +0 -1
- package/es/model/node/DiamondNodeModel.js.map +0 -1
- package/es/model/node/EllipseNodeModel.js.map +0 -1
- package/es/model/node/HtmlNodeModel.js.map +0 -1
- package/es/model/node/PolygonNodeModel.js.map +0 -1
- package/es/model/node/RectNodeModel.js.map +0 -1
- package/es/model/node/TextNodeModel.js.map +0 -1
- package/es/model/node/index.js.map +0 -1
- package/es/options.js.map +0 -1
- package/es/style/raw.js.map +0 -1
- package/es/tool/MultipleSelectTool.js.map +0 -1
- package/es/tool/TextEditTool.js.map +0 -1
- package/es/tool/index.js.map +0 -1
- package/es/util/animation.js.map +0 -1
- package/es/util/browser.js.map +0 -1
- package/es/util/compatible.js.map +0 -1
- package/es/util/drag.js.map +0 -1
- package/es/util/edge.js.map +0 -1
- package/es/util/geometry.js.map +0 -1
- package/es/util/graph.js.map +0 -1
- package/es/util/index.js.map +0 -1
- package/es/util/matrix.js.map +0 -1
- package/es/util/mobx.js.map +0 -1
- package/es/util/node.js.map +0 -1
- package/es/util/raf.js.map +0 -1
- package/es/util/resize.js.map +0 -1
- package/es/util/sampling.js.map +0 -1
- package/es/util/theme.js.map +0 -1
- package/es/util/uuid.js.map +0 -1
- package/es/util/vector.js.map +0 -1
- package/es/util/zIndex.js.map +0 -1
- package/es/view/Anchor.js.map +0 -1
- package/es/view/Control.js.map +0 -1
- package/es/view/Graph.js.map +0 -1
- package/es/view/Rotate.js.map +0 -1
- package/es/view/behavior/dnd.js.map +0 -1
- package/es/view/behavior/index.js.map +0 -1
- package/es/view/behavior/snapline.js.map +0 -1
- package/es/view/edge/AdjustPoint.js.map +0 -1
- package/es/view/edge/Arrow.js.map +0 -1
- package/es/view/edge/BaseEdge.js.map +0 -1
- package/es/view/edge/BezierEdge.js.map +0 -1
- package/es/view/edge/LineEdge.js.map +0 -1
- package/es/view/edge/PolylineEdge.js.map +0 -1
- package/es/view/edge/index.js.map +0 -1
- package/es/view/index.js.map +0 -1
- package/es/view/node/BaseNode.js.map +0 -1
- package/es/view/node/CircleNode.js.map +0 -1
- package/es/view/node/DiamondNode.js.map +0 -1
- package/es/view/node/EllipseNode.js.map +0 -1
- package/es/view/node/HtmlNode.js.map +0 -1
- package/es/view/node/PolygonNode.js.map +0 -1
- package/es/view/node/RectNode.js.map +0 -1
- package/es/view/node/TextNode.js.map +0 -1
- package/es/view/node/index.js.map +0 -1
- package/es/view/overlay/BackgroundOverlay.js.map +0 -1
- package/es/view/overlay/BezierAdjustOverlay.js.map +0 -1
- package/es/view/overlay/CanvasOverlay.js.map +0 -1
- package/es/view/overlay/Grid.js.map +0 -1
- package/es/view/overlay/ModificationOverlay.js.map +0 -1
- package/es/view/overlay/OutlineOverlay.js.map +0 -1
- package/es/view/overlay/SnaplineOverlay.js.map +0 -1
- package/es/view/overlay/ToolOverlay.js.map +0 -1
- package/es/view/overlay/getTransformHoc.js.map +0 -1
- package/es/view/overlay/index.js.map +0 -1
- package/es/view/shape/Circle.js.map +0 -1
- package/es/view/shape/Ellipse.js.map +0 -1
- package/es/view/shape/Line.js.map +0 -1
- package/es/view/shape/Path.js.map +0 -1
- package/es/view/shape/Polygon.js.map +0 -1
- package/es/view/shape/Polyline.js.map +0 -1
- package/es/view/shape/Rect.js.map +0 -1
- package/es/view/shape/Text.js.map +0 -1
- package/es/view/shape/index.js.map +0 -1
- package/es/view/text/BaseText.js.map +0 -1
- package/es/view/text/LineText.js.map +0 -1
- package/es/view/text/index.js.map +0 -1
- package/lib/LogicFlow.js.map +0 -1
- package/lib/algorithm/edge.js.map +0 -1
- package/lib/algorithm/index.js.map +0 -1
- package/lib/algorithm/outline.js.map +0 -1
- package/lib/common/drag.js.map +0 -1
- package/lib/common/history.js.map +0 -1
- package/lib/common/index.js.map +0 -1
- package/lib/common/keyboard.js.map +0 -1
- package/lib/common/matrix.js.map +0 -1
- package/lib/common/vector.js.map +0 -1
- package/lib/constant/index.js.map +0 -1
- package/lib/event/eventArgs.js.map +0 -1
- package/lib/event/eventEmitter.js.map +0 -1
- package/lib/history/index.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/keyboard/index.js.map +0 -1
- package/lib/keyboard/shortcut.js.map +0 -1
- package/lib/model/BaseModel.js.map +0 -1
- package/lib/model/EditConfigModel.js.map +0 -1
- package/lib/model/GraphModel.js.map +0 -1
- package/lib/model/SnaplineModel.js.map +0 -1
- package/lib/model/TransformModel.js.map +0 -1
- package/lib/model/edge/BaseEdgeModel.js.map +0 -1
- package/lib/model/edge/BezierEdgeModel.js.map +0 -1
- package/lib/model/edge/LineEdgeModel.js.map +0 -1
- package/lib/model/edge/PolylineEdgeModel.js.map +0 -1
- package/lib/model/edge/index.js.map +0 -1
- package/lib/model/index.js.map +0 -1
- package/lib/model/node/BaseNodeModel.js.map +0 -1
- package/lib/model/node/CircleNodeModel.js.map +0 -1
- package/lib/model/node/DiamondNodeModel.js.map +0 -1
- package/lib/model/node/EllipseNodeModel.js.map +0 -1
- package/lib/model/node/HtmlNodeModel.js.map +0 -1
- package/lib/model/node/PolygonNodeModel.js.map +0 -1
- package/lib/model/node/RectNodeModel.js.map +0 -1
- package/lib/model/node/TextNodeModel.js.map +0 -1
- package/lib/model/node/index.js.map +0 -1
- package/lib/options.js.map +0 -1
- package/lib/style/raw.js.map +0 -1
- package/lib/tool/MultipleSelectTool.js.map +0 -1
- package/lib/tool/TextEditTool.js.map +0 -1
- package/lib/tool/index.js.map +0 -1
- package/lib/util/animation.js.map +0 -1
- package/lib/util/browser.js.map +0 -1
- package/lib/util/compatible.js.map +0 -1
- package/lib/util/drag.js.map +0 -1
- package/lib/util/edge.js.map +0 -1
- package/lib/util/geometry.js.map +0 -1
- package/lib/util/graph.js.map +0 -1
- package/lib/util/index.js.map +0 -1
- package/lib/util/matrix.js.map +0 -1
- package/lib/util/mobx.js.map +0 -1
- package/lib/util/node.js.map +0 -1
- package/lib/util/raf.js.map +0 -1
- package/lib/util/resize.js.map +0 -1
- package/lib/util/sampling.js.map +0 -1
- package/lib/util/theme.js.map +0 -1
- package/lib/util/uuid.js.map +0 -1
- package/lib/util/vector.js.map +0 -1
- package/lib/util/zIndex.js.map +0 -1
- package/lib/view/Anchor.js.map +0 -1
- package/lib/view/Control.js.map +0 -1
- package/lib/view/Graph.js.map +0 -1
- package/lib/view/Rotate.js.map +0 -1
- package/lib/view/behavior/dnd.js.map +0 -1
- package/lib/view/behavior/index.js.map +0 -1
- package/lib/view/behavior/snapline.js.map +0 -1
- package/lib/view/edge/AdjustPoint.js.map +0 -1
- package/lib/view/edge/Arrow.js.map +0 -1
- package/lib/view/edge/BaseEdge.js.map +0 -1
- package/lib/view/edge/BezierEdge.js.map +0 -1
- package/lib/view/edge/LineEdge.js.map +0 -1
- package/lib/view/edge/PolylineEdge.js.map +0 -1
- package/lib/view/edge/index.js.map +0 -1
- package/lib/view/index.js.map +0 -1
- package/lib/view/node/BaseNode.js.map +0 -1
- package/lib/view/node/CircleNode.js.map +0 -1
- package/lib/view/node/DiamondNode.js.map +0 -1
- package/lib/view/node/EllipseNode.js.map +0 -1
- package/lib/view/node/HtmlNode.js.map +0 -1
- package/lib/view/node/PolygonNode.js.map +0 -1
- package/lib/view/node/RectNode.js.map +0 -1
- package/lib/view/node/TextNode.js.map +0 -1
- package/lib/view/node/index.js.map +0 -1
- package/lib/view/overlay/BackgroundOverlay.js.map +0 -1
- package/lib/view/overlay/BezierAdjustOverlay.js.map +0 -1
- package/lib/view/overlay/CanvasOverlay.js.map +0 -1
- package/lib/view/overlay/Grid.js.map +0 -1
- package/lib/view/overlay/ModificationOverlay.js.map +0 -1
- package/lib/view/overlay/OutlineOverlay.js.map +0 -1
- package/lib/view/overlay/SnaplineOverlay.js.map +0 -1
- package/lib/view/overlay/ToolOverlay.js.map +0 -1
- package/lib/view/overlay/getTransformHoc.js.map +0 -1
- package/lib/view/overlay/index.js.map +0 -1
- package/lib/view/shape/Circle.js.map +0 -1
- package/lib/view/shape/Ellipse.js.map +0 -1
- package/lib/view/shape/Line.js.map +0 -1
- package/lib/view/shape/Path.js.map +0 -1
- package/lib/view/shape/Polygon.js.map +0 -1
- package/lib/view/shape/Polyline.js.map +0 -1
- package/lib/view/shape/Rect.js.map +0 -1
- package/lib/view/shape/Text.js.map +0 -1
- package/lib/view/shape/index.js.map +0 -1
- package/lib/view/text/BaseText.js.map +0 -1
- package/lib/view/text/LineText.js.map +0 -1
- package/lib/view/text/index.js.map +0 -1
package/lib/view/edge/index.js
CHANGED
package/lib/view/index.js
CHANGED
package/lib/view/node/index.js
CHANGED
package/lib/view/overlay/Grid.js
CHANGED
package/lib/view/shape/Circle.js
CHANGED
package/lib/view/shape/Line.js
CHANGED
package/lib/view/shape/Path.js
CHANGED
package/lib/view/shape/Rect.js
CHANGED
package/lib/view/shape/Text.js
CHANGED
package/lib/view/shape/index.js
CHANGED
package/lib/view/text/index.js
CHANGED
|
@@ -16,4 +16,3 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./BaseText"), exports);
|
|
18
18
|
__exportStar(require("./LineText"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
package/src/model/GraphModel.ts
CHANGED
|
@@ -43,10 +43,6 @@ import NodeConfig = LogicFlow.NodeConfig
|
|
|
43
43
|
import BaseNodeModelCtor = LogicFlow.BaseNodeModelCtor
|
|
44
44
|
import BaseEdgeModelCtor = LogicFlow.BaseEdgeModelCtor
|
|
45
45
|
|
|
46
|
-
export interface Constructable<T> {
|
|
47
|
-
new (...args: any): T
|
|
48
|
-
}
|
|
49
|
-
|
|
50
46
|
export class GraphModel {
|
|
51
47
|
/**
|
|
52
48
|
* LogicFlow画布挂载元素
|
|
@@ -76,6 +72,13 @@ export class GraphModel {
|
|
|
76
72
|
// 节点间连线、连线变更时的边的生成规则
|
|
77
73
|
edgeGenerator: LFOptions.Definition['edgeGenerator']
|
|
78
74
|
|
|
75
|
+
// Remind:用于记录当前画布上所有节点和边的 model 的 Map
|
|
76
|
+
// 现在的处理方式,用 this.nodes.map 生成的方式,如果在 new Model 的过程中依赖于其它节点的 model,会出现找不到的情况
|
|
77
|
+
// eg: new DynamicGroupModel 时,需要获取当前 children 的 model,根据 groupModel 的 isCollapsed 状态更新子节点的 visible
|
|
78
|
+
nodeModelMap: Map<string, BaseNodeModel> = new Map()
|
|
79
|
+
edgeModelMap: Map<string, BaseEdgeModel> = new Map()
|
|
80
|
+
elementsModelMap: Map<string, BaseNodeModel | BaseEdgeModel> = new Map()
|
|
81
|
+
|
|
79
82
|
/**
|
|
80
83
|
* 节点移动规则判断
|
|
81
84
|
* 在节点移动的时候,会出发此数组中的所有规则判断
|
|
@@ -161,9 +164,7 @@ export class GraphModel {
|
|
|
161
164
|
}, {} as GraphModel.NodesMapType)
|
|
162
165
|
}
|
|
163
166
|
|
|
164
|
-
@computed get edgesMap(): {
|
|
165
|
-
[key: string]: { index: number; model: BaseEdgeModel }
|
|
166
|
-
} {
|
|
167
|
+
@computed get edgesMap(): GraphModel.EdgesMapType {
|
|
167
168
|
return this.edges.reduce((eMap, model, index) => {
|
|
168
169
|
eMap[model.id] = {
|
|
169
170
|
index,
|
|
@@ -191,7 +192,7 @@ export class GraphModel {
|
|
|
191
192
|
|
|
192
193
|
// 只显示可见区域的节点和边
|
|
193
194
|
const visibleElements: (BaseNodeModel | BaseEdgeModel)[] = []
|
|
194
|
-
// TODO: 缓存,优化计算效率 by xutao. So
|
|
195
|
+
// TODO: 缓存,优化计算效率 by xutao. So how?
|
|
195
196
|
const visibleLt: PointTuple = [
|
|
196
197
|
-DEFAULT_VISIBLE_SPACE,
|
|
197
198
|
-DEFAULT_VISIBLE_SPACE,
|
|
@@ -428,7 +429,11 @@ export class GraphModel {
|
|
|
428
429
|
if (!Model) {
|
|
429
430
|
throw new Error(`找不到${edge.type}对应的边。`)
|
|
430
431
|
}
|
|
431
|
-
|
|
432
|
+
const edgeModel = new Model(edge, this)
|
|
433
|
+
this.edgeModelMap.set(edgeModel.id, edgeModel)
|
|
434
|
+
this.elementsModelMap.set(edgeModel.id, edgeModel)
|
|
435
|
+
|
|
436
|
+
return edgeModel
|
|
432
437
|
})
|
|
433
438
|
} else {
|
|
434
439
|
this.edges = []
|
|
@@ -800,7 +805,11 @@ export class GraphModel {
|
|
|
800
805
|
node.text.y += node.y - nodeY
|
|
801
806
|
}
|
|
802
807
|
}
|
|
803
|
-
|
|
808
|
+
const nodeModel = new Model(node, this)
|
|
809
|
+
this.nodeModelMap.set(nodeModel.id, nodeModel)
|
|
810
|
+
this.elementsModelMap.set(nodeModel.id, nodeModel)
|
|
811
|
+
|
|
812
|
+
return nodeModel
|
|
804
813
|
}
|
|
805
814
|
|
|
806
815
|
/**
|
|
@@ -914,6 +923,8 @@ export class GraphModel {
|
|
|
914
923
|
},
|
|
915
924
|
this,
|
|
916
925
|
)
|
|
926
|
+
this.edgeModelMap.set(edgeModel.id, edgeModel)
|
|
927
|
+
this.elementsModelMap.set(edgeModel.id, edgeModel)
|
|
917
928
|
|
|
918
929
|
const edgeData = edgeModel.getData()
|
|
919
930
|
this.edges.push(edgeModel)
|
|
@@ -1153,8 +1164,10 @@ export class GraphModel {
|
|
|
1153
1164
|
// 如果节点之间存在连线,则只移动连线一次。
|
|
1154
1165
|
const nodeIdMap: Record<string, [number, number]> = nodeIds.reduce(
|
|
1155
1166
|
(acc, cur) => {
|
|
1156
|
-
const nodeModel = this.nodesMap[cur]
|
|
1157
|
-
|
|
1167
|
+
const nodeModel = this.nodesMap[cur]?.model
|
|
1168
|
+
if (nodeModel) {
|
|
1169
|
+
acc[cur] = nodeModel.getMoveDistance(deltaX, deltaY, isIgnoreRule)
|
|
1170
|
+
}
|
|
1158
1171
|
return acc
|
|
1159
1172
|
},
|
|
1160
1173
|
{},
|
|
@@ -1337,10 +1350,9 @@ export class GraphModel {
|
|
|
1337
1350
|
}
|
|
1338
1351
|
|
|
1339
1352
|
/**
|
|
1340
|
-
* TODO: 命名问题 outcoming -> outgoing or incoming
|
|
1341
1353
|
* 获取所有以此锚点为起点的边
|
|
1342
1354
|
*/
|
|
1343
|
-
@action
|
|
1355
|
+
@action getAnchorOutgoingEdge(anchorId?: string) {
|
|
1344
1356
|
const edges: BaseEdgeModel[] = []
|
|
1345
1357
|
this.edges.forEach((edge) => {
|
|
1346
1358
|
if (edge.sourceAnchorId === anchorId) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { assign, cloneDeep, find, isUndefined } from 'lodash-es'
|
|
2
|
-
import { action, computed, isObservable, observable, toJS } from 'mobx'
|
|
2
|
+
import { action, computed, isObservable, observable, set, toJS } from 'mobx'
|
|
3
3
|
import { BaseNodeModel, GraphModel, Model } from '..'
|
|
4
4
|
import LogicFlow from '../../LogicFlow'
|
|
5
5
|
import {
|
|
@@ -389,8 +389,8 @@ export class BaseEdgeModel<P extends PropertiesType = PropertiesType>
|
|
|
389
389
|
id: this.id,
|
|
390
390
|
type: this.type,
|
|
391
391
|
properties,
|
|
392
|
-
sourceNodeId: this.
|
|
393
|
-
targetNodeId: this.
|
|
392
|
+
sourceNodeId: this.sourceNodeId,
|
|
393
|
+
targetNodeId: this.targetNodeId,
|
|
394
394
|
startPoint: assign({}, this.startPoint),
|
|
395
395
|
endPoint: assign({}, this.endPoint),
|
|
396
396
|
}
|
|
@@ -425,14 +425,12 @@ export class BaseEdgeModel<P extends PropertiesType = PropertiesType>
|
|
|
425
425
|
* @param key 属性名
|
|
426
426
|
* @param val 属性值
|
|
427
427
|
*/
|
|
428
|
-
@action
|
|
429
|
-
setProperty(key: string, val: any): void {
|
|
428
|
+
@action setProperty(key: string, val: any): void {
|
|
430
429
|
const preProperties = toJS(this.properties)
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
[key]: formatData(val),
|
|
434
|
-
}
|
|
430
|
+
const newProperties = cloneDeep(preProperties)
|
|
431
|
+
set(newProperties, key, formatData(val))
|
|
435
432
|
|
|
433
|
+
this.properties = newProperties
|
|
436
434
|
this.setAttributes()
|
|
437
435
|
}
|
|
438
436
|
|
|
@@ -440,8 +438,7 @@ export class BaseEdgeModel<P extends PropertiesType = PropertiesType>
|
|
|
440
438
|
* 删除边的属性,会触发重新渲染
|
|
441
439
|
* @param key 属性名
|
|
442
440
|
*/
|
|
443
|
-
@action
|
|
444
|
-
deleteProperty(key: string): void {
|
|
441
|
+
@action deleteProperty(key: string): void {
|
|
445
442
|
delete this.properties[key]
|
|
446
443
|
this.setAttributes()
|
|
447
444
|
}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { action, computed, isObservable, observable, toJS } from 'mobx'
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
assign,
|
|
4
|
+
cloneDeep,
|
|
5
|
+
has,
|
|
6
|
+
isNil,
|
|
7
|
+
mapKeys,
|
|
8
|
+
isUndefined,
|
|
9
|
+
set,
|
|
10
|
+
} from 'lodash-es'
|
|
3
11
|
import { GraphModel, Model } from '..'
|
|
4
12
|
import LogicFlow from '../../LogicFlow'
|
|
5
13
|
import {
|
|
@@ -774,33 +782,37 @@ export class BaseNodeModel<P extends PropertiesType = PropertiesType>
|
|
|
774
782
|
this.additionStateData = additionStateData
|
|
775
783
|
}
|
|
776
784
|
|
|
777
|
-
|
|
778
|
-
@action setProperty(key: string, val: any): void {
|
|
785
|
+
private updateProperties(nextProperties: P, updateKeys: string[]): void {
|
|
779
786
|
const preProperties = toJS(this.properties)
|
|
780
|
-
const nextProperties = {
|
|
781
|
-
...preProperties,
|
|
782
|
-
[key]: formatData(val),
|
|
783
|
-
}
|
|
784
787
|
this.properties = nextProperties
|
|
785
788
|
this.setAttributes()
|
|
786
789
|
|
|
787
790
|
// 触发更新节点 properties:change 的事件
|
|
788
791
|
this.graphModel.eventCenter.emit(EventType.NODE_PROPERTIES_CHANGE, {
|
|
789
792
|
id: this.id,
|
|
790
|
-
keys:
|
|
793
|
+
keys: updateKeys,
|
|
791
794
|
preProperties,
|
|
792
795
|
properties: nextProperties,
|
|
793
796
|
})
|
|
794
797
|
}
|
|
795
798
|
|
|
799
|
+
@action setProperty(key: string, val: any): void {
|
|
800
|
+
const preProperties = toJS(this.properties)
|
|
801
|
+
const nextProperties = cloneDeep(preProperties)
|
|
802
|
+
// https://lodash.com/docs/4.17.15#set
|
|
803
|
+
// 使用 lodash 的 set 方法更新某个属性,可以支持 key 为 'a.b.c' 的情况
|
|
804
|
+
// TODO:待测试
|
|
805
|
+
set(nextProperties, key, formatData(val))
|
|
806
|
+
|
|
807
|
+
this.updateProperties(nextProperties, [key])
|
|
808
|
+
}
|
|
809
|
+
|
|
796
810
|
@action setProperties(properties: Record<string, any>): void {
|
|
797
811
|
const preProperties = toJS(this.properties)
|
|
798
812
|
const nextProperties = {
|
|
799
813
|
...preProperties,
|
|
800
814
|
...formatData(properties),
|
|
801
815
|
}
|
|
802
|
-
this.properties = nextProperties
|
|
803
|
-
this.setAttributes()
|
|
804
816
|
|
|
805
817
|
const updateKeys: string[] = []
|
|
806
818
|
mapKeys(properties, (val, key) => {
|
|
@@ -813,13 +825,7 @@ export class BaseNodeModel<P extends PropertiesType = PropertiesType>
|
|
|
813
825
|
}
|
|
814
826
|
})
|
|
815
827
|
|
|
816
|
-
|
|
817
|
-
this.graphModel.eventCenter.emit(EventType.NODE_PROPERTIES_CHANGE, {
|
|
818
|
-
id: this.id,
|
|
819
|
-
keys: updateKeys,
|
|
820
|
-
preProperties,
|
|
821
|
-
properties: nextProperties,
|
|
822
|
-
})
|
|
828
|
+
this.updateProperties(nextProperties, updateKeys)
|
|
823
829
|
}
|
|
824
830
|
|
|
825
831
|
@action deleteProperty(key: string): void {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cloneDeep } from 'lodash-es'
|
|
1
|
+
import { cloneDeep, isNil } from 'lodash-es'
|
|
2
2
|
import { observable } from 'mobx'
|
|
3
3
|
import BaseNodeModel from './BaseNodeModel'
|
|
4
4
|
import GraphModel from '../GraphModel'
|
|
@@ -28,6 +28,7 @@ export class RectNodeModel<
|
|
|
28
28
|
// TODO:类字段初始化会覆盖 super、setAttributes 中设置的属性
|
|
29
29
|
// this.properties = data.properties || {}
|
|
30
30
|
// TODO: bug here, 上面更新 properties 会触发 setAttributes,下面再主动调用,会导致触发两次
|
|
31
|
+
this.initNodeData(data)
|
|
31
32
|
this.setAttributes()
|
|
32
33
|
}
|
|
33
34
|
|
|
@@ -35,10 +36,11 @@ export class RectNodeModel<
|
|
|
35
36
|
super.setAttributes()
|
|
36
37
|
|
|
37
38
|
const { width, height, radius } = this.properties
|
|
38
|
-
if (width) this.width = width
|
|
39
|
-
if (height) this.height = height
|
|
39
|
+
if (!isNil(width)) this.width = width
|
|
40
|
+
if (!isNil(height)) this.height = height
|
|
41
|
+
|
|
40
42
|
// 矩形特有
|
|
41
|
-
if (radius) this.radius = radius
|
|
43
|
+
if (!isNil(radius)) this.radius = radius
|
|
42
44
|
}
|
|
43
45
|
|
|
44
46
|
getDefaultAnchor() {
|
|
@@ -50,6 +52,7 @@ export class RectNodeModel<
|
|
|
50
52
|
{ x: x - width / 2, y, id: `${this.id}_3` },
|
|
51
53
|
]
|
|
52
54
|
}
|
|
55
|
+
|
|
53
56
|
getNodeStyle() {
|
|
54
57
|
const style = super.getNodeStyle()
|
|
55
58
|
const { rect } = this.graphModel.theme
|
package/src/util/drag.ts
CHANGED
|
@@ -148,6 +148,8 @@ export class StepDrag {
|
|
|
148
148
|
}
|
|
149
149
|
this.isDragging = true
|
|
150
150
|
// 为了让dragstart和drag不在同一个事件循环中,使drag事件放到下一个消息队列中。
|
|
151
|
+
// TODO: 放到下一个消息队列中是否会有延迟,比如
|
|
152
|
+
// 限制某个元素的拖拽范围,如果在dragstart中设置了拖拽范围,那么在drag中就会有延迟。
|
|
151
153
|
Promise.resolve().then(() => {
|
|
152
154
|
this.onDragging({
|
|
153
155
|
deltaX,
|
package/src/view/Anchor.tsx
CHANGED
|
@@ -208,12 +208,12 @@ class Anchor extends Component<IProps, IState> {
|
|
|
208
208
|
|
|
209
209
|
get relateEdges() {
|
|
210
210
|
const {
|
|
211
|
-
graphModel: { getAnchorIncomingEdge,
|
|
211
|
+
graphModel: { getAnchorIncomingEdge, getAnchorOutgoingEdge },
|
|
212
212
|
anchorData: { id },
|
|
213
213
|
} = this.props
|
|
214
214
|
return {
|
|
215
215
|
incomingEdgeList: getAnchorIncomingEdge(id),
|
|
216
|
-
|
|
216
|
+
outgoingEdgeList: getAnchorOutgoingEdge(id),
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
219
|
|
package/src/view/Graph.tsx
CHANGED
|
@@ -38,12 +38,13 @@ type ContainerStyle = {
|
|
|
38
38
|
|
|
39
39
|
@observer
|
|
40
40
|
class Graph extends Component<IGraphProps> {
|
|
41
|
-
handleResize = () => {
|
|
41
|
+
private handleResize = () => {
|
|
42
42
|
this.props.graphModel.resize()
|
|
43
43
|
}
|
|
44
|
+
private throttleResize = () => throttle(this.handleResize, 200)
|
|
44
45
|
|
|
45
46
|
componentDidMount() {
|
|
46
|
-
window.addEventListener('resize',
|
|
47
|
+
window.addEventListener('resize', this.throttleResize)
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
componentDidUpdate() {
|
|
@@ -52,7 +53,7 @@ class Graph extends Component<IGraphProps> {
|
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
componentWillUnmount() {
|
|
55
|
-
window.removeEventListener('resize',
|
|
56
|
+
window.removeEventListener('resize', this.throttleResize)
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
getComponent(
|
|
@@ -91,6 +92,7 @@ class Graph extends Component<IGraphProps> {
|
|
|
91
92
|
const { adjustEdge } = editConfigModel
|
|
92
93
|
return (
|
|
93
94
|
<div className="lf-graph" flow-id={graphModel.flowId}>
|
|
95
|
+
{/* 元素层 */}
|
|
94
96
|
<CanvasOverlay graphModel={graphModel} dnd={dnd}>
|
|
95
97
|
<g className="lf-base">
|
|
96
98
|
{map(graphModel.sortElements, (nodeModel) =>
|
|
@@ -99,6 +101,7 @@ class Graph extends Component<IGraphProps> {
|
|
|
99
101
|
</g>
|
|
100
102
|
{fakeNode ? this.getComponent(fakeNode, graphModel) : ''}
|
|
101
103
|
</CanvasOverlay>
|
|
104
|
+
{/* 虚线边框 */}
|
|
102
105
|
<ModificationOverlay graphModel={graphModel}>
|
|
103
106
|
<OutlineOverlay graphModel={graphModel} />
|
|
104
107
|
{adjustEdge ? <BezierAdjustOverlay graphModel={graphModel} /> : ''}
|
|
@@ -108,10 +111,12 @@ class Graph extends Component<IGraphProps> {
|
|
|
108
111
|
''
|
|
109
112
|
)}
|
|
110
113
|
</ModificationOverlay>
|
|
114
|
+
{/* 工具层:插件 */}
|
|
111
115
|
<ToolOverlay graphModel={graphModel} tool={tool} />
|
|
112
116
|
{options.background && (
|
|
113
117
|
<BackgroundOverlay background={options.background} />
|
|
114
118
|
)}
|
|
119
|
+
{/* 画布网格 */}
|
|
115
120
|
{grid && <Grid {...grid} graphModel={graphModel} />}
|
|
116
121
|
</div>
|
|
117
122
|
)
|