@logicflow/core 2.2.2 → 2.2.3-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +32 -0
  2. package/es/model/GraphModel.js +3 -1
  3. package/lib/model/GraphModel.js +3 -1
  4. package/package.json +6 -6
  5. package/dist/docs/api/logicflow-constructor/index.en.md +0 -106
  6. package/dist/docs/api/logicflow-constructor/index.zh.md +0 -106
  7. package/dist/docs/api/logicflow-constructor/use.en.md +0 -61
  8. package/dist/docs/api/logicflow-constructor/use.zh.md +0 -61
  9. package/dist/docs/api/logicflow-instance/canvas.en.md +0 -197
  10. package/dist/docs/api/logicflow-instance/canvas.zh.md +0 -199
  11. package/dist/docs/api/logicflow-instance/edge.en.md +0 -273
  12. package/dist/docs/api/logicflow-instance/edge.zh.md +0 -273
  13. package/dist/docs/api/logicflow-instance/edit-config.en.md +0 -59
  14. package/dist/docs/api/logicflow-instance/edit-config.zh.md +0 -59
  15. package/dist/docs/api/logicflow-instance/element.en.md +0 -375
  16. package/dist/docs/api/logicflow-instance/element.zh.md +0 -379
  17. package/dist/docs/api/logicflow-instance/event.en.md +0 -326
  18. package/dist/docs/api/logicflow-instance/event.zh.md +0 -406
  19. package/dist/docs/api/logicflow-instance/history.en.md +0 -38
  20. package/dist/docs/api/logicflow-instance/history.zh.md +0 -38
  21. package/dist/docs/api/logicflow-instance/index.en.md +0 -41
  22. package/dist/docs/api/logicflow-instance/index.zh.md +0 -41
  23. package/dist/docs/api/logicflow-instance/node.en.md +0 -308
  24. package/dist/docs/api/logicflow-instance/node.zh.md +0 -308
  25. package/dist/docs/api/logicflow-instance/register.en.md +0 -76
  26. package/dist/docs/api/logicflow-instance/register.zh.md +0 -76
  27. package/dist/docs/api/logicflow-instance/render-and-data.en.md +0 -179
  28. package/dist/docs/api/logicflow-instance/render-and-data.zh.md +0 -181
  29. package/dist/docs/api/logicflow-instance/text.en.md +0 -60
  30. package/dist/docs/api/logicflow-instance/text.zh.md +0 -60
  31. package/dist/docs/api/logicflow-instance/theme.en.md +0 -179
  32. package/dist/docs/api/logicflow-instance/theme.zh.md +0 -179
  33. package/dist/docs/api/runtime-model/edgeModel.en.md +0 -29
  34. package/dist/docs/api/runtime-model/edgeModel.zh.md +0 -325
  35. package/dist/docs/api/runtime-model/graphModel.en.md +0 -275
  36. package/dist/docs/api/runtime-model/graphModel.zh.md +0 -1153
  37. package/dist/docs/api/runtime-model/nodeModel.en.md +0 -37
  38. package/dist/docs/api/runtime-model/nodeModel.zh.md +0 -644
  39. package/dist/docs/api/type/MainTypes.en.md +0 -598
  40. package/dist/docs/api/type/MainTypes.zh.md +0 -867
  41. package/dist/docs/api/type/Theme.en.md +0 -187
  42. package/dist/docs/api/type/Theme.zh.md +0 -187
  43. package/dist/docs/api/type/canvas-types.en.md +0 -25
  44. package/dist/docs/api/type/canvas-types.zh.md +0 -25
  45. package/dist/docs/api/type/index.en.md +0 -96
  46. package/dist/docs/api/type/index.zh.md +0 -99
  47. package/dist/docs/api/type/node-types.en.md +0 -21
  48. package/dist/docs/api/type/node-types.zh.md +0 -21
  49. package/dist/docs/api/type/plugin-types.en.md +0 -24
  50. package/dist/docs/api/type/plugin-types.zh.md +0 -24
  51. package/dist/docs/index.md +0 -11
  52. package/dist/docs/tutorial/about.en.md +0 -38
  53. package/dist/docs/tutorial/about.zh.md +0 -65
  54. package/dist/docs/tutorial/advanced/dnd.en.md +0 -62
  55. package/dist/docs/tutorial/advanced/dnd.zh.md +0 -52
  56. package/dist/docs/tutorial/advanced/edge.en.md +0 -64
  57. package/dist/docs/tutorial/advanced/edge.zh.md +0 -66
  58. package/dist/docs/tutorial/advanced/keyboard.en.md +0 -70
  59. package/dist/docs/tutorial/advanced/keyboard.zh.md +0 -67
  60. package/dist/docs/tutorial/advanced/node.en.md +0 -338
  61. package/dist/docs/tutorial/advanced/node.zh.md +0 -338
  62. package/dist/docs/tutorial/advanced/react.en.md +0 -106
  63. package/dist/docs/tutorial/advanced/react.zh.md +0 -114
  64. package/dist/docs/tutorial/advanced/silent-mode.en.md +0 -75
  65. package/dist/docs/tutorial/advanced/silent-mode.zh.md +0 -71
  66. package/dist/docs/tutorial/advanced/snapline.en.md +0 -54
  67. package/dist/docs/tutorial/advanced/vue.en.md +0 -249
  68. package/dist/docs/tutorial/advanced/vue.zh.md +0 -248
  69. package/dist/docs/tutorial/ai.en.md +0 -64
  70. package/dist/docs/tutorial/ai.zh.md +0 -64
  71. package/dist/docs/tutorial/basic/background.en.md +0 -50
  72. package/dist/docs/tutorial/basic/canvas.en.md +0 -164
  73. package/dist/docs/tutorial/basic/canvas.zh.md +0 -183
  74. package/dist/docs/tutorial/basic/class.en.md +0 -106
  75. package/dist/docs/tutorial/basic/class.zh.md +0 -103
  76. package/dist/docs/tutorial/basic/edge.en.md +0 -151
  77. package/dist/docs/tutorial/basic/edge.zh.md +0 -152
  78. package/dist/docs/tutorial/basic/event.en.md +0 -70
  79. package/dist/docs/tutorial/basic/event.zh.md +0 -66
  80. package/dist/docs/tutorial/basic/grid.en.md +0 -77
  81. package/dist/docs/tutorial/basic/node.en.md +0 -358
  82. package/dist/docs/tutorial/basic/node.zh.md +0 -318
  83. package/dist/docs/tutorial/basic/theme.en.md +0 -154
  84. package/dist/docs/tutorial/basic/theme.zh.md +0 -157
  85. package/dist/docs/tutorial/extension/adapter.en.md +0 -446
  86. package/dist/docs/tutorial/extension/adapter.zh.md +0 -429
  87. package/dist/docs/tutorial/extension/bpmn-element.en.md +0 -1427
  88. package/dist/docs/tutorial/extension/bpmn-element.zh.md +0 -1472
  89. package/dist/docs/tutorial/extension/control.en.md +0 -117
  90. package/dist/docs/tutorial/extension/control.zh.md +0 -118
  91. package/dist/docs/tutorial/extension/curved-edge.en.md +0 -46
  92. package/dist/docs/tutorial/extension/curved-edge.zh.md +0 -46
  93. package/dist/docs/tutorial/extension/custom.en.md +0 -142
  94. package/dist/docs/tutorial/extension/custom.zh.md +0 -138
  95. package/dist/docs/tutorial/extension/dnd-panel.en.md +0 -109
  96. package/dist/docs/tutorial/extension/dnd-panel.zh.md +0 -109
  97. package/dist/docs/tutorial/extension/dynamic-group.en.md +0 -606
  98. package/dist/docs/tutorial/extension/dynamic-group.zh.md +0 -606
  99. package/dist/docs/tutorial/extension/group.en.md +0 -217
  100. package/dist/docs/tutorial/extension/group.zh.md +0 -209
  101. package/dist/docs/tutorial/extension/highlight.en.md +0 -50
  102. package/dist/docs/tutorial/extension/highlight.zh.md +0 -50
  103. package/dist/docs/tutorial/extension/insert-node-in-polyline.en.md +0 -52
  104. package/dist/docs/tutorial/extension/insert-node-in-polyline.zh.md +0 -47
  105. package/dist/docs/tutorial/extension/intro.en.md +0 -72
  106. package/dist/docs/tutorial/extension/intro.zh.md +0 -95
  107. package/dist/docs/tutorial/extension/label.en.md +0 -136
  108. package/dist/docs/tutorial/extension/label.zh.md +0 -135
  109. package/dist/docs/tutorial/extension/layout.en.md +0 -156
  110. package/dist/docs/tutorial/extension/layout.zh.md +0 -156
  111. package/dist/docs/tutorial/extension/menu.en.md +0 -319
  112. package/dist/docs/tutorial/extension/menu.zh.md +0 -377
  113. package/dist/docs/tutorial/extension/minimap.en.md +0 -164
  114. package/dist/docs/tutorial/extension/minimap.zh.md +0 -180
  115. package/dist/docs/tutorial/extension/node-resize.en.md +0 -199
  116. package/dist/docs/tutorial/extension/node-resize.zh.md +0 -221
  117. package/dist/docs/tutorial/extension/pool.en.md +0 -227
  118. package/dist/docs/tutorial/extension/pool.zh.md +0 -227
  119. package/dist/docs/tutorial/extension/proximity-connect.en.md +0 -104
  120. package/dist/docs/tutorial/extension/proximity-connect.zh.md +0 -107
  121. package/dist/docs/tutorial/extension/selection.en.md +0 -166
  122. package/dist/docs/tutorial/extension/selection.zh.md +0 -150
  123. package/dist/docs/tutorial/extension/snapshot.en.md +0 -276
  124. package/dist/docs/tutorial/extension/snapshot.zh.md +0 -276
  125. package/dist/docs/tutorial/get-started.en.md +0 -501
  126. package/dist/docs/tutorial/get-started.zh.md +0 -139
  127. package/dist/docs/tutorial/update.en.md +0 -213
  128. package/dist/docs/tutorial/update.zh.md +0 -212
  129. package/dist/index.css +0 -214
  130. package/dist/index.min.js +0 -2
  131. package/dist/index.min.js.map +0 -1
@@ -1,109 +0,0 @@
1
- ---
2
- nav: Guide
3
- group:
4
- title: Plug-in functionality
5
- order: 3
6
- title: DndPanel
7
- order: 2
8
- toc: content
9
- ---
10
-
11
- ### Customizing Drag & Drop Panel Content
12
-
13
- **lf.setPatternItems(patternItems)**
14
-
15
- **lf.extension.dndPanel.setPatternItems(patternItems)** `1.1.0` New
16
-
17
- Setting the Drag & Drop Panel Component Content
18
-
19
- ```tsx | pure
20
- type PatternItem = {
21
- type?: string;
22
- text?: string;
23
- label?: string;
24
- icon?: string;
25
- className?: string;
26
- properties?: object;
27
- callback?: () => void;
28
- };
29
-
30
- // lf.extension.dndPanel.setPatternItems = (patternItems:PatternItem[]) => void
31
- lf.extension.dndPanel.setPatternItems(patternItems)
32
- ```
33
-
34
- PatternItem:
35
-
36
- | Name | Type | Required | Default | Description |
37
- |:-----------|:-------|:-------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------|
38
- | type | string | None | Specify the type of node that the user can drag in with the mouse, including custom node types. If not passed, no node will be created, only a callback will be triggered. |
39
- | text | string | Not Required | None | Text of the created node |
40
- | properties | object | Not required | None | properties of the created node |
41
- | label | string | Not Required | None | Drag & Drop Panel Node Text Description |
42
- | icon | string | Not required | None | Drag and drop the icon displayed in the panel, you can pass the icon url address or base64 encoding |
43
- | className | string | Not required | None | Pass in a class that can be used to customize the style of the drag item. |
44
- | callback | fn | Not Required | None | Callback triggered by user's mouse pressing drag item. |
45
-
46
- ### usage example
47
-
48
- ```tsx | pure
49
- import LogicFlow from '@logicflow/core';
50
- import "@logicflow/core/lib/style/index.css";
51
- // import "@logicflow/core/dist/style/index.css"; // Introduced before version 2.0
52
- import { DndPanel, SelectionSelect } from '@logicflow/extension';
53
- import '@logicflow/extension/lib/style/index.css'
54
-
55
- LogicFlow.use(DndPanel);
56
- LogicFlow.use(SelectionSelect);
57
- const lf = new LogicFlow({
58
- container: document.querySelector('#graph') as HTMLElement
59
- });
60
-
61
- lf.extension.dndPanel.setPatternItems([
62
- {
63
- label: 'electoral district',
64
- icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAAH6ji2bAAAABGdBTUEAALGPC/xhBQAAAOVJREFUOBGtVMENwzAIjKP++2026ETdpv10iy7WFbqFyyW6GBywLCv5gI+Dw2Bluj1znuSjhb99Gkn6QILDY2imo60p8nsnc9bEo3+QJ+AKHfMdZHnl78wyTnyHZD53Zzx73MRSgYvnqgCUHj6gwdck7Zsp1VOrz0Uz8NbKunzAW+Gu4fYW28bUYutYlzSa7B84Fh7d1kjLwhcSdYAYrdkMQVpsBr5XgDGuXwQfQr0y9zwLda+DUYXLaGKdd2ZTtvbolaO87pdo24hP7ov16N0zArH1ur3iwJpXxm+v7oAJNR4JEP8DoAuSFEkYH7cAAAAASUVORK5CYII=',
65
- callback: () => {
66
- lf.extension.selectionSelect.openSelectionSelect();
67
- lf.once('selection:selected', () => {
68
- lf.extension.selectionSelect.closeSelectionSelect();
69
- });
70
- }
71
- },
72
- {
73
- type: 'circle',
74
- text: 'start',
75
- label: 'start node',
76
- icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAAH6ji2bAAAABGdBTUEAALGPC/xhBQAAAnBJREFUOBGdVL1rU1EcPfdGBddmaZLiEhdx1MHZQXApraCzQ7GKLgoRBxMfcRELuihWKcXFRcEWF8HBf0DdDCKYRZpnl7p0svLe9Zzbd29eQhTbC8nv+9zf130AT63jvooOGS8Vf9Nt5zxba7sXQwODfkWpkbjTQfCGUd9gIp3uuPP8bZ946g56dYQvnBg+b1HB8VIQmMFrazKcKSvFW2dQTxJnJdQ77urmXWOMBCmXM2Rke4S7UAW+/8ywwFoewmBps2tu7mbTdp8VMOkIRAkKfrVawalJTtIliclFbaOBqa0M2xImHeVIfd/nKAfVq/LGnPss5Kh00VEdSzfwnBXPUpmykNss4lUI9C1ga+8PNrBD5YeqRY2Zz8PhjooIbfJXjowvQJBqkmEkVnktWhwu2SM7SMx7Cj0N9IC0oQXRo8xwAGzQms+xrB/nNSUWVveI48ayrFGyC2+E2C+aWrZHXvOuz+CiV6iycWe1Rd1Q6+QUG07nb5SbPrL4426d+9E1axKjY3AoRrlEeSQo2Eu0T6BWAAr6COhTcWjRaYfKG5csnvytvUr/WY4rrPMB53Uo7jZRjXaG6/CFfNMaXEu75nG47X+oepU7PKJvvzGDY1YLSKHJrK7vFUwXKkaxwhCW3u+sDFMVrIju54RYYbFKpALZAo7sB6wcKyyrd+aBMryMT2gPyD6GsQoRFkGHr14TthZni9ck0z+Pnmee460mHXbRAypKNy3nuMdrWgVKj8YVV8E7PSzp1BZ9SJnJAsXdryw/h5ctboUVi4AFiCd+lQaYMw5z3LGTBKjLQOeUF35k89f58Vv/tGh+l+PE/wG0rgfIUbZK5AAAAABJRU5ErkJggg==',
77
- },
78
- {
79
- type: 'rect',
80
- label: 'User',
81
- icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAEFVwZaAAAABGdBTUEAALGPC/xhBQAAAqlJREFUOBF9VM9rE0EUfrMJNUKLihGbpLGtaCOIR8VjQMGDePCgCCIiCNqzCAp2MyYUCXhUtF5E0D+g1t48qAd7CCLqQUQKEWkStcEfVGlLdp/fm3aW2QQdyLzf33zz5m2IsAZ9XhDpyaaIZkTS4ASzK41TFao88GuJ3hsr2pAbipHxuSYyKRugagICGANkfFnNh3HeE2N0b3nN2cgnpcictw5veJIzxmDamSlxxQZicq/mflxhbaH8BLRbuRwNtZp0JAhoplVRUdzmCe/vO27wFuuA3S5qXruGdboy5/PRGFsbFGKo/haRtQHIrM83bVeTrOgNhZReWaYGnE4aUQgTJNvijJFF4jQ8BxJE5xfKatZWmZcTQ+BVgh7s8SgPlCkcec4mGTmieTP4xd7PcpIEg1TX6gdeLW8rTVMVLVvb7ctXoH0Cydl2QOPJBG21STE5OsnbweVYzAnD3A7PVILuY0yiiyDwSm2g441r6rMSgp6iK42yqroI2QoXeJVeA+YeZSa47gZdXaZWQKTrG93rukk/l2Al6Kzh5AZEl7dDQy+JjgFahQjRopSxPbrbvK7GRe9ePWBo1wcU7sYrFZtavXALwGw/7Dnc50urrHJuTPSoO2IMV3gUQGNg87IbSOIY9BpiT9HV7FCZ94nPXb3MSnwHn/FFFE1vG6DTby+r31KAkUktB3Qf6ikUPWxW1BkXSPQeMHHiW0+HAd2GelJsZz1OJegCxqzl+CLVHa/IibuHeJ1HAKzhuDR+ymNaRFM+4jU6UWKXorRmbyqkq/D76FffevwdCp+jN3UAN/C9JRVTDuOxC/oh+EdMnqIOrlYteKSfadVRGLJFJPSB/ti/6K8f0CNymg/iH2gO/f0DwE0yjAFO6l8JaR5j0VPwPwfaYHqOqrCI319WzwhwzNW/aQAAAABJRU5ErkJggg==',
82
- className: 'important-node'
83
- },
84
- {
85
- type: 'rect',
86
- label: 'system',
87
- icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAEFVwZaAAAABGdBTUEAALGPC/xhBQAAAqlJREFUOBF9VM9rE0EUfrMJNUKLihGbpLGtaCOIR8VjQMGDePCgCCIiCNqzCAp2MyYUCXhUtF5E0D+g1t48qAd7CCLqQUQKEWkStcEfVGlLdp/fm3aW2QQdyLzf33zz5m2IsAZ9XhDpyaaIZkTS4ASzK41TFao88GuJ3hsr2pAbipHxuSYyKRugagICGANkfFnNh3HeE2N0b3nN2cgnpcictw5veJIzxmDamSlxxQZicq/mflxhbaH8BLRbuRwNtZp0JAhoplVRUdzmCe/vO27wFuuA3S5qXruGdboy5/PRGFsbFGKo/haRtQHIrM83bVeTrOgNhZReWaYGnE4aUQgTJNvijJFF4jQ8BxJE5xfKatZWmZcTQ+BVgh7s8SgPlCkcec4mGTmieTP4xd7PcpIEg1TX6gdeLW8rTVMVLVvb7ctXoH0Cydl2QOPJBG21STE5OsnbweVYzAnD3A7PVILuY0yiiyDwSm2g441r6rMSgp6iK42yqroI2QoXeJVeA+YeZSa47gZdXaZWQKTrG93rukk/l2Al6Kzh5AZEl7dDQy+JjgFahQjRopSxPbrbvK7GRe9ePWBo1wcU7sYrFZtavXALwGw/7Dnc50urrHJuTPSoO2IMV3gUQGNg87IbSOIY9BpiT9HV7FCZ94nPXb3MSnwHn/FFFE1vG6DTby+r31KAkUktB3Qf6ikUPWxW1BkXSPQeMHHiW0+HAd2GelJsZz1OJegCxqzl+CLVHa/IibuHeJ1HAKzhuDR+ymNaRFM+4jU6UWKXorRmbyqkq/D76FffevwdCp+jN3UAN/C9JRVTDuOxC/oh+EdMnqIOrlYteKSfadVRGLJFJPSB/ti/6K8f0CNymg/iH2gO/f0DwE0yjAFO6l8JaR5j0VPwPwfaYHqOqrCI319WzwhwzNW/aQAAAABJRU5ErkJggg==',
88
- className: 'import_icon'
89
- },
90
- {
91
- type: 'diamond',
92
- label: 'diamond',
93
- icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAAHeEJUAAAAABGdBTUEAALGPC/xhBQAAAvVJREFUOBGNVEFrE0EU/mY3bQoiFlOkaUJrQUQoWMGePLX24EH0IIoHKQiCV0G8iE1covgLiqA/QTzVm1JPogc9tIJYFaQtlhQxqYjSpunu+L7JvmUTU3AgmTfvffPNN++9WSA1DO182f6xwILzD5btfAoQmwL5KJEwiQyVbSVZ0IgRyV6PTpIJ81E5ZvqfHQR0HUOBHW4L5Et2kQ6Zf7iAOhTFAA8s0pEP7AXO1uAA52SbqGk6h/6J45LaLhO64ByfcUzM39V7ZiAdS2yCePPEIQYvTUHqM/n7dgQNfBKWPjpF4ISk8q3J4nB11qw6X8l+FsF3EhlkEMfrjIer3wJTLwS2aCNcj4DbGxXTw00JmAuO+Ni6bBxVUCvS5d9aa04+so4pHW5jLTywuXAL7jJ+D06sl82Sgl2JuVBQn498zkc2bGKxULHjCnSMadBKYDYYHAtsby1EQ5lNGrQd4Y3v4Zo0XdGEmDno46yCM9Tk+RiJmUYHS/aXHPNTcjxcbTFna000PFJHIVZ5lFRqRpJWk9/+QtlOUYJj9HG5pVFEU7zqIYDVsw2s+AJaD8wTd2umgSCCyUxgGsS1Y6TBwXQQTFuZaHcd8gAGioE90hlsY+wMcs30RduYtxanjMGal8H5dMW67dmT1JFtYUEe8LiQLRsPZ6IIc7A4J5tqco3T0pnv/4u0kyzrYUq7gASuEyI8VXKvB9Odytv6jS/PNaZBln0nioJG/AVQRZvApOdhjj3Jt8QC8Im09SafwdBdvIpztpxWxpeKCC+EsFdS8DCyuCn2munFpL7ctHKp+Xc5cMybeIyMAN33SPL3ZR9QV1XVwLyzHm6Iv0/yeUuUb7PPlZC4D4HZkeu6dpF4v9j9MreGtMbxMMRLIcjJic9yHi7WQ3yVKzZVWUr5UrViJvn1FfUlwe/KYVfYyWRLSGNu16hR01U9IacajXPei0wx/5BqgInvJN+MMNtNme7ReU9SBbgntovn0kKHpFg7UogZvaZiOue/q1SBo9ktHzQAAAAASUVORK5CYII=',
94
- },
95
- {
96
- type: 'circle',
97
- text: 'end',
98
- label: 'end node',
99
- icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAAH6ji2bAAAABGdBTUEAALGPC/xhBQAAA1BJREFUOBFtVE1IVUEYPXOf+tq40Y3vPcmFIdSjIorWoRG0ERWUgnb5FwVhYQSl72oUoZAboxKNFtWiwKRN0M+jpfSzqJAQclHo001tKkjl3emc8V69igP3znzfnO/M9zcDcKT67azmjYWTwl9Vn7Vumeqzj1DVb6cleQY4oAVnIOPb+mKAGxQmKI5CWNJ2aLPatxWa3aB9K7/fB+/Z0jUF6TmMlFLQqrkECWQzOZxYGjTlOl8eeKaIY5yHnFn486xBustDjWT6dG7pmjHOJd+33t0iitTPkK6tEvjxq4h2MozQ6WFSX/LkDUGfFwfhEZj1Auz/U4pyAi5Sznd7uKzznXeVHlI/Aywmk6j7fsUsEuCGADrWARXXwjxWQsUbIupDHJI7kF5dRktg0eN81IbiZXiTESic50iwS+t1oJgL83jAiBupLDCQqwziaWSoAFSeIR3P5Xv5az00wyIn35QRYTwdSYbz8pH8fxUUAtxnFvYmEmgI0wYXUXcCCSpeEVpXlsRhBnCEATxWylL9+EKCAYhe1NGstUa6356kS9NVvt3DU2fd+Wtbm/+lSbylJqsqkSm9CRhvoJVlvKPvF1RKY/FcPn5j4UfIMLn8D4UYb54BNsilTDXKnF4CfTobA0FpoW/LSp306wkXM+XaOJhZaFkcNM82ASNAWMrhrUbRfmyeI1FvRBTpN06WKxa9BK0o2E4Pd3zfBBEwPsv9sQBnmLVbLEIZ/Xe9LYwJu/Er17W6HYVBc7vmuk0xUQ+pqxdom5Fnp55SiytXLPYoMXNM4u4SNSCFWnrVIzKG3EGyMXo6n/BQOe+bX3FClY4PwydVhthOZ9NnS+ntiLh0fxtlUJHAuGaFoVmttpVMeum0p3WEXbcll94l1wM/gZ0Ccczop77VvN2I7TlsZCsuXf1WHvWEhjO8DPtyOVg2/mvK9QqboEth+7pD6NUQC1HN/TwvydGBARi9MZSzLE4b8Ru3XhX2PBxf8E1er2A6516o0w4sIA+lwURhAON82Kwe2iDAC1Watq4XHaGQ7skLcFOtI5lDxuM2gZe6WFIotPAhbaeYlU4to5cuarF1QrcZ/lwrLaCJl66JBocYZnrNlvm2+MBCTmUymPrYZVbjdlr/BxlMjmNmNI3SAAAAAElFTkSuQmCC',
100
- }
101
- ]);
102
- ```
103
-
104
- ### Effects
105
-
106
- Using the `DndPanel` component, you can quickly create drag-and-drop panels as follows
107
-
108
- <a href="https://codesandbox.io/embed/elastic-mahavira-1ucwp?fontsize=14&hidenavigation=1&theme=dark&view=preview" target="_blank">
109
- Go to CodeSandbox for examples</a>
@@ -1,109 +0,0 @@
1
- ---
2
- nav: 指南
3
- group:
4
- title: 插件功能
5
- order: 3
6
- title: 拖拽面板 (DndPanel)
7
- order: 2
8
- toc: content
9
- ---
10
-
11
- ### 自定义拖拽面板内容
12
-
13
- **lf.setPatternItems(patternItems)**
14
-
15
- **lf.extension.dndPanel.setPatternItems(patternItems)** `1.1.0`新增
16
-
17
- 设置拖拽面板组件内容
18
-
19
- ```tsx | pure
20
- type PatternItem = {
21
- type?: string;
22
- text?: string;
23
- label?: string;
24
- icon?: string;
25
- className?: string;
26
- properties?: object;
27
- callback?: () => void;
28
- }
29
-
30
- // lf.extension.dndPanel.setPatternItems = (patternItems:PatternItem[]) => void
31
- lf.extension.dndPanel.setPatternItems(patternItems)
32
-
33
- ```
34
-
35
- PatternItem:
36
-
37
- | 名称 | 类型 | 必选 | 默认值 | 描述 |
38
- |:-----------|:-------|:----|:----|:---------------------------------------------------|
39
- | type | string | 非必须 | 无 | 指定用户鼠标可以拖入的节点类型,包括自定义节点类型, 不传则不会创建节点,只会触发 callback |
40
- | text | string | 非必须 | 无 | 创建节点的文本 |
41
- | properties | object | 非必须 | 无 | 创建节点的 properties |
42
- | label | string | 非必须 | 无 | 拖拽面板节点文本描述 |
43
- | icon | string | 非必须 | 无 | 拖拽面板上显示的图标,可以传入图标 url 地址或 base64 编码 |
44
- | className | string | 非必须 | 无 | 额外传入可以拖拽项的 class, 用于自定义拖拽项的样式 |
45
- | callback | fn | 非必须 | 无 | 用户鼠标按下拖拽项后触发的回调 |
46
-
47
- ### 使用示例
48
-
49
- ```tsx | pure
50
- import LogicFlow from '@logicflow/core';
51
- import "@logicflow/core/lib/style/index.css";
52
- // import "@logicflow/core/dist/style/index.css"; // 2.0版本前的引入方式
53
- import { DndPanel, SelectionSelect } from '@logicflow/extension';
54
- import '@logicflow/extension/lib/style/index.css'
55
-
56
- LogicFlow.use(DndPanel);
57
- LogicFlow.use(SelectionSelect);
58
- const lf = new LogicFlow({
59
- container: document.querySelector('#graph') as HTMLElement
60
- });
61
-
62
- lf.extension.dndPanel.setPatternItems([
63
- {
64
- label: '选区',
65
- icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAAH6ji2bAAAABGdBTUEAALGPC/xhBQAAAOVJREFUOBGtVMENwzAIjKP++2026ETdpv10iy7WFbqFyyW6GBywLCv5gI+Dw2Bluj1znuSjhb99Gkn6QILDY2imo60p8nsnc9bEo3+QJ+AKHfMdZHnl78wyTnyHZD53Zzx73MRSgYvnqgCUHj6gwdck7Zsp1VOrz0Uz8NbKunzAW+Gu4fYW28bUYutYlzSa7B84Fh7d1kjLwhcSdYAYrdkMQVpsBr5XgDGuXwQfQr0y9zwLda+DUYXLaGKdd2ZTtvbolaO87pdo24hP7ov16N0zArH1ur3iwJpXxm+v7oAJNR4JEP8DoAuSFEkYH7cAAAAASUVORK5CYII=',
66
- callback: () => {
67
- lf.extension.selectionSelect.openSelectionSelect();
68
- lf.once('selection:selected', () => {
69
- lf.extension.selectionSelect.closeSelectionSelect();
70
- });
71
- }
72
- },
73
- {
74
- type: 'circle',
75
- text: '开始',
76
- label: '开始节点',
77
- icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAAH6ji2bAAAABGdBTUEAALGPC/xhBQAAAnBJREFUOBGdVL1rU1EcPfdGBddmaZLiEhdx1MHZQXApraCzQ7GKLgoRBxMfcRELuihWKcXFRcEWF8HBf0DdDCKYRZpnl7p0svLe9Zzbd29eQhTbC8nv+9zf130AT63jvooOGS8Vf9Nt5zxba7sXQwODfkWpkbjTQfCGUd9gIp3uuPP8bZ946g56dYQvnBg+b1HB8VIQmMFrazKcKSvFW2dQTxJnJdQ77urmXWOMBCmXM2Rke4S7UAW+/8ywwFoewmBps2tu7mbTdp8VMOkIRAkKfrVawalJTtIliclFbaOBqa0M2xImHeVIfd/nKAfVq/LGnPss5Kh00VEdSzfwnBXPUpmykNss4lUI9C1ga+8PNrBD5YeqRY2Zz8PhjooIbfJXjowvQJBqkmEkVnktWhwu2SM7SMx7Cj0N9IC0oQXRo8xwAGzQms+xrB/nNSUWVveI48ayrFGyC2+E2C+aWrZHXvOuz+CiV6iycWe1Rd1Q6+QUG07nb5SbPrL4426d+9E1axKjY3AoRrlEeSQo2Eu0T6BWAAr6COhTcWjRaYfKG5csnvytvUr/WY4rrPMB53Uo7jZRjXaG6/CFfNMaXEu75nG47X+oepU7PKJvvzGDY1YLSKHJrK7vFUwXKkaxwhCW3u+sDFMVrIju54RYYbFKpALZAo7sB6wcKyyrd+aBMryMT2gPyD6GsQoRFkGHr14TthZni9ck0z+Pnmee460mHXbRAypKNy3nuMdrWgVKj8YVV8E7PSzp1BZ9SJnJAsXdryw/h5ctboUVi4AFiCd+lQaYMw5z3LGTBKjLQOeUF35k89f58Vv/tGh+l+PE/wG0rgfIUbZK5AAAAABJRU5ErkJggg==',
78
- },
79
- {
80
- type: 'rect',
81
- label: '用户任务',
82
- icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAEFVwZaAAAABGdBTUEAALGPC/xhBQAAAqlJREFUOBF9VM9rE0EUfrMJNUKLihGbpLGtaCOIR8VjQMGDePCgCCIiCNqzCAp2MyYUCXhUtF5E0D+g1t48qAd7CCLqQUQKEWkStcEfVGlLdp/fm3aW2QQdyLzf33zz5m2IsAZ9XhDpyaaIZkTS4ASzK41TFao88GuJ3hsr2pAbipHxuSYyKRugagICGANkfFnNh3HeE2N0b3nN2cgnpcictw5veJIzxmDamSlxxQZicq/mflxhbaH8BLRbuRwNtZp0JAhoplVRUdzmCe/vO27wFuuA3S5qXruGdboy5/PRGFsbFGKo/haRtQHIrM83bVeTrOgNhZReWaYGnE4aUQgTJNvijJFF4jQ8BxJE5xfKatZWmZcTQ+BVgh7s8SgPlCkcec4mGTmieTP4xd7PcpIEg1TX6gdeLW8rTVMVLVvb7ctXoH0Cydl2QOPJBG21STE5OsnbweVYzAnD3A7PVILuY0yiiyDwSm2g441r6rMSgp6iK42yqroI2QoXeJVeA+YeZSa47gZdXaZWQKTrG93rukk/l2Al6Kzh5AZEl7dDQy+JjgFahQjRopSxPbrbvK7GRe9ePWBo1wcU7sYrFZtavXALwGw/7Dnc50urrHJuTPSoO2IMV3gUQGNg87IbSOIY9BpiT9HV7FCZ94nPXb3MSnwHn/FFFE1vG6DTby+r31KAkUktB3Qf6ikUPWxW1BkXSPQeMHHiW0+HAd2GelJsZz1OJegCxqzl+CLVHa/IibuHeJ1HAKzhuDR+ymNaRFM+4jU6UWKXorRmbyqkq/D76FffevwdCp+jN3UAN/C9JRVTDuOxC/oh+EdMnqIOrlYteKSfadVRGLJFJPSB/ti/6K8f0CNymg/iH2gO/f0DwE0yjAFO6l8JaR5j0VPwPwfaYHqOqrCI319WzwhwzNW/aQAAAABJRU5ErkJggg==',
83
- className: 'important-node'
84
- },
85
- {
86
- type: 'rect',
87
- label: '系统任务',
88
- icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAEFVwZaAAAABGdBTUEAALGPC/xhBQAAAqlJREFUOBF9VM9rE0EUfrMJNUKLihGbpLGtaCOIR8VjQMGDePCgCCIiCNqzCAp2MyYUCXhUtF5E0D+g1t48qAd7CCLqQUQKEWkStcEfVGlLdp/fm3aW2QQdyLzf33zz5m2IsAZ9XhDpyaaIZkTS4ASzK41TFao88GuJ3hsr2pAbipHxuSYyKRugagICGANkfFnNh3HeE2N0b3nN2cgnpcictw5veJIzxmDamSlxxQZicq/mflxhbaH8BLRbuRwNtZp0JAhoplVRUdzmCe/vO27wFuuA3S5qXruGdboy5/PRGFsbFGKo/haRtQHIrM83bVeTrOgNhZReWaYGnE4aUQgTJNvijJFF4jQ8BxJE5xfKatZWmZcTQ+BVgh7s8SgPlCkcec4mGTmieTP4xd7PcpIEg1TX6gdeLW8rTVMVLVvb7ctXoH0Cydl2QOPJBG21STE5OsnbweVYzAnD3A7PVILuY0yiiyDwSm2g441r6rMSgp6iK42yqroI2QoXeJVeA+YeZSa47gZdXaZWQKTrG93rukk/l2Al6Kzh5AZEl7dDQy+JjgFahQjRopSxPbrbvK7GRe9ePWBo1wcU7sYrFZtavXALwGw/7Dnc50urrHJuTPSoO2IMV3gUQGNg87IbSOIY9BpiT9HV7FCZ94nPXb3MSnwHn/FFFE1vG6DTby+r31KAkUktB3Qf6ikUPWxW1BkXSPQeMHHiW0+HAd2GelJsZz1OJegCxqzl+CLVHa/IibuHeJ1HAKzhuDR+ymNaRFM+4jU6UWKXorRmbyqkq/D76FffevwdCp+jN3UAN/C9JRVTDuOxC/oh+EdMnqIOrlYteKSfadVRGLJFJPSB/ti/6K8f0CNymg/iH2gO/f0DwE0yjAFO6l8JaR5j0VPwPwfaYHqOqrCI319WzwhwzNW/aQAAAABJRU5ErkJggg==',
89
- className: 'import_icon'
90
- },
91
- {
92
- type: 'diamond',
93
- label: '条件判断',
94
- icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAAHeEJUAAAAABGdBTUEAALGPC/xhBQAAAvVJREFUOBGNVEFrE0EU/mY3bQoiFlOkaUJrQUQoWMGePLX24EH0IIoHKQiCV0G8iE1covgLiqA/QTzVm1JPogc9tIJYFaQtlhQxqYjSpunu+L7JvmUTU3AgmTfvffPNN++9WSA1DO182f6xwILzD5btfAoQmwL5KJEwiQyVbSVZ0IgRyV6PTpIJ81E5ZvqfHQR0HUOBHW4L5Et2kQ6Zf7iAOhTFAA8s0pEP7AXO1uAA52SbqGk6h/6J45LaLhO64ByfcUzM39V7ZiAdS2yCePPEIQYvTUHqM/n7dgQNfBKWPjpF4ISk8q3J4nB11qw6X8l+FsF3EhlkEMfrjIer3wJTLwS2aCNcj4DbGxXTw00JmAuO+Ni6bBxVUCvS5d9aa04+so4pHW5jLTywuXAL7jJ+D06sl82Sgl2JuVBQn498zkc2bGKxULHjCnSMadBKYDYYHAtsby1EQ5lNGrQd4Y3v4Zo0XdGEmDno46yCM9Tk+RiJmUYHS/aXHPNTcjxcbTFna000PFJHIVZ5lFRqRpJWk9/+QtlOUYJj9HG5pVFEU7zqIYDVsw2s+AJaD8wTd2umgSCCyUxgGsS1Y6TBwXQQTFuZaHcd8gAGioE90hlsY+wMcs30RduYtxanjMGal8H5dMW67dmT1JFtYUEe8LiQLRsPZ6IIc7A4J5tqco3T0pnv/4u0kyzrYUq7gASuEyI8VXKvB9Odytv6jS/PNaZBln0nioJG/AVQRZvApOdhjj3Jt8QC8Im09SafwdBdvIpztpxWxpeKCC+EsFdS8DCyuCn2munFpL7ctHKp+Xc5cMybeIyMAN33SPL3ZR9QV1XVwLyzHm6Iv0/yeUuUb7PPlZC4D4HZkeu6dpF4v9j9MreGtMbxMMRLIcjJic9yHi7WQ3yVKzZVWUr5UrViJvn1FfUlwe/KYVfYyWRLSGNu16hR01U9IacajXPei0wx/5BqgInvJN+MMNtNme7ReU9SBbgntovn0kKHpFg7UogZvaZiOue/q1SBo9ktHzQAAAAASUVORK5CYII=',
95
- },
96
- {
97
- type: 'circle',
98
- text: '结束',
99
- label: '结束节点',
100
- icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAAH6ji2bAAAABGdBTUEAALGPC/xhBQAAA1BJREFUOBFtVE1IVUEYPXOf+tq40Y3vPcmFIdSjIorWoRG0ERWUgnb5FwVhYQSl72oUoZAboxKNFtWiwKRN0M+jpfSzqJAQclHo001tKkjl3emc8V69igP3znzfnO/M9zcDcKT67azmjYWTwl9Vn7Vumeqzj1DVb6cleQY4oAVnIOPb+mKAGxQmKI5CWNJ2aLPatxWa3aB9K7/fB+/Z0jUF6TmMlFLQqrkECWQzOZxYGjTlOl8eeKaIY5yHnFn486xBustDjWT6dG7pmjHOJd+33t0iitTPkK6tEvjxq4h2MozQ6WFSX/LkDUGfFwfhEZj1Auz/U4pyAi5Sznd7uKzznXeVHlI/Aywmk6j7fsUsEuCGADrWARXXwjxWQsUbIupDHJI7kF5dRktg0eN81IbiZXiTESic50iwS+t1oJgL83jAiBupLDCQqwziaWSoAFSeIR3P5Xv5az00wyIn35QRYTwdSYbz8pH8fxUUAtxnFvYmEmgI0wYXUXcCCSpeEVpXlsRhBnCEATxWylL9+EKCAYhe1NGstUa6356kS9NVvt3DU2fd+Wtbm/+lSbylJqsqkSm9CRhvoJVlvKPvF1RKY/FcPn5j4UfIMLn8D4UYb54BNsilTDXKnF4CfTobA0FpoW/LSp306wkXM+XaOJhZaFkcNM82ASNAWMrhrUbRfmyeI1FvRBTpN06WKxa9BK0o2E4Pd3zfBBEwPsv9sQBnmLVbLEIZ/Xe9LYwJu/Er17W6HYVBc7vmuk0xUQ+pqxdom5Fnp55SiytXLPYoMXNM4u4SNSCFWnrVIzKG3EGyMXo6n/BQOe+bX3FClY4PwydVhthOZ9NnS+ntiLh0fxtlUJHAuGaFoVmttpVMeum0p3WEXbcll94l1wM/gZ0Ccczop77VvN2I7TlsZCsuXf1WHvWEhjO8DPtyOVg2/mvK9QqboEth+7pD6NUQC1HN/TwvydGBARi9MZSzLE4b8Ru3XhX2PBxf8E1er2A6516o0w4sIA+lwURhAON82Kwe2iDAC1Watq4XHaGQ7skLcFOtI5lDxuM2gZe6WFIotPAhbaeYlU4to5cuarF1QrcZ/lwrLaCJl66JBocYZnrNlvm2+MBCTmUymPrYZVbjdlr/BxlMjmNmNI3SAAAAAElFTkSuQmCC',
101
- }
102
- ]);
103
- ```
104
-
105
- ### 效果
106
-
107
- 使用`DndPanel`组件,可以快捷地创建拖拽面板,如下所示
108
-
109
- <a href="https://codesandbox.io/embed/elastic-mahavira-1ucwp?fontsize=14&hidenavigation=1&theme=dark&view=preview" target="_blank"> 去 CodeSandbox 查看示例</a>