@logicflow/core 2.0.0-beta.5 → 2.0.0-beta.7
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/dist/index.min.js +4 -4
- package/es/LogicFlow.d.ts +32 -6
- package/es/LogicFlow.js +15 -12
- 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 +2 -2
- package/es/common/drag.js.map +1 -1
- package/es/constant/index.d.ts +37 -1
- package/es/constant/index.js +40 -1
- package/es/constant/index.js.map +1 -1
- package/es/event/eventArgs.d.ts +88 -25
- package/es/index.d.ts +4 -0
- package/es/index.js +4 -0
- package/es/index.js.map +1 -1
- package/es/keyboard/shortcut.d.ts +4 -0
- package/es/keyboard/shortcut.js +9 -8
- package/es/keyboard/shortcut.js.map +1 -1
- package/es/model/BaseModel.d.ts +12 -16
- package/es/model/EditConfigModel.d.ts +97 -36
- package/es/model/EditConfigModel.js +166 -79
- package/es/model/EditConfigModel.js.map +1 -1
- package/es/model/GraphModel.d.ts +12 -1
- package/es/model/GraphModel.js +40 -9
- package/es/model/GraphModel.js.map +1 -1
- package/es/model/TransformModel.js +1 -1
- package/es/model/TransformModel.js.map +1 -1
- package/es/model/edge/BaseEdgeModel.d.ts +9 -3
- package/es/model/edge/BaseEdgeModel.js +33 -17
- package/es/model/edge/BaseEdgeModel.js.map +1 -1
- package/es/model/edge/BezierEdgeModel.d.ts +1 -1
- package/es/model/edge/BezierEdgeModel.js +5 -2
- package/es/model/edge/BezierEdgeModel.js.map +1 -1
- package/es/model/edge/PolylineEdgeModel.d.ts +3 -3
- package/es/model/edge/PolylineEdgeModel.js +20 -14
- package/es/model/edge/PolylineEdgeModel.js.map +1 -1
- package/es/model/node/BaseNodeModel.d.ts +28 -2
- package/es/model/node/BaseNodeModel.js +24 -12
- package/es/model/node/BaseNodeModel.js.map +1 -1
- package/es/model/node/CircleNodeModel.js.map +1 -1
- package/es/model/node/DiamondNodeModel.js.map +1 -1
- package/es/model/node/EllipseNodeModel.js.map +1 -1
- package/es/model/node/RectNodeModel.js.map +1 -1
- package/es/model/node/TextNodeModel.js +2 -1
- package/es/model/node/TextNodeModel.js.map +1 -1
- package/es/options.d.ts +4 -1
- 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 +2 -1
- package/es/util/edge.js +9 -12
- package/es/util/edge.js.map +1 -1
- package/es/util/node.d.ts +2 -5
- package/es/util/node.js +1 -0
- package/es/util/node.js.map +1 -1
- package/es/view/Anchor.d.ts +1 -3
- package/es/view/Anchor.js +3 -0
- package/es/view/Anchor.js.map +1 -1
- package/es/view/Control.d.ts +1 -1
- package/es/view/Control.js +7 -7
- package/es/view/Control.js.map +1 -1
- package/es/view/Graph.d.ts +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 +9 -20
- package/es/view/edge/AdjustPoint.js.map +1 -1
- package/es/view/edge/BaseEdge.js +25 -17
- package/es/view/edge/BaseEdge.js.map +1 -1
- package/es/view/node/BaseNode.js +14 -9
- package/es/view/node/BaseNode.js.map +1 -1
- package/es/view/node/HtmlNode.js +2 -2
- package/es/view/node/HtmlNode.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/text/BaseText.js +7 -3
- package/es/view/text/BaseText.js.map +1 -1
- package/lib/LogicFlow.d.ts +32 -6
- package/lib/LogicFlow.js +17 -14
- 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 +2 -2
- package/lib/common/drag.js.map +1 -1
- package/lib/constant/index.d.ts +37 -1
- package/lib/constant/index.js +41 -2
- package/lib/constant/index.js.map +1 -1
- package/lib/event/eventArgs.d.ts +88 -25
- package/lib/index.d.ts +4 -0
- package/lib/index.js +4 -0
- package/lib/index.js.map +1 -1
- package/lib/keyboard/shortcut.d.ts +4 -0
- package/lib/keyboard/shortcut.js +12 -9
- package/lib/keyboard/shortcut.js.map +1 -1
- package/lib/model/BaseModel.d.ts +12 -16
- package/lib/model/EditConfigModel.d.ts +97 -36
- package/lib/model/EditConfigModel.js +165 -78
- package/lib/model/EditConfigModel.js.map +1 -1
- package/lib/model/GraphModel.d.ts +12 -1
- package/lib/model/GraphModel.js +38 -7
- package/lib/model/GraphModel.js.map +1 -1
- package/lib/model/TransformModel.js +1 -1
- package/lib/model/TransformModel.js.map +1 -1
- package/lib/model/edge/BaseEdgeModel.d.ts +9 -3
- package/lib/model/edge/BaseEdgeModel.js +31 -15
- package/lib/model/edge/BaseEdgeModel.js.map +1 -1
- package/lib/model/edge/BezierEdgeModel.d.ts +1 -1
- package/lib/model/edge/BezierEdgeModel.js +4 -1
- package/lib/model/edge/BezierEdgeModel.js.map +1 -1
- package/lib/model/edge/PolylineEdgeModel.d.ts +3 -3
- package/lib/model/edge/PolylineEdgeModel.js +19 -13
- package/lib/model/edge/PolylineEdgeModel.js.map +1 -1
- package/lib/model/node/BaseNodeModel.d.ts +28 -2
- package/lib/model/node/BaseNodeModel.js +22 -10
- package/lib/model/node/BaseNodeModel.js.map +1 -1
- package/lib/model/node/CircleNodeModel.js.map +1 -1
- package/lib/model/node/DiamondNodeModel.js.map +1 -1
- package/lib/model/node/EllipseNodeModel.js.map +1 -1
- package/lib/model/node/RectNodeModel.js.map +1 -1
- package/lib/model/node/TextNodeModel.js +2 -1
- package/lib/model/node/TextNodeModel.js.map +1 -1
- package/lib/options.d.ts +4 -1
- 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 +2 -1
- package/lib/util/edge.js +11 -14
- package/lib/util/edge.js.map +1 -1
- package/lib/util/node.d.ts +2 -5
- package/lib/util/node.js +1 -0
- package/lib/util/node.js.map +1 -1
- package/lib/view/Anchor.d.ts +1 -3
- package/lib/view/Anchor.js +3 -0
- package/lib/view/Anchor.js.map +1 -1
- package/lib/view/Control.d.ts +1 -1
- package/lib/view/Control.js +7 -7
- package/lib/view/Control.js.map +1 -1
- package/lib/view/Graph.d.ts +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 +9 -20
- package/lib/view/edge/AdjustPoint.js.map +1 -1
- package/lib/view/edge/BaseEdge.js +24 -16
- package/lib/view/edge/BaseEdge.js.map +1 -1
- package/lib/view/node/BaseNode.js +13 -8
- package/lib/view/node/BaseNode.js.map +1 -1
- package/lib/view/node/HtmlNode.js +2 -2
- package/lib/view/node/HtmlNode.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/text/BaseText.js +6 -2
- package/lib/view/text/BaseText.js.map +1 -1
- package/package.json +1 -1
- package/src/LogicFlow.tsx +52 -14
- 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 +16 -2
- package/src/constant/index.ts +42 -1
- package/src/event/eventArgs.ts +155 -34
- package/src/index.ts +4 -0
- package/src/keyboard/shortcut.ts +12 -8
- package/src/model/BaseModel.ts +15 -17
- package/src/model/EditConfigModel.ts +206 -94
- package/src/model/GraphModel.ts +43 -8
- package/src/model/TransformModel.ts +1 -1
- package/src/model/edge/BaseEdgeModel.ts +28 -19
- package/src/model/edge/BezierEdgeModel.ts +5 -6
- package/src/model/edge/PolylineEdgeModel.ts +22 -18
- package/src/model/node/BaseNodeModel.ts +24 -14
- package/src/model/node/CircleNodeModel.ts +0 -1
- package/src/model/node/DiamondNodeModel.ts +0 -1
- package/src/model/node/EllipseNodeModel.ts +0 -1
- package/src/model/node/RectNodeModel.ts +0 -1
- package/src/model/node/TextNodeModel.ts +2 -0
- package/src/options.ts +6 -1
- 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 +14 -13
- package/src/util/node.ts +3 -5
- package/src/view/Anchor.tsx +3 -1
- package/src/view/Control.tsx +16 -7
- package/src/view/Graph.tsx +1 -1
- 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 +32 -46
- package/src/view/edge/BaseEdge.tsx +58 -38
- package/src/view/node/BaseNode.tsx +24 -10
- package/src/view/node/HtmlNode.tsx +2 -2
- package/src/view/overlay/CanvasOverlay.tsx +5 -4
- package/src/view/overlay/ToolOverlay.tsx +1 -1
- package/src/view/text/BaseText.tsx +11 -3
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasOverlay.js","sourceRoot":"","sources":["../../../src/view/overlay/CanvasOverlay.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAyC;AAEzC,2BAAgC;AAEhC,2CAA0C;AAC1C,mCAAkD;AAWlD;IAAmC,iCAAyB;IAK1D,uBAAY,KAAa;QACvB,YAAA,MAAK,WAAE,SAAA;QAJT,iBAAW,GAAG,CAAC,CAAA;QACf,iBAAW,GAAG,CAAC,CAAA;QAsBf,wBAAwB;QACxB,wCAAwC;QACxC,IAAI;QACJ,gBAAU,GAAG,UAAC,EAA+B;gBAA7B,MAAM,YAAA,EAAE,MAAM,YAAA;YAC5B,KAAI,CAAC,QAAQ,CAAC;gBACZ,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;YAEA,IAAA,KACE,KAAI,CAAC,KAAK,WADmC,EAAjC,cAAc,oBAAA,EAAE,eAAe,qBAAE,CACnC;YACd,IAAI,eAAe,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC3C,OAAM;YACR,CAAC;YACD,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC1C,CAAC,CAAA;QACD,eAAS,GAAG;YACV,KAAI,CAAC,QAAQ,CAAC;gBACZ,UAAU,EAAE,KAAK;aAClB,CAAC,CAAA;QACJ,CAAC,CAAA;QACD,iBAAW,GAAG,UAAC,EAAc;YACrB,IAAA,KAGF,KAAI,CAAC,KAAK,EAFZ,kBAAyD,EAA3C,eAAe,qBAAA,EAAE,cAAc,oBAAA,EAAE,QAAQ,cAAA,EACvD,UAAU,gBACE,CAAA;YACN,IAAQ,EAAE,GAAiB,EAAE,OAAnB,EAAU,EAAE,GAAK,EAAE,OAAP,CAAO;YACrC,
|
|
1
|
+
{"version":3,"file":"CanvasOverlay.js","sourceRoot":"","sources":["../../../src/view/overlay/CanvasOverlay.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAyC;AAEzC,2BAAgC;AAEhC,2CAA0C;AAC1C,mCAAkD;AAWlD;IAAmC,iCAAyB;IAK1D,uBAAY,KAAa;QACvB,YAAA,MAAK,WAAE,SAAA;QAJT,iBAAW,GAAG,CAAC,CAAA;QACf,iBAAW,GAAG,CAAC,CAAA;QAsBf,wBAAwB;QACxB,wCAAwC;QACxC,IAAI;QACJ,gBAAU,GAAG,UAAC,EAA+B;gBAA7B,MAAM,YAAA,EAAE,MAAM,YAAA;YAC5B,KAAI,CAAC,QAAQ,CAAC;gBACZ,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;YAEA,IAAA,KACE,KAAI,CAAC,KAAK,WADmC,EAAjC,cAAc,oBAAA,EAAE,eAAe,qBAAE,CACnC;YACd,IAAI,eAAe,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC3C,OAAM;YACR,CAAC;YACD,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC1C,CAAC,CAAA;QACD,eAAS,GAAG;YACV,KAAI,CAAC,QAAQ,CAAC;gBACZ,UAAU,EAAE,KAAK;aAClB,CAAC,CAAA;QACJ,CAAC,CAAA;QACD,iBAAW,GAAG,UAAC,EAAc;YACrB,IAAA,KAGF,KAAI,CAAC,KAAK,EAFZ,kBAAyD,EAA3C,eAAe,qBAAA,EAAE,cAAc,oBAAA,EAAE,QAAQ,cAAA,EACvD,UAAU,gBACE,CAAA;YACN,IAAQ,EAAE,GAAiB,EAAE,OAAnB,EAAU,EAAE,GAAK,EAAE,OAAP,CAAO;YACrC,gDAAgD;YAChD,IAAI,CAAC,eAAe,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;gBACnE,EAAE,CAAC,cAAc,EAAE,CAAA;gBACnB,KAAI,CAAC,WAAW,IAAI,EAAE,CAAA;gBACtB,KAAI,CAAC,WAAW,IAAI,EAAE,CAAA;gBACtB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,WAAW,CAAC,IAAI,QAAQ,EAAE,CAAC;oBAC3C,IAAM,UAAU,GAAG,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAA;oBAC9C,IAAM,YAAY,GAAG,KAAI,CAAC,WAAW,GAAG,UAAU,CAAA;oBAClD,cAAc,CAAC,SAAS,CAAC,CAAC,YAAY,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;oBACnE,KAAI,CAAC,WAAW,GAAG,UAAU,CAAA;gBAC/B,CAAC;gBACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,WAAW,CAAC,IAAI,QAAQ,EAAE,CAAC;oBAC3C,IAAM,UAAU,GAAG,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAA;oBAC9C,IAAM,aAAa,GAAG,KAAI,CAAC,WAAW,GAAG,UAAU,CAAA;oBACnD,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;oBACpE,KAAI,CAAC,WAAW,GAAG,UAAU,CAAA;gBAC/B,CAAC;gBACD,OAAM;YACR,CAAC;YACD,mDAAmD;YACnD,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;gBACnC,EAAE,CAAC,cAAc,EAAE,CAAA;gBACnB,IAAM,QAAQ,GAAG,UAAU,CAAC,gBAAgB,CAAC;oBAC3C,CAAC,EAAE,EAAE,CAAC,OAAO;oBACb,CAAC,EAAE,EAAE,CAAC,OAAO;iBACd,CAAC,CAAA;gBACI,IAAA,KAAW,QAAQ,CAAC,qBAAqB,EAAvC,CAAC,OAAA,EAAE,CAAC,OAAmC,CAAA;gBAC/C,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC,CAAA;QACD,kBAAY,GAAG,UAAC,EAAc;YAC5B,6BAA6B;YAC7B,IAAM,MAAM,GAAG,EAAE,CAAC,MAAqB,CAAA;YACvC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,gBAAgB,EAAE,CAAC;gBAC7C,IAAA,UAAU,GAAK,KAAI,CAAC,KAAK,WAAf,CAAe;gBACzB,IAAA,cAAc,GAAK,UAAU,eAAf,CAAe;gBACrC,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBAC5B,UAAU,CAAC,mBAAmB,EAAE,CAAA;gBAClC,CAAC;gBACD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAS,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC,CAAA;QACD,uBAAiB,GAAG,UAAC,EAAc;YACjC,IAAM,MAAM,GAAG,EAAE,CAAC,MAAqB,CAAA;YACvC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,gBAAgB,EAAE,CAAC;gBACrD,EAAE,CAAC,cAAc,EAAE,CAAA;gBACX,IAAA,UAAU,GAAK,KAAI,CAAC,KAAK,WAAf,CAAe;gBACjC,IAAM,QAAQ,GAAG,UAAU,CAAC,gBAAgB,CAAC;oBAC3C,CAAC,EAAE,EAAE,CAAC,OAAO;oBACb,CAAC,EAAE,EAAE,CAAC,OAAO;iBACd,CAAC,CAAA;gBACF,mFAAmF;gBACnF,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAS,CAAC,iBAAiB,EAAE;oBACvD,CAAC,EAAE,EAAE;oBACL,QAAQ,UAAA;iBACT,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAA;QACD,YAAY;QACZ,sBAAgB,GAAG,UAAC,EAAc;YAE9B,IAAA,KAME,KAAI,CAAC,KAAK,WADX,EAJC,WAAW,iBAAA,EACX,eAAe,qBAAA,EACG,OAAO,4BAAA,EACzB,QAAQ,cACT,CACW;YACd,IAAM,MAAM,GAAG,EAAE,CAAC,MAAqB,CAAA;YACvC,IAAM,eAAe,GACnB,CAAC,eAAe,CAAC,UAAU,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAA;YACpE,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,gBAAgB,IAAI,eAAe,EAAE,CAAC;gBACxE,IAAI,eAAe,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;oBAC3C,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAA;oBACzC,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;gBACnC,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,oBAAS,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;gBACxD,CAAC;gBACD,4BAA4B;gBAC5B,KAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;YACvB,CAAC;QACH,CAAC,CAAA;QA5HG,IAAA,KACE,KAAK,WAD8B,EAAvB,QAAQ,cAAA,EAAE,WAAW,iBAAE,CAC9B;QACT,KAAI,CAAC,QAAQ,GAAG,IAAI,eAAQ,CAAC;YAC3B,UAAU,EAAE,KAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,KAAI,CAAC,SAAS;YACzB,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,OAAO;YAClB,iBAAiB,EAAE,KAAK;YACxB,WAAW,aAAA;YACX,KAAK,EAAE,SAAS;SACjB,CAAC,CAAA;QACF,6BAA6B;QAC7B,KAAI,CAAC,KAAK,GAAG;YACX,UAAU,EAAE,KAAK;SAClB,CAAA;;IACH,CAAC;IA+GD,8BAAM,GAAN;QAEkB,IAAA,cAAc,GAC1B,IAAI,CAAC,KAAK,0BADgB,CAChB;QACN,IAAA,SAAS,GAAK,cAAc,CAAC,iBAAiB,EAAE,UAAvC,CAAuC;QAClD,IAAA,KAAoB,IAAI,CAAC,KAAK,EAA5B,QAAQ,cAAA,EAAE,GAAG,SAAe,CAAA;QAC5B,IAAA,UAAU,GAAK,IAAI,CAAC,KAAK,WAAf,CAAe;QAEjC,OAAO,CACL,yCACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAClC,aAAa,EAAE,IAAI,CAAC,iBAAiB,EACrC,SAAS,EACP,UAAU;gBACR,CAAC,CAAC,+BAA+B;gBACjC,CAAC,CAAC,gCAAgC,IAElC,GAAG,CAAC,QAAQ,EAAE,cAElB,8BAAG,SAAS,EAAE,SAAS,YAAG,QAAQ,GAAK,IACnC,CACP,CAAA;IACH,CAAC;IAjKU,aAAa;QADzB,YAAQ;OACI,aAAa,CAkKzB;IAAD,oBAAC;CAAA,AAlKD,CAAmC,kBAAS,GAkK3C;AAlKY,sCAAa;AAoK1B,kBAAe,aAAa,CAAA"}
|
|
@@ -12,7 +12,7 @@ export declare class ToolOverlay extends Component<IProps> {
|
|
|
12
12
|
/**
|
|
13
13
|
* 外部传入的一般是HTMLElement
|
|
14
14
|
*/
|
|
15
|
-
getTools(): import("preact").VNode<import("
|
|
15
|
+
getTools(): import("preact").VNode<import("../..").IToolProps>[];
|
|
16
16
|
triggerToolRender(): void;
|
|
17
17
|
render(): h.JSX.Element;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolOverlay.js","sourceRoot":"","sources":["../../../src/view/overlay/ToolOverlay.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAA6D;AAC7D,sBAAkC;AAClC,2BAAgC;AAWhC;IAAiC,+BAAiB;IAAlD;;IAiDA,CAAC;IAhDC,yFAAyF;IACzF,+DAA+D;IAC/D,6DAA6D;IAC7D,6DAA6D;IAC7D,uCAAiB,GAAjB;QACE,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC1B,CAAC;IAED,wCAAkB,GAAlB;QACE,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,8BAAQ,GAAR;QACQ,IAAA,KAAuB,IAAI,CAAC,KAAK,EAA/B,IAAI,UAAA,EAAE,UAAU,gBAAe,CAAA;QAC/B,IAAA,eAAe,GAAK,UAAU,gBAAf,CAAe;QACtC,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC7B,IAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC;YAC7B,OAAA,IAAA,sBAAC,EAAC,CAAC,EAAE;gBACH,eAAe,iBAAA;gBACf,UAAU,YAAA;gBACV,
|
|
1
|
+
{"version":3,"file":"ToolOverlay.js","sourceRoot":"","sources":["../../../src/view/overlay/ToolOverlay.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAA6D;AAC7D,sBAAkC;AAClC,2BAAgC;AAWhC;IAAiC,+BAAiB;IAAlD;;IAiDA,CAAC;IAhDC,yFAAyF;IACzF,+DAA+D;IAC/D,6DAA6D;IAC7D,6DAA6D;IAC7D,uCAAiB,GAAjB;QACE,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC1B,CAAC;IAED,wCAAkB,GAAlB;QACE,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,8BAAQ,GAAR;QACQ,IAAA,KAAuB,IAAI,CAAC,KAAK,EAA/B,IAAI,UAAA,EAAE,UAAU,gBAAe,CAAA;QAC/B,IAAA,eAAe,GAAK,UAAU,gBAAf,CAAe;QACtC,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC7B,IAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC;YAC7B,OAAA,IAAA,sBAAC,EAAC,CAAC,EAAE;gBACH,eAAe,iBAAA;gBACf,UAAU,YAAA;gBACV,EAAE,EAAE,IAAI,CAAC,QAAQ;aAClB,CAAC;QAJF,CAIE,CACH,CAAA;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,uCAAiB,GAAjB;QACQ,IAAA,KAAuB,IAAI,CAAC,KAAK,EAA/B,IAAI,UAAA,EAAE,UAAU,gBAAe,CAAA;QACvC,IAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAC/C,uBAAgB,UAAU,CAAC,MAAM,CAAE,CACrB,CAAA;QAChB,IAAM,EAAE,GAAc,IAAI,CAAC,WAAW,EAAE,CAAA;QACxC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,EAAE,EAAE,kBAAkB,CAAC,EAA9B,CAA8B,CAAC,CAAA;QACjE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAA,CAAC,4BAA4B;IACjD,CAAC;IAED,4BAAM,GAAN;QACU,IAAA,UAAU,GAAK,IAAI,CAAC,KAAK,WAAf,CAAe;QACjC,OAAO,CACL,gCAAK,SAAS,EAAC,iBAAiB,EAAC,EAAE,EAAE,sBAAe,UAAU,CAAC,MAAM,CAAE,YACpE,IAAI,CAAC,QAAQ,EAAE,GACZ,CACP,CAAA;IACH,CAAC;IAhDU,WAAW;QADvB,YAAQ;OACI,WAAW,CAiDvB;IAAD,kBAAC;CAAA,AAjDD,CAAiC,kBAAS,GAiDzC;AAjDY,kCAAW;AAmDxB,kBAAe,iBAAc,CAAA"}
|
|
@@ -74,11 +74,14 @@ var BaseText = /** @class */ (function (_super) {
|
|
|
74
74
|
};
|
|
75
75
|
_this.dbClickHandler = function () {
|
|
76
76
|
// 静默模式下,双击不更改状态,不可编辑
|
|
77
|
-
var
|
|
77
|
+
var _a = _this.props, editable = _a.editable, eventCenter = _a.graphModel.eventCenter, model = _a.model;
|
|
78
78
|
if (editable) {
|
|
79
|
-
var model = _this.props.model;
|
|
80
79
|
model.setElementState(constant_1.ElementState.TEXT_EDIT);
|
|
81
80
|
}
|
|
81
|
+
eventCenter.emit(constant_1.EventType.TEXT_DBCLICK, {
|
|
82
|
+
data: model.text,
|
|
83
|
+
model: model,
|
|
84
|
+
});
|
|
82
85
|
};
|
|
83
86
|
var draggable = props.draggable;
|
|
84
87
|
// TODO: 确认为什么不在 new 的时候传入 model,而在下面使用的时候赋值
|
|
@@ -86,6 +89,7 @@ var BaseText = /** @class */ (function (_super) {
|
|
|
86
89
|
onDragging: _this.onDragging,
|
|
87
90
|
step: 1,
|
|
88
91
|
// model,
|
|
92
|
+
eventType: 'TEXT',
|
|
89
93
|
isStopPropagation: draggable,
|
|
90
94
|
});
|
|
91
95
|
return _this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseText.js","sourceRoot":"","sources":["../../../src/view/text/BaseText.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAmC;AACnC,wCAA6D;AAC7D,
|
|
1
|
+
{"version":3,"file":"BaseText.js","sourceRoot":"","sources":["../../../src/view/text/BaseText.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/LogicFlow.tsx
CHANGED
|
@@ -6,7 +6,7 @@ import * as _Model from './model'
|
|
|
6
6
|
import {
|
|
7
7
|
BaseEdgeModel,
|
|
8
8
|
BaseNodeModel,
|
|
9
|
-
|
|
9
|
+
IEditConfigType,
|
|
10
10
|
GraphModel,
|
|
11
11
|
SnaplineModel,
|
|
12
12
|
ZoomParamType,
|
|
@@ -16,11 +16,10 @@ import Graph from './view/Graph'
|
|
|
16
16
|
import * as _View from './view'
|
|
17
17
|
import { formatData } from './util'
|
|
18
18
|
|
|
19
|
-
import Dnd from './view/behavior
|
|
20
|
-
import Tool from './tool
|
|
21
|
-
import { snapline } from './tool'
|
|
22
|
-
import Keyboard from './keyboard'
|
|
19
|
+
import { Dnd, snapline } from './view/behavior'
|
|
20
|
+
import Tool from './tool'
|
|
23
21
|
import History from './history'
|
|
22
|
+
import Keyboard from './keyboard'
|
|
24
23
|
import { EventCallback, CallbackArgs, EventArgs } from './event/eventEmitter'
|
|
25
24
|
import { ElementType, EventType, SegmentDirection } from './constant'
|
|
26
25
|
import { initDefaultShortcut } from './keyboard/shortcut'
|
|
@@ -698,8 +697,8 @@ export class LogicFlow {
|
|
|
698
697
|
distance = 40,
|
|
699
698
|
): GraphElements | undefined {
|
|
700
699
|
// TODO: 1. 解决下面方法中 distance 传参缺未使用的问题;该方法在快捷键中有调用
|
|
701
|
-
console.log('addElements', nodes, edges, distance)
|
|
702
700
|
// TODO: 2. review 一下本函数代码逻辑,确认 nodeIdMap 的作用,看是否有优化的空间
|
|
701
|
+
console.log('distance', distance)
|
|
703
702
|
const nodeIdMap: Record<string, string> = {}
|
|
704
703
|
const elements: GraphElements = {
|
|
705
704
|
nodes: [],
|
|
@@ -708,11 +707,9 @@ export class LogicFlow {
|
|
|
708
707
|
forEach(nodes, (node) => {
|
|
709
708
|
const nodeId = node.id
|
|
710
709
|
const nodeModel = this.addNode(node)
|
|
711
|
-
|
|
712
710
|
if (nodeId) nodeIdMap[nodeId] = nodeModel.id
|
|
713
711
|
elements.nodes.push(nodeModel)
|
|
714
712
|
})
|
|
715
|
-
|
|
716
713
|
forEach(edges, (edge) => {
|
|
717
714
|
let { sourceNodeId, targetNodeId } = edge
|
|
718
715
|
if (nodeIdMap[sourceNodeId]) sourceNodeId = nodeIdMap[sourceNodeId]
|
|
@@ -890,7 +887,7 @@ export class LogicFlow {
|
|
|
890
887
|
* @param {object} config 编辑配置
|
|
891
888
|
* @see todo docs link
|
|
892
889
|
*/
|
|
893
|
-
updateEditConfig(config:
|
|
890
|
+
updateEditConfig(config: Partial<IEditConfigType>) {
|
|
894
891
|
const { editConfigModel, transformModel } = this.graphModel
|
|
895
892
|
editConfigModel.updateEditConfig(config)
|
|
896
893
|
if (config?.stopMoveGraph !== undefined) {
|
|
@@ -1074,6 +1071,7 @@ export class LogicFlow {
|
|
|
1074
1071
|
)
|
|
1075
1072
|
this.emit(EventType.GRAPH_RENDERED, {
|
|
1076
1073
|
data: this.graphModel.modelToGraphData(),
|
|
1074
|
+
graphModel: this.graphModel,
|
|
1077
1075
|
})
|
|
1078
1076
|
}
|
|
1079
1077
|
|
|
@@ -1324,7 +1322,7 @@ export class LogicFlow {
|
|
|
1324
1322
|
([, extension]) => extension,
|
|
1325
1323
|
)
|
|
1326
1324
|
// 安装插件,优先使用个性插件
|
|
1327
|
-
const extensions = [...
|
|
1325
|
+
const extensions = [...this.plugins, ...extensionsAddByUse]
|
|
1328
1326
|
forEach(extensions, (ext) => {
|
|
1329
1327
|
let extension: ExtensionConstructor | ExtensionDefinition
|
|
1330
1328
|
let props: Record<string, any> | undefined
|
|
@@ -1362,15 +1360,18 @@ export class LogicFlow {
|
|
|
1362
1360
|
}
|
|
1363
1361
|
|
|
1364
1362
|
const ExtensionCtor = extension as ExtensionConstructor
|
|
1363
|
+
const pluginName = ExtensionCtor.pluginName
|
|
1365
1364
|
const extensionIns = new ExtensionCtor({
|
|
1366
1365
|
lf: this,
|
|
1367
1366
|
LogicFlow,
|
|
1368
1367
|
props,
|
|
1369
|
-
|
|
1368
|
+
// TODO: 这里的 options 应该传入插件对应的 options,而不是全局的 options
|
|
1369
|
+
// 所以应该这么写 this.options.pluginsOptions[ExtensionCtor.pluginName] ?? {}
|
|
1370
|
+
options: this.options.pluginsOptions?.[pluginName] ?? {},
|
|
1370
1371
|
})
|
|
1371
1372
|
extensionIns.render &&
|
|
1372
1373
|
this.components.push(extensionIns.render.bind(extensionIns))
|
|
1373
|
-
this.extension[
|
|
1374
|
+
this.extension[pluginName] = extensionIns
|
|
1374
1375
|
}
|
|
1375
1376
|
}
|
|
1376
1377
|
|
|
@@ -1442,9 +1443,48 @@ export namespace LogicFlow {
|
|
|
1442
1443
|
y: number
|
|
1443
1444
|
editable?: boolean
|
|
1444
1445
|
draggable?: boolean
|
|
1446
|
+
// 直接在这儿设置文本模式
|
|
1445
1447
|
// overflowMode?: 'default' | 'autoWrap' | 'ellipsis'
|
|
1446
1448
|
}
|
|
1447
1449
|
|
|
1450
|
+
// label数据类型声明
|
|
1451
|
+
export type LabelConfig = {
|
|
1452
|
+
id?: string // label唯一标识
|
|
1453
|
+
x: number
|
|
1454
|
+
y: number
|
|
1455
|
+
content?: string // 富文本内容
|
|
1456
|
+
value: string // 纯文本内容
|
|
1457
|
+
rotate?: number // 旋转角度
|
|
1458
|
+
// 样式属性
|
|
1459
|
+
style?: h.JSX.CSSProperties // label自定义样式
|
|
1460
|
+
|
|
1461
|
+
// 编辑状态属性
|
|
1462
|
+
editable?: boolean
|
|
1463
|
+
draggable?: boolean
|
|
1464
|
+
labelWidth?: number
|
|
1465
|
+
textOverflowMode?: 'ellipsis' | 'wrap' | 'clip' | 'nowrap' | 'default'
|
|
1466
|
+
|
|
1467
|
+
// 当前 Label 是否渲染纵向文本
|
|
1468
|
+
vertical?: boolean
|
|
1469
|
+
}
|
|
1470
|
+
|
|
1471
|
+
export type LabelOption = {
|
|
1472
|
+
// 节点的所有 Label 是否纵向展示
|
|
1473
|
+
isVertical: boolean
|
|
1474
|
+
// 是否支持多个 label
|
|
1475
|
+
isMultiple: boolean
|
|
1476
|
+
// 允许设置多个 label 时最大个数
|
|
1477
|
+
maxCount?: number
|
|
1478
|
+
}
|
|
1479
|
+
|
|
1480
|
+
export interface LabelData extends LabelConfig {
|
|
1481
|
+
id: string
|
|
1482
|
+
x: number
|
|
1483
|
+
y: number
|
|
1484
|
+
content: string
|
|
1485
|
+
value: string
|
|
1486
|
+
}
|
|
1487
|
+
|
|
1448
1488
|
export type AppendConfig = {
|
|
1449
1489
|
startIndex: number
|
|
1450
1490
|
endIndex: number
|
|
@@ -1507,7 +1547,6 @@ export namespace LogicFlow {
|
|
|
1507
1547
|
export interface NodeData extends NodeConfig {
|
|
1508
1548
|
id: string
|
|
1509
1549
|
text?: TextConfig
|
|
1510
|
-
|
|
1511
1550
|
[key: string]: unknown
|
|
1512
1551
|
}
|
|
1513
1552
|
|
|
@@ -1519,7 +1558,6 @@ export namespace LogicFlow {
|
|
|
1519
1558
|
sourceAnchorId?: string
|
|
1520
1559
|
targetNodeId: string
|
|
1521
1560
|
targetAnchorId?: string
|
|
1522
|
-
|
|
1523
1561
|
startPoint?: Point
|
|
1524
1562
|
endPoint?: Point
|
|
1525
1563
|
text?: TextConfig | string
|
package/src/algorithm/edge.ts
CHANGED
package/src/algorithm/index.ts
CHANGED
package/src/algorithm/outline.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ModelType } from '../constant'
|
|
2
2
|
import {
|
|
3
3
|
Model,
|
|
4
|
-
PolylineEdgeModel,
|
|
5
|
-
BezierEdgeModel,
|
|
6
4
|
BaseNodeModel,
|
|
7
5
|
BaseEdgeModel,
|
|
8
6
|
LineEdgeModel,
|
|
7
|
+
BezierEdgeModel,
|
|
8
|
+
PolylineEdgeModel,
|
|
9
9
|
} from '../model'
|
|
10
10
|
import { points2PointsList, getBBoxOfPoints, getBezierPoints } from '../util'
|
|
11
11
|
|
package/src/common/drag.ts
CHANGED
|
@@ -23,7 +23,14 @@ 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
35
|
model?: Model.BaseModel
|
|
29
36
|
data?: Record<string, unknown>
|
|
@@ -41,7 +48,14 @@ export class StepperDrag {
|
|
|
41
48
|
|
|
42
49
|
step: number
|
|
43
50
|
isStopPropagation: boolean
|
|
44
|
-
eventType:
|
|
51
|
+
eventType:
|
|
52
|
+
| 'NODE'
|
|
53
|
+
| 'BLANK'
|
|
54
|
+
| 'SELECTION'
|
|
55
|
+
| 'ADJUST_POINT'
|
|
56
|
+
| 'TEXT'
|
|
57
|
+
| 'LABEL'
|
|
58
|
+
| ''
|
|
45
59
|
eventCenter?: EventEmitter
|
|
46
60
|
model?: Model.BaseModel
|
|
47
61
|
data?: Record<string, unknown>
|
package/src/constant/index.ts
CHANGED
|
@@ -109,9 +109,45 @@ export enum EventType {
|
|
|
109
109
|
SELECTION_CONTEXTMENU = 'selection:contextmenu',
|
|
110
110
|
CONNECTION_NOT_ALLOWED = 'connection:not-allowed',
|
|
111
111
|
|
|
112
|
+
// Text events
|
|
113
|
+
TEXT_MOUSEDOWN = 'text:mousedown',
|
|
114
|
+
TEXT_DRAGSTART = 'text:dragstart',
|
|
115
|
+
TEXT_DRAG = 'text:drag',
|
|
116
|
+
TEXT_DROP = 'text:drop',
|
|
117
|
+
TEXT_CLICK = 'text:click',
|
|
118
|
+
TEXT_DBCLICK = 'text:dbclick',
|
|
119
|
+
TEXT_BLUR = 'text:blur',
|
|
120
|
+
TEXT_MOUSEMOVE = 'text:mousemove',
|
|
121
|
+
TEXT_MOUSEUP = 'text:mouseup',
|
|
122
|
+
TEXT_FOCUS = 'text:focus',
|
|
123
|
+
TEXT_ADD = 'text:add',
|
|
124
|
+
TEXT_UPDATE = 'text:update',
|
|
125
|
+
TEXT_CLEAR = 'text:clear',
|
|
126
|
+
|
|
127
|
+
// label events
|
|
128
|
+
LABEL_MOUSEDOWN = 'label:mousedown',
|
|
129
|
+
LABEL_DRAGSTART = 'label:dragstart',
|
|
130
|
+
LABEL_DRAG = 'label:drag',
|
|
131
|
+
LABEL_DROP = 'label:drop',
|
|
132
|
+
LABEL_CLICK = 'label:click',
|
|
133
|
+
LABEL_DBCLICK = 'label:dbclick',
|
|
134
|
+
LABEL_BLUR = 'label:blur',
|
|
135
|
+
LABEL_MOUSEMOVE = 'label:mousemove',
|
|
136
|
+
LABEL_MOUSEUP = 'label:mouseup',
|
|
137
|
+
LABEL_FOCUS = 'label:focus',
|
|
138
|
+
LABEL_ADD = 'label:add',
|
|
139
|
+
LABEL_UPDATE = 'label:update',
|
|
140
|
+
LABEL_CLEAR = 'label:clear',
|
|
141
|
+
LABEL_DELETE = 'label:delete',
|
|
142
|
+
LABEL_SHOULD_ADD = 'label:should-add',
|
|
143
|
+
LABEL_BATCH_ADD = 'label:batch-add',
|
|
144
|
+
LABEL_SHOULD_UPDATE = 'label:should-update',
|
|
145
|
+
LABEL_SHOULD_DELETE = 'label:should-delete',
|
|
146
|
+
LABEL_BATCH_DELETE = 'label:batch-delete',
|
|
147
|
+
LABEL_NOT_ALLOWED_ADD = 'label:not-allowed-add',
|
|
148
|
+
|
|
112
149
|
// Other events
|
|
113
150
|
HISTORY_CHANGE = 'history:change',
|
|
114
|
-
TEXT_UPDATE = 'text:update',
|
|
115
151
|
GRAPH_TRANSFORM = 'graph:transform',
|
|
116
152
|
GRAPH_RENDERED = 'graph:rendered',
|
|
117
153
|
GRAPH_UPDATED = 'graph:updated',
|
|
@@ -126,3 +162,8 @@ export enum SegmentDirection {
|
|
|
126
162
|
HORIZONTAL = 'horizontal',
|
|
127
163
|
VERTICAL = 'vertical',
|
|
128
164
|
}
|
|
165
|
+
|
|
166
|
+
export enum TextMode {
|
|
167
|
+
TEXT = 'text',
|
|
168
|
+
LABEL = 'label',
|
|
169
|
+
}
|
package/src/event/eventArgs.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
LogicFlow,
|
|
1
|
+
import LogicFlow, {
|
|
3
2
|
BaseNodeModel,
|
|
4
3
|
BaseEdgeModel,
|
|
5
4
|
Model,
|
|
5
|
+
GraphModel,
|
|
6
6
|
TransformData,
|
|
7
7
|
TransformType,
|
|
8
8
|
} from '..'
|
|
@@ -24,12 +24,29 @@ type ClickEventArgs = {
|
|
|
24
24
|
isMultiple: boolean
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
type NodeEventArgsPick<
|
|
27
|
+
type NodeEventArgsPick<
|
|
28
|
+
T extends
|
|
29
|
+
| 'preData'
|
|
30
|
+
| 'data'
|
|
31
|
+
| 'model'
|
|
32
|
+
| 'e'
|
|
33
|
+
| 'position'
|
|
34
|
+
| 'deltaX'
|
|
35
|
+
| 'deltaY',
|
|
36
|
+
> = Pick<
|
|
28
37
|
{
|
|
38
|
+
/**
|
|
39
|
+
* 上一个状态的节点数据
|
|
40
|
+
*/
|
|
41
|
+
preData: NodeData
|
|
29
42
|
/**
|
|
30
43
|
* 节点数据
|
|
31
44
|
*/
|
|
32
45
|
data: NodeData
|
|
46
|
+
/**
|
|
47
|
+
* 节点 model
|
|
48
|
+
*/
|
|
49
|
+
model: BaseNodeModel
|
|
33
50
|
/**
|
|
34
51
|
* 原生鼠标事件对象
|
|
35
52
|
*/
|
|
@@ -38,6 +55,35 @@ type NodeEventArgsPick<T extends 'data' | 'e' | 'position'> = Pick<
|
|
|
38
55
|
* 鼠标触发点相对于画布左上角的坐标
|
|
39
56
|
*/
|
|
40
57
|
position: ClientPosition
|
|
58
|
+
/**
|
|
59
|
+
* 鼠标 X轴移动的距离
|
|
60
|
+
*/
|
|
61
|
+
deltaX: number
|
|
62
|
+
/**
|
|
63
|
+
* 鼠标Y轴移动的距离
|
|
64
|
+
*/
|
|
65
|
+
deltaY: number
|
|
66
|
+
},
|
|
67
|
+
T
|
|
68
|
+
>
|
|
69
|
+
|
|
70
|
+
type TextEventArgsPick<
|
|
71
|
+
T extends 'data' | 'e' | 'model' | 'element' | 'position',
|
|
72
|
+
> = Pick<
|
|
73
|
+
{
|
|
74
|
+
// 节点数据
|
|
75
|
+
data?: any
|
|
76
|
+
// 原生鼠标事件对象
|
|
77
|
+
e?: MouseEvent | FocusEvent
|
|
78
|
+
// 文本所在元素model
|
|
79
|
+
model?: BaseNodeModel | BaseEdgeModel | unknown
|
|
80
|
+
// 文本dom
|
|
81
|
+
element?: HTMLElement | null
|
|
82
|
+
// 文本位置
|
|
83
|
+
position?: {
|
|
84
|
+
x: number
|
|
85
|
+
y: number
|
|
86
|
+
}
|
|
41
87
|
},
|
|
42
88
|
T
|
|
43
89
|
>
|
|
@@ -65,7 +111,7 @@ interface NodeEventArgs {
|
|
|
65
111
|
/**
|
|
66
112
|
* 鼠标移动节点
|
|
67
113
|
*/
|
|
68
|
-
'node:mousemove': NodeEventArgsPick<'data' | 'e'>
|
|
114
|
+
'node:mousemove': NodeEventArgsPick<'data' | 'e' | 'deltaX' | 'deltaY'>
|
|
69
115
|
/**
|
|
70
116
|
* 鼠标进入节点
|
|
71
117
|
*/
|
|
@@ -97,7 +143,7 @@ interface NodeEventArgs {
|
|
|
97
143
|
/**
|
|
98
144
|
* 拖拽节点
|
|
99
145
|
*/
|
|
100
|
-
'node:drag': NodeEventArgsPick<'data' | 'e'>
|
|
146
|
+
'node:drag': NodeEventArgsPick<'data' | 'e' | 'deltaX' | 'deltaY'>
|
|
101
147
|
/**
|
|
102
148
|
* 拖拽节点结束
|
|
103
149
|
*/
|
|
@@ -106,6 +152,14 @@ interface NodeEventArgs {
|
|
|
106
152
|
* 右键点击节点
|
|
107
153
|
*/
|
|
108
154
|
'node:contextmenu': NodeEventArgsPick<'data' | 'e' | 'position'>
|
|
155
|
+
/**
|
|
156
|
+
* 节点旋转
|
|
157
|
+
*/
|
|
158
|
+
'node:rotate': NodeEventArgsPick<'data' | 'e' | 'model'>
|
|
159
|
+
/**
|
|
160
|
+
* 节点缩放
|
|
161
|
+
*/
|
|
162
|
+
'node:resize': NodeEventArgsPick<'preData' | 'data' | 'model'>
|
|
109
163
|
}
|
|
110
164
|
|
|
111
165
|
type EdgeEventArgsPick<T extends 'data' | 'e' | 'position'> = Pick<
|
|
@@ -179,6 +233,88 @@ interface EdgeEventArgs {
|
|
|
179
233
|
}
|
|
180
234
|
}
|
|
181
235
|
|
|
236
|
+
/**
|
|
237
|
+
* 文本事件
|
|
238
|
+
*/
|
|
239
|
+
interface TextEventArgs {
|
|
240
|
+
// 鼠标按下文本
|
|
241
|
+
'text:mousedown': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
242
|
+
// 开始拖拽文本
|
|
243
|
+
'text:dragstart': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
244
|
+
// 文本拖拽
|
|
245
|
+
'text:drag': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
246
|
+
// 文本拖拽结束
|
|
247
|
+
'text:drop': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
248
|
+
// 文本单击
|
|
249
|
+
'text:click': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
250
|
+
// 文本双击
|
|
251
|
+
'text:dbclick': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
252
|
+
// 文本失焦
|
|
253
|
+
'text:blur': TextEventArgsPick<'data' | 'e' | 'model' | 'element'>
|
|
254
|
+
// 鼠标移动文本
|
|
255
|
+
'text:mousemove': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
256
|
+
// 鼠标抬起
|
|
257
|
+
'text:mouseup': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
258
|
+
// 文本获焦
|
|
259
|
+
'text:focus': TextEventArgsPick<'data' | 'e' | 'model' | 'element'>
|
|
260
|
+
// 文本新增
|
|
261
|
+
'text:add': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
262
|
+
// 文本更新
|
|
263
|
+
'text:update': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
264
|
+
// 文本清空
|
|
265
|
+
'text:clear': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
266
|
+
// 文本删除
|
|
267
|
+
'text:delete': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
268
|
+
// 不允许增加文本
|
|
269
|
+
'text:not-allowed-add': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* label插件文本事件
|
|
274
|
+
*/
|
|
275
|
+
interface TextEventArgs {
|
|
276
|
+
// 鼠标按下文本
|
|
277
|
+
'label:mousedown': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
278
|
+
// 开始拖拽文本
|
|
279
|
+
'label:dragstart': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
280
|
+
// 文本拖拽
|
|
281
|
+
'label:drag': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
282
|
+
// 文本拖拽结束
|
|
283
|
+
'label:drop': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
284
|
+
// 文本单击
|
|
285
|
+
'label:click': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
286
|
+
// 文本双击
|
|
287
|
+
'label:dbclick': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
288
|
+
// 文本失焦
|
|
289
|
+
'label:blur': TextEventArgsPick<'data' | 'e' | 'model' | 'element'>
|
|
290
|
+
// 鼠标移动文本
|
|
291
|
+
'label:mousemove': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
292
|
+
// 鼠标抬起
|
|
293
|
+
'label:mouseup': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
294
|
+
// 文本获焦
|
|
295
|
+
'label:focus': TextEventArgsPick<'data' | 'e' | 'model' | 'element'>
|
|
296
|
+
// 文本新增
|
|
297
|
+
'label:add': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
298
|
+
// 文本更新
|
|
299
|
+
'label:update': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
300
|
+
// 文本清空
|
|
301
|
+
'label:clear': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
302
|
+
// 文本删除
|
|
303
|
+
'label:delete': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
304
|
+
// 文本新增
|
|
305
|
+
'label:should-add': TextEventArgsPick<'data' | 'e' | 'model' | 'position'>
|
|
306
|
+
// 文本批量新增
|
|
307
|
+
'label:batch-add': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
308
|
+
// 文本更新
|
|
309
|
+
'label:should-update': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
310
|
+
// 文本删除
|
|
311
|
+
'label:should-delete': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
312
|
+
// 文本批量删除
|
|
313
|
+
'label:batch-delete': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
314
|
+
// 不允许增加文本
|
|
315
|
+
'label:not-allowed-add': TextEventArgsPick<'data' | 'e' | 'model'>
|
|
316
|
+
}
|
|
317
|
+
|
|
182
318
|
/**
|
|
183
319
|
* 连线事件
|
|
184
320
|
*/
|
|
@@ -240,26 +376,6 @@ interface CommonEventArgs {
|
|
|
240
376
|
properties: Record<string, any>
|
|
241
377
|
}
|
|
242
378
|
}
|
|
243
|
-
/**
|
|
244
|
-
* 节点/边的文本更新
|
|
245
|
-
*/
|
|
246
|
-
// TODO: 更新文本事件抛出的对象是否需要更详细?
|
|
247
|
-
'text:update': {
|
|
248
|
-
data: {
|
|
249
|
-
/**
|
|
250
|
-
* 更新的文本
|
|
251
|
-
*/
|
|
252
|
-
text: string
|
|
253
|
-
/**
|
|
254
|
-
* 节点/边的 id
|
|
255
|
-
*/
|
|
256
|
-
id: string
|
|
257
|
-
/**
|
|
258
|
-
* 节点/边的类型
|
|
259
|
-
*/
|
|
260
|
-
type: string
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
379
|
/**
|
|
264
380
|
* 进行画布平移或缩放等变化操作时触发
|
|
265
381
|
*/
|
|
@@ -281,6 +397,10 @@ interface CommonEventArgs {
|
|
|
281
397
|
* 渲染后的画布数据
|
|
282
398
|
*/
|
|
283
399
|
data: GraphData
|
|
400
|
+
/**
|
|
401
|
+
* 渲染后的画布 model
|
|
402
|
+
*/
|
|
403
|
+
graphModel: GraphModel
|
|
284
404
|
}
|
|
285
405
|
/**
|
|
286
406
|
* 画布重新更新后触发. 即 lf.render(graphData)方法被调用后或者改变画布(garphModel)上的属性后触发。
|
|
@@ -471,12 +591,13 @@ interface SelectionEventArgs {
|
|
|
471
591
|
'selection:contextmenu': SelectionEventArgsPick<'data' | 'e' | 'position'>
|
|
472
592
|
}
|
|
473
593
|
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
594
|
+
// 此处主要是对事件参数进行聚合
|
|
595
|
+
export type EventArgs = NodeEventArgs &
|
|
596
|
+
EdgeEventArgs &
|
|
597
|
+
ConnectionEventArgs &
|
|
598
|
+
CommonEventArgs &
|
|
599
|
+
AnchorEventArgs &
|
|
600
|
+
BlankEventArgs &
|
|
601
|
+
HistoryEventArgs &
|
|
602
|
+
SelectionEventArgs &
|
|
603
|
+
TextEventArgs
|
package/src/index.ts
CHANGED
|
@@ -10,10 +10,14 @@ export function observer<P>(props: P) {
|
|
|
10
10
|
|
|
11
11
|
export { LogicFlow, h, createRef, Component, LogicFlowUtil }
|
|
12
12
|
|
|
13
|
+
export * from './util'
|
|
14
|
+
export * from './tool'
|
|
13
15
|
export * from './view'
|
|
14
16
|
export * from './model'
|
|
15
17
|
export * from './options'
|
|
16
18
|
export * from './keyboard'
|
|
19
|
+
export * from './constant'
|
|
20
|
+
export * from './algorithm'
|
|
17
21
|
export { ElementState, ModelType, ElementType, EventType } from './constant'
|
|
18
22
|
|
|
19
23
|
export { formatAnchorConnectValidateData } from './util/node'
|