aldehyde 0.2.480 → 0.2.481

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 (582) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +2 -2
  3. package/lib/controls/2dEditor/2dEditor/index.less +5 -5
  4. package/lib/controls/2dEditor/2dView/index.less +8 -8
  5. package/lib/controls/2dEditor/components/component.less +83 -83
  6. package/lib/controls/action/index.css +8 -8
  7. package/lib/controls/action/index.d.ts.map +1 -1
  8. package/lib/controls/chemstruc/graph.d.ts.map +1 -1
  9. package/lib/controls/chemstruc/index.css +28 -28
  10. package/lib/controls/collapse-card/index.css +8 -8
  11. package/lib/controls/collapse-card/index.d.ts.map +1 -1
  12. package/lib/controls/cquery/cquick-button.d.ts.map +1 -1
  13. package/lib/controls/entity-select/entity-select.d.ts.map +1 -1
  14. package/lib/controls/entity-select/index.css +7 -7
  15. package/lib/controls/entity-select/lab-tree-select.d.ts.map +1 -1
  16. package/lib/controls/entity-select/popover-entity-select.d.ts.map +1 -1
  17. package/lib/controls/file-view/index.less +9 -9
  18. package/lib/controls/html-editor/index.less +67 -67
  19. package/lib/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.css +147 -147
  20. package/lib/controls/password-setter/index.css +2 -2
  21. package/lib/controls/password-setter/index.d.ts.map +1 -1
  22. package/lib/controls/qr-code/index.less +28 -28
  23. package/lib/controls/relation-existion/index.css +3 -3
  24. package/lib/controls/relation-existion/index.d.ts.map +1 -1
  25. package/lib/controls/rfield/index.css +4 -4
  26. package/lib/controls/rfield/index.d.ts.map +1 -1
  27. package/lib/controls/select/index.d.ts.map +1 -1
  28. package/lib/controls/signature/index.d.ts.map +1 -1
  29. package/lib/controls/text/ellipsis-text.d.ts.map +1 -1
  30. package/lib/controls/text/index.less +7 -7
  31. package/lib/controls/upload/index.d.ts.map +1 -1
  32. package/lib/controls/upload/mult-file-upload.d.ts.map +1 -1
  33. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts.map +1 -1
  34. package/lib/detail/button/bottom-submit-button-bar.d.ts.map +1 -1
  35. package/lib/detail/button/cquery-button-bar.d.ts.map +1 -1
  36. package/lib/detail/button/fix-right-submit-button-bar.d.ts.map +1 -1
  37. package/lib/detail/button/index.css +42 -42
  38. package/lib/detail/dtmpl.css +67 -67
  39. package/lib/detail/edit/fields-edit-card.d.ts.map +1 -1
  40. package/lib/detail/edit/modal-row-edit.d.ts.map +1 -1
  41. package/lib/detail/edit/popover-edit-card.d.ts.map +1 -1
  42. package/lib/detail/rightbar/index.css +34 -34
  43. package/lib/detail/rightbar/index.d.ts.map +1 -1
  44. package/lib/detail/view/act-dtmpl-view.d.ts.map +1 -1
  45. package/lib/detail/view/field-view-group.d.ts.map +1 -1
  46. package/lib/detail/view/modal-dtmpl-view.d.ts.map +1 -1
  47. package/lib/detail/view/snapshot-timeline.d.ts.map +1 -1
  48. package/lib/detail/view/tab-act-dtmpl-view.d.ts.map +1 -1
  49. package/lib/draw-canvas-edit/components/render/components/index.d.ts +3 -0
  50. package/lib/draw-canvas-edit/components/render/components/index.d.ts.map +1 -0
  51. package/lib/draw-canvas-edit/components/render/components/index.js +3 -0
  52. package/lib/draw-canvas-edit/components/render/components/index.js.map +1 -0
  53. package/lib/draw-canvas-edit/components/render/components/workstation-component.d.ts +31 -0
  54. package/lib/draw-canvas-edit/components/render/components/workstation-component.d.ts.map +1 -0
  55. package/lib/draw-canvas-edit/components/render/components/workstation-component.js +105 -0
  56. package/lib/draw-canvas-edit/components/render/components/workstation-component.js.map +1 -0
  57. package/lib/draw-canvas-edit/components/render/tools/component-factory.d.ts +2 -0
  58. package/lib/draw-canvas-edit/components/render/tools/component-factory.d.ts.map +1 -1
  59. package/lib/draw-canvas-edit/components/render/tools/component-factory.js +10 -42
  60. package/lib/draw-canvas-edit/components/render/tools/component-factory.js.map +1 -1
  61. package/lib/draw-canvas-edit/components/render/types.d.ts +3 -0
  62. package/lib/draw-canvas-edit/components/render/types.d.ts.map +1 -1
  63. package/lib/draw-canvas-edit/components/render/types.js.map +1 -1
  64. package/lib/draw-canvas-edit/index.less +48 -48
  65. package/lib/draw-canvas-view/index.less +59 -59
  66. package/lib/draw-canvas-view/view.d.ts.map +1 -1
  67. package/lib/draw-canvas-view/view.js +19 -6
  68. package/lib/draw-canvas-view/view.js.map +1 -1
  69. package/lib/export/export-frame.css +2 -2
  70. package/lib/export/export-frame.d.ts.map +1 -1
  71. package/lib/export/select-code-export-frame.d.ts.map +1 -1
  72. package/lib/form/dtmpl-form.css +3 -3
  73. package/lib/form/dtmpl-form.d.ts.map +1 -1
  74. package/lib/form/dtmpl-form.js +1 -1
  75. package/lib/form/dtmpl-form.js.map +1 -1
  76. package/lib/form/field-group-form.d.ts.map +1 -1
  77. package/lib/form/form-Item-group.d.ts.map +1 -1
  78. package/lib/form/index.css +12 -12
  79. package/lib/import/excel-import.d.ts.map +1 -1
  80. package/lib/import/index.css +53 -53
  81. package/lib/import/template.css +50 -50
  82. package/lib/layout/common.css +64 -64
  83. package/lib/layout/coverstyle.css +51 -51
  84. package/lib/layout/footer/index.css +5 -5
  85. package/lib/layout/header/index.css +122 -122
  86. package/lib/layout/menu/block.css +7 -7
  87. package/lib/layout/menu/block.d.ts.map +1 -1
  88. package/lib/layout/menu/l2menu-quick-bar.d.ts.map +1 -1
  89. package/lib/layout/menu/menu-2layers.d.ts.map +1 -1
  90. package/lib/layout/menu/message-bar.less +73 -73
  91. package/lib/layout/menu/reset-password.d.ts.map +1 -1
  92. package/lib/layout/menu/user-bar.d.ts.map +1 -1
  93. package/lib/layout/menu/userinfo-bar.d.ts.map +1 -1
  94. package/lib/layout/sidebar/index.css +57 -57
  95. package/lib/layout2/css/header.css +41 -41
  96. package/lib/layout2/css/sider.less +17 -17
  97. package/lib/layout2/css/tabs-layout.less +18 -18
  98. package/lib/layout3/css/header.less +195 -195
  99. package/lib/layout3/css/main.less +161 -161
  100. package/lib/layout3/css/sider.less +32 -32
  101. package/lib/layout3/css/tabs-layout.less +38 -38
  102. package/lib/layout4/css/header.less +196 -196
  103. package/lib/layout4/css/main.less +154 -154
  104. package/lib/layout4/css/sider.less +37 -37
  105. package/lib/layout4/css/tabs-layout.less +42 -42
  106. package/lib/layout5/css/header.less +35 -35
  107. package/lib/layout5/css/sider.less +18 -18
  108. package/lib/list/calendar/index.less +20 -20
  109. package/lib/list/card-list/index.less +154 -154
  110. package/lib/list/gantt/index.less +8 -8
  111. package/lib/list/vertical-list/index.less +208 -208
  112. package/lib/login/index.css +19 -19
  113. package/lib/login/login.d.ts.map +1 -1
  114. package/lib/login/vertify/index.css +143 -143
  115. package/lib/login3/index.less +136 -136
  116. package/lib/lowcode-components/act-table/index.less +26 -26
  117. package/lib/lowcode-components/base-button/index.less +7 -7
  118. package/lib/lowcode-components/base-map/index.js +6 -6
  119. package/lib/lowcode-components/base-radio/index.less +23 -23
  120. package/lib/lowcode-components/base-tabs/index.less +14 -14
  121. package/lib/lowcode-components/border/border10/index.less +26 -26
  122. package/lib/lowcode-components/border/border11/index.js +46 -46
  123. package/lib/lowcode-components/border/border11/index.less +17 -17
  124. package/lib/lowcode-components/border/border12/index.js +13 -13
  125. package/lib/lowcode-components/border/border12/index.less +13 -13
  126. package/lib/lowcode-components/border/border13/index.js +5 -5
  127. package/lib/lowcode-components/border/border13/index.less +13 -13
  128. package/lib/lowcode-components/border/border2/index.less +17 -17
  129. package/lib/lowcode-components/border/border3/index.less +25 -25
  130. package/lib/lowcode-components/border/border4/index.js +2 -2
  131. package/lib/lowcode-components/border/border4/index.less +72 -72
  132. package/lib/lowcode-components/border/border5/index.js +2 -2
  133. package/lib/lowcode-components/border/border5/index.less +35 -35
  134. package/lib/lowcode-components/border/border6/index.less +17 -17
  135. package/lib/lowcode-components/border/border7/index.less +26 -26
  136. package/lib/lowcode-components/border/border8/index.less +13 -13
  137. package/lib/lowcode-components/border/border9/index.js +14 -14
  138. package/lib/lowcode-components/border/border9/index.less +13 -13
  139. package/lib/lowcode-components/decoration/decoration1/index.less +7 -7
  140. package/lib/lowcode-components/decoration/decoration10/index.js +3 -3
  141. package/lib/lowcode-components/decoration/decoration10/index.less +5 -5
  142. package/lib/lowcode-components/decoration/decoration11/index.less +5 -5
  143. package/lib/lowcode-components/decoration/decoration2/index.less +6 -6
  144. package/lib/lowcode-components/decoration/decoration3/index.less +7 -7
  145. package/lib/lowcode-components/decoration/decoration4/index.less +29 -29
  146. package/lib/lowcode-components/decoration/decoration5/index.less +3 -3
  147. package/lib/lowcode-components/decoration/decoration6/index.less +7 -7
  148. package/lib/lowcode-components/decoration/decoration7/index.less +4 -4
  149. package/lib/lowcode-components/decoration/decoration8/index.less +14 -14
  150. package/lib/lowcode-components/decoration/decoration9/index.less +4 -4
  151. package/lib/lowcode-components/effectScatter-map/index.js +6 -6
  152. package/lib/lowcode-components/effectScatter-map-3d/index.js +6 -6
  153. package/lib/lowcode-components/lowcode-view/index.less +19 -19
  154. package/lib/lowcode-components/search-form/index.less +25 -25
  155. package/lib/module/dtmpl-edit-card.d.ts.map +1 -1
  156. package/lib/module/dtmpl-edit-page.d.ts.map +1 -1
  157. package/lib/module/index.less +4 -4
  158. package/lib/module/ltmpl-modal.d.ts.map +1 -1
  159. package/lib/module/ltmpl-table.d.ts.map +1 -1
  160. package/lib/routable/index.less +25 -25
  161. package/lib/table/act-table.d.ts.map +1 -1
  162. package/lib/table/column/index.less +63 -63
  163. package/lib/table/index.css +211 -211
  164. package/lib/table/modal-select-table.d.ts.map +1 -1
  165. package/lib/table/pagination.css +14 -14
  166. package/lib/table/pagination.d.ts.map +1 -1
  167. package/lib/table/relation-table.d.ts.map +1 -1
  168. package/lib/table/select-table.d.ts.map +1 -1
  169. package/lib/table/select-table.js +14 -2
  170. package/lib/table/select-table.js.map +1 -1
  171. package/lib/table/selected-rows-card.d.ts.map +1 -1
  172. package/lib/table/stat/restat.d.ts.map +1 -1
  173. package/lib/tree/act-tree.d.ts.map +1 -1
  174. package/lib/tree/block-menu-auth-tree.d.ts.map +1 -1
  175. package/lib/tree/index.css +22 -22
  176. package/lib/tree/tmpl-tree.d.ts.map +1 -1
  177. package/lib/welcome/components/menu-card.less +96 -96
  178. package/lib/welcome/components/page-card.less +49 -49
  179. package/lib/welcome/components/quick-entrance.less +120 -120
  180. package/lib/welcome/components/user-menus.less +192 -192
  181. package/lib/welcome/components/workbench.less +118 -118
  182. package/lib/welcome/index.css +13 -13
  183. package/package.json +223 -223
  184. package/src/aldehyde/controls/2dEditor/2dEditor/index.less +5 -5
  185. package/src/aldehyde/controls/2dEditor/2dEditor/index.tsx +270 -270
  186. package/src/aldehyde/controls/2dEditor/2dView/index.less +8 -8
  187. package/src/aldehyde/controls/2dEditor/2dView/index.tsx +110 -110
  188. package/src/aldehyde/controls/2dEditor/components/card.tsx +256 -256
  189. package/src/aldehyde/controls/2dEditor/components/component.less +83 -83
  190. package/src/aldehyde/controls/2dEditor/components/data.d.ts +32 -32
  191. package/src/aldehyde/controls/2dEditor/components/hotspot.tsx +80 -80
  192. package/src/aldehyde/controls/2dEditor/components/html-box.tsx +101 -101
  193. package/src/aldehyde/controls/2dEditor/components/image.tsx +99 -99
  194. package/src/aldehyde/controls/2dEditor/components/line.tsx +73 -73
  195. package/src/aldehyde/controls/action/index.css +8 -8
  196. package/src/aldehyde/controls/action/index.tsx +406 -406
  197. package/src/aldehyde/controls/action/utils.tsx +306 -306
  198. package/src/aldehyde/controls/auto-complete/index.tsx +82 -82
  199. package/src/aldehyde/controls/cascader/index.tsx +112 -112
  200. package/src/aldehyde/controls/chemstruc/graph.tsx +185 -185
  201. package/src/aldehyde/controls/chemstruc/index.css +28 -28
  202. package/src/aldehyde/controls/code-editor/sql-code-editor.tsx +73 -73
  203. package/src/aldehyde/controls/collapse-card/index.css +8 -8
  204. package/src/aldehyde/controls/collapse-card/index.tsx +109 -109
  205. package/src/aldehyde/controls/color-picker/index.tsx +21 -21
  206. package/src/aldehyde/controls/counting-tag/index.tsx +53 -53
  207. package/src/aldehyde/controls/cquery/cquick-button.tsx +145 -145
  208. package/src/aldehyde/controls/date-picker/index.tsx +199 -199
  209. package/src/aldehyde/controls/direct-file-view/drawer-file-view.tsx +54 -54
  210. package/src/aldehyde/controls/direct-file-view/index.tsx +145 -145
  211. package/src/aldehyde/controls/direct-upload/index.tsx +139 -139
  212. package/src/aldehyde/controls/entity-select/entity-select.tsx +791 -791
  213. package/src/aldehyde/controls/entity-select/index.css +7 -7
  214. package/src/aldehyde/controls/entity-select/lab-tree-select.tsx +154 -154
  215. package/src/aldehyde/controls/entity-select/popover-entity-select.tsx +205 -205
  216. package/src/aldehyde/controls/entry-control.tsx +418 -418
  217. package/src/aldehyde/controls/enum-badge/index.tsx +42 -42
  218. package/src/aldehyde/controls/enum-tag/index.tsx +45 -45
  219. package/src/aldehyde/controls/field-history/index.tsx +81 -81
  220. package/src/aldehyde/controls/file-export/select-code-export.tsx +40 -40
  221. package/src/aldehyde/controls/file-view/drawer-file-view.tsx +117 -117
  222. package/src/aldehyde/controls/file-view/index.less +9 -9
  223. package/src/aldehyde/controls/file-view/index.tsx +148 -148
  224. package/src/aldehyde/controls/file-view/multi-file-view.tsx +39 -39
  225. package/src/aldehyde/controls/file-view/newin-file-view.tsx +40 -40
  226. package/src/aldehyde/controls/html-editor/draft.tsx +136 -136
  227. package/src/aldehyde/controls/html-editor/index.less +67 -67
  228. package/src/aldehyde/controls/icon-selector/app-icon-selector.tsx +68 -68
  229. package/src/aldehyde/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.css +147 -147
  230. package/src/aldehyde/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.json +240 -240
  231. package/src/aldehyde/controls/icon-selector/pc-icon-selector.tsx +68 -68
  232. package/src/aldehyde/controls/input-number/index.tsx +148 -148
  233. package/src/aldehyde/controls/input-range/index.tsx +59 -59
  234. package/src/aldehyde/controls/password-setter/index.css +2 -2
  235. package/src/aldehyde/controls/password-setter/index.js +88 -88
  236. package/src/aldehyde/controls/progress/index.tsx +74 -74
  237. package/src/aldehyde/controls/qr-code/index.less +28 -28
  238. package/src/aldehyde/controls/qr-code/index.tsx +40 -40
  239. package/src/aldehyde/controls/relation-existion/index.css +3 -3
  240. package/src/aldehyde/controls/relation-existion/index.tsx +144 -144
  241. package/src/aldehyde/controls/rfield/index.css +4 -4
  242. package/src/aldehyde/controls/rfield/index.tsx +225 -225
  243. package/src/aldehyde/controls/select/index.tsx +216 -216
  244. package/src/aldehyde/controls/signature/index.tsx +226 -226
  245. package/src/aldehyde/controls/single-checkbox/index.tsx +18 -18
  246. package/src/aldehyde/controls/steps/index.tsx +59 -59
  247. package/src/aldehyde/controls/text/ellipsis-text.tsx +98 -98
  248. package/src/aldehyde/controls/text/index.less +7 -7
  249. package/src/aldehyde/controls/tree-select/navigation-tree.tsx +122 -122
  250. package/src/aldehyde/controls/tree-select/tree-entity-select.tsx +121 -121
  251. package/src/aldehyde/controls/upload/index.tsx +128 -128
  252. package/src/aldehyde/controls/upload/mult-file-upload.tsx +240 -240
  253. package/src/aldehyde/controls/view-control.tsx +289 -289
  254. package/src/aldehyde/custom-page/custom-detail-modal-page.tsx +69 -69
  255. package/src/aldehyde/custom-page/custom-page-router.tsx +64 -64
  256. package/src/aldehyde/custom-page/def-custom-page.tsx +17 -17
  257. package/src/aldehyde/custom-page/dtmpl-custom-edit-modal-page.tsx +88 -88
  258. package/src/aldehyde/detail/button/bottom-submit-button-bar.tsx +91 -91
  259. package/src/aldehyde/detail/button/cquery-button-bar.tsx +144 -144
  260. package/src/aldehyde/detail/button/edit-button.tsx +61 -61
  261. package/src/aldehyde/detail/button/fix-right-submit-button-bar.tsx +186 -186
  262. package/src/aldehyde/detail/button/index.css +42 -42
  263. package/src/aldehyde/detail/button/inline-edit-button.tsx +40 -40
  264. package/src/aldehyde/detail/button/submit-button-bar.tsx +57 -57
  265. package/src/aldehyde/detail/button/view-button.tsx +64 -64
  266. package/src/aldehyde/detail/dtmpl.css +67 -67
  267. package/src/aldehyde/detail/edit/dtmpl-edit.tsx +279 -279
  268. package/src/aldehyde/detail/edit/fields-edit-card.tsx +145 -145
  269. package/src/aldehyde/detail/edit/modal-row-edit.tsx +95 -95
  270. package/src/aldehyde/detail/edit/popover-edit-card.tsx +167 -167
  271. package/src/aldehyde/detail/edit/popover-editor.tsx +70 -70
  272. package/src/aldehyde/detail/edit/post-result/index.tsx +86 -86
  273. package/src/aldehyde/detail/rightbar/index.css +34 -34
  274. package/src/aldehyde/detail/rightbar/index.tsx +92 -92
  275. package/src/aldehyde/detail/tooltipbar/index.tsx +32 -32
  276. package/src/aldehyde/detail/view/act-dtmpl-view.tsx +288 -288
  277. package/src/aldehyde/detail/view/dtmpl-view.tsx +314 -314
  278. package/src/aldehyde/detail/view/field-view-group.tsx +88 -88
  279. package/src/aldehyde/detail/view/modal-dtmpl-view.tsx +73 -73
  280. package/src/aldehyde/detail/view/snapshot-timeline.tsx +231 -231
  281. package/src/aldehyde/detail/view/tab-act-dtmpl-view.tsx +304 -304
  282. package/src/aldehyde/detail/view/view-compare-panel.tsx +57 -57
  283. package/src/aldehyde/draw-canvas-edit/components/render/components/index.ts +3 -0
  284. package/src/aldehyde/draw-canvas-edit/components/render/components/workstation-component.tsx +104 -0
  285. package/src/aldehyde/draw-canvas-edit/components/render/draws/bg-draw.ts +176 -176
  286. package/src/aldehyde/draw-canvas-edit/components/render/draws/contextmenu-draw.ts +329 -329
  287. package/src/aldehyde/draw-canvas-edit/components/render/graphs/bezier.ts +542 -542
  288. package/src/aldehyde/draw-canvas-edit/components/render/handlers/drag-outside-handlers.ts +72 -72
  289. package/src/aldehyde/draw-canvas-edit/components/render/handlers/selection-handlers.ts +396 -396
  290. package/src/aldehyde/draw-canvas-edit/components/render/index.ts +808 -808
  291. package/src/aldehyde/draw-canvas-edit/components/render/tools/attract-tool.ts +457 -457
  292. package/src/aldehyde/draw-canvas-edit/components/render/tools/component-factory.ts +270 -302
  293. package/src/aldehyde/draw-canvas-edit/components/render/tools/copy-tool.ts +244 -244
  294. package/src/aldehyde/draw-canvas-edit/components/render/tools/import-export-tool.ts +576 -576
  295. package/src/aldehyde/draw-canvas-edit/components/render/tools/index.ts +10 -10
  296. package/src/aldehyde/draw-canvas-edit/components/render/tools/position-tool.ts +191 -191
  297. package/src/aldehyde/draw-canvas-edit/components/render/tools/selection-tool.ts +140 -140
  298. package/src/aldehyde/draw-canvas-edit/components/render/types.ts +294 -291
  299. package/src/aldehyde/draw-canvas-edit/components/setting-form/index.tsx +291 -291
  300. package/src/aldehyde/draw-canvas-edit/constant.ts +5 -5
  301. package/src/aldehyde/draw-canvas-edit/index.less +48 -48
  302. package/src/aldehyde/draw-canvas-edit/index.tsx +201 -201
  303. package/src/aldehyde/draw-canvas-view/index.less +59 -59
  304. package/src/aldehyde/draw-canvas-view/index.tsx +49 -49
  305. package/src/aldehyde/draw-canvas-view/view.tsx +17 -5
  306. package/src/aldehyde/export/export-frame.css +2 -2
  307. package/src/aldehyde/export/export-frame.tsx +301 -301
  308. package/src/aldehyde/export/select-code-export-frame.tsx +212 -212
  309. package/src/aldehyde/form/criteria-form.tsx +604 -604
  310. package/src/aldehyde/form/dtmpl-form.css +3 -3
  311. package/src/aldehyde/form/dtmpl-form.tsx +552 -552
  312. package/src/aldehyde/form/field-group-form.tsx +102 -102
  313. package/src/aldehyde/form/fields-form.tsx +45 -45
  314. package/src/aldehyde/form/form-Item-group.tsx +245 -245
  315. package/src/aldehyde/form/index.css +12 -12
  316. package/src/aldehyde/hooks/use-match-route/index.tsx +62 -62
  317. package/src/aldehyde/hooks/use-tabs/index.tsx +139 -139
  318. package/src/aldehyde/hooks/useVarCssColor.ts +6 -6
  319. package/src/aldehyde/icon/aliIcon.tsx +9 -9
  320. package/src/aldehyde/icon/index.tsx +28 -28
  321. package/src/aldehyde/import/excel-import.tsx +450 -450
  322. package/src/aldehyde/import/index.css +53 -53
  323. package/src/aldehyde/import/template.css +50 -50
  324. package/src/aldehyde/index.tsx +220 -220
  325. package/src/aldehyde/layout/MainPage.tsx +334 -334
  326. package/src/aldehyde/layout/common.css +64 -64
  327. package/src/aldehyde/layout/coverstyle.css +51 -51
  328. package/src/aldehyde/layout/footer/index.css +5 -5
  329. package/src/aldehyde/layout/footer/index.js +17 -17
  330. package/src/aldehyde/layout/header/index.css +122 -122
  331. package/src/aldehyde/layout/header/index.tsx +152 -152
  332. package/src/aldehyde/layout/menu/block.css +7 -7
  333. package/src/aldehyde/layout/menu/block.tsx +174 -174
  334. package/src/aldehyde/layout/menu/l2menu-message-bar.tsx +160 -160
  335. package/src/aldehyde/layout/menu/l2menu-quick-bar.tsx +175 -175
  336. package/src/aldehyde/layout/menu/menu-2layers.tsx +117 -117
  337. package/src/aldehyde/layout/menu/menu-render.tsx +168 -168
  338. package/src/aldehyde/layout/menu/message-bar.less +73 -73
  339. package/src/aldehyde/layout/menu/reset-password.tsx +255 -255
  340. package/src/aldehyde/layout/menu/user-bar.tsx +259 -259
  341. package/src/aldehyde/layout/menu/userinfo-bar.tsx +69 -69
  342. package/src/aldehyde/layout/sidebar/index.css +57 -57
  343. package/src/aldehyde/layout/sidebar/index.tsx +84 -84
  344. package/src/aldehyde/layout2/components/icon-font.tsx +7 -7
  345. package/src/aldehyde/layout2/components/screenfull-button.tsx +21 -21
  346. package/src/aldehyde/layout2/components/search-menu.tsx +85 -85
  347. package/src/aldehyde/layout2/components/system-messages.tsx +75 -75
  348. package/src/aldehyde/layout2/components/theme-button.tsx +65 -65
  349. package/src/aldehyde/layout2/components/user-button.tsx +258 -258
  350. package/src/aldehyde/layout2/components/user-notification.tsx +74 -74
  351. package/src/aldehyde/layout2/css/header.css +41 -41
  352. package/src/aldehyde/layout2/css/sider.less +17 -17
  353. package/src/aldehyde/layout2/css/tabs-layout.less +18 -18
  354. package/src/aldehyde/layout2/header.tsx +278 -278
  355. package/src/aldehyde/layout2/layout-context.tsx +95 -95
  356. package/src/aldehyde/layout2/main.tsx +30 -30
  357. package/src/aldehyde/layout2/page.tsx +315 -315
  358. package/src/aldehyde/layout2/sider.tsx +230 -230
  359. package/src/aldehyde/layout2/tabs/tabs-context.tsx +37 -37
  360. package/src/aldehyde/layout2/tabs/tabs-layout.tsx +146 -146
  361. package/src/aldehyde/layout2/type/layout-type.ts +15 -15
  362. package/src/aldehyde/layout2/util/menu-util.tsx +125 -125
  363. package/src/aldehyde/layout3/components/tabs-layout.tsx +110 -110
  364. package/src/aldehyde/layout3/components/time.tsx +25 -25
  365. package/src/aldehyde/layout3/css/header.less +195 -195
  366. package/src/aldehyde/layout3/css/main.less +161 -161
  367. package/src/aldehyde/layout3/css/sider.less +32 -32
  368. package/src/aldehyde/layout3/css/tabs-layout.less +38 -38
  369. package/src/aldehyde/layout3/header.tsx +187 -187
  370. package/src/aldehyde/layout3/main.tsx +29 -29
  371. package/src/aldehyde/layout3/page.tsx +110 -110
  372. package/src/aldehyde/layout3/sider.tsx +198 -198
  373. package/src/aldehyde/layout4/components/tabs-layout.tsx +110 -110
  374. package/src/aldehyde/layout4/css/header.less +196 -196
  375. package/src/aldehyde/layout4/css/main.less +154 -154
  376. package/src/aldehyde/layout4/css/sider.less +37 -37
  377. package/src/aldehyde/layout4/css/tabs-layout.less +42 -42
  378. package/src/aldehyde/layout4/header.tsx +190 -190
  379. package/src/aldehyde/layout4/main.tsx +29 -29
  380. package/src/aldehyde/layout4/page.tsx +125 -125
  381. package/src/aldehyde/layout4/sider.tsx +201 -201
  382. package/src/aldehyde/layout5/css/header.less +35 -35
  383. package/src/aldehyde/layout5/css/sider.less +18 -18
  384. package/src/aldehyde/layout5/header.tsx +204 -204
  385. package/src/aldehyde/layout5/page.tsx +107 -107
  386. package/src/aldehyde/layout5/sider.tsx +235 -235
  387. package/src/aldehyde/list/calendar/index.less +20 -20
  388. package/src/aldehyde/list/calendar/index.tsx +157 -157
  389. package/src/aldehyde/list/card-list/card-list-item.tsx +111 -111
  390. package/src/aldehyde/list/card-list/index.less +154 -154
  391. package/src/aldehyde/list/card-list/index.tsx +83 -83
  392. package/src/aldehyde/list/gantt/index.less +8 -8
  393. package/src/aldehyde/list/gantt/index.tsx +508 -508
  394. package/src/aldehyde/list/vertical-list/index.less +208 -208
  395. package/src/aldehyde/list/vertical-list/index.tsx +55 -55
  396. package/src/aldehyde/list/vertical-list/item.tsx +136 -136
  397. package/src/aldehyde/locale/LocaleButton.tsx +48 -48
  398. package/src/aldehyde/locale/LocaleProvider.tsx +265 -265
  399. package/src/aldehyde/locale/langMp.ts +45 -45
  400. package/src/aldehyde/locale/translate.ts +80 -80
  401. package/src/aldehyde/locale/useLocale.ts +72 -72
  402. package/src/aldehyde/login/context-setter.tsx +130 -130
  403. package/src/aldehyde/login/index.css +19 -19
  404. package/src/aldehyde/login/login.tsx +255 -255
  405. package/src/aldehyde/login/router-login.tsx +107 -107
  406. package/src/aldehyde/login/vertify/index.css +143 -143
  407. package/src/aldehyde/login/vertify/index.tsx +360 -360
  408. package/src/aldehyde/login/vertify/tool.ts +13 -13
  409. package/src/aldehyde/login2/login-page.tsx +92 -92
  410. package/src/aldehyde/login2/login.tsx +226 -226
  411. package/src/aldehyde/login3/index.less +136 -136
  412. package/src/aldehyde/login3/login-page.tsx +71 -71
  413. package/src/aldehyde/lowcode-components/act-table/index.less +26 -26
  414. package/src/aldehyde/lowcode-components/act-table/index.tsx +139 -139
  415. package/src/aldehyde/lowcode-components/assets/lowcode-constant.tsx +12 -12
  416. package/src/aldehyde/lowcode-components/bar-chart/index.tsx +268 -268
  417. package/src/aldehyde/lowcode-components/base-button/index.less +7 -7
  418. package/src/aldehyde/lowcode-components/base-button/index.tsx +197 -197
  419. package/src/aldehyde/lowcode-components/base-image/index.tsx +220 -220
  420. package/src/aldehyde/lowcode-components/base-map/index.tsx +292 -292
  421. package/src/aldehyde/lowcode-components/base-radio/index.less +23 -23
  422. package/src/aldehyde/lowcode-components/base-radio/index.tsx +157 -157
  423. package/src/aldehyde/lowcode-components/base-table/index.tsx +268 -268
  424. package/src/aldehyde/lowcode-components/base-tabs/index.less +14 -14
  425. package/src/aldehyde/lowcode-components/base-tabs/index.tsx +183 -183
  426. package/src/aldehyde/lowcode-components/base-text/index.tsx +58 -58
  427. package/src/aldehyde/lowcode-components/border/border1/index.tsx +70 -70
  428. package/src/aldehyde/lowcode-components/border/border10/index.less +26 -26
  429. package/src/aldehyde/lowcode-components/border/border10/index.tsx +45 -45
  430. package/src/aldehyde/lowcode-components/border/border11/index.less +17 -17
  431. package/src/aldehyde/lowcode-components/border/border11/index.tsx +232 -232
  432. package/src/aldehyde/lowcode-components/border/border12/index.less +13 -13
  433. package/src/aldehyde/lowcode-components/border/border12/index.tsx +115 -115
  434. package/src/aldehyde/lowcode-components/border/border13/index.less +13 -13
  435. package/src/aldehyde/lowcode-components/border/border13/index.tsx +69 -69
  436. package/src/aldehyde/lowcode-components/border/border2/index.less +17 -17
  437. package/src/aldehyde/lowcode-components/border/border2/index.tsx +51 -51
  438. package/src/aldehyde/lowcode-components/border/border3/index.less +25 -25
  439. package/src/aldehyde/lowcode-components/border/border3/index.tsx +61 -61
  440. package/src/aldehyde/lowcode-components/border/border4/index.less +72 -72
  441. package/src/aldehyde/lowcode-components/border/border4/index.tsx +79 -79
  442. package/src/aldehyde/lowcode-components/border/border5/index.less +35 -35
  443. package/src/aldehyde/lowcode-components/border/border5/index.tsx +75 -75
  444. package/src/aldehyde/lowcode-components/border/border6/index.less +17 -17
  445. package/src/aldehyde/lowcode-components/border/border6/index.tsx +60 -60
  446. package/src/aldehyde/lowcode-components/border/border7/index.less +26 -26
  447. package/src/aldehyde/lowcode-components/border/border7/index.tsx +75 -75
  448. package/src/aldehyde/lowcode-components/border/border8/index.less +13 -13
  449. package/src/aldehyde/lowcode-components/border/border8/index.tsx +84 -84
  450. package/src/aldehyde/lowcode-components/border/border9/index.less +13 -13
  451. package/src/aldehyde/lowcode-components/border/border9/index.tsx +154 -154
  452. package/src/aldehyde/lowcode-components/capsule-bar-chart/index.tsx +290 -290
  453. package/src/aldehyde/lowcode-components/carousel/index.tsx +218 -218
  454. package/src/aldehyde/lowcode-components/circular-progress-chart/index.tsx +263 -263
  455. package/src/aldehyde/lowcode-components/column-3d-chart/index.tsx +438 -438
  456. package/src/aldehyde/lowcode-components/column-chart/index.tsx +293 -293
  457. package/src/aldehyde/lowcode-components/data-number/index.tsx +219 -219
  458. package/src/aldehyde/lowcode-components/data.d.ts +18 -18
  459. package/src/aldehyde/lowcode-components/decoration/decoration1/index.less +7 -7
  460. package/src/aldehyde/lowcode-components/decoration/decoration1/index.tsx +153 -153
  461. package/src/aldehyde/lowcode-components/decoration/decoration10/index.less +5 -5
  462. package/src/aldehyde/lowcode-components/decoration/decoration10/index.tsx +89 -89
  463. package/src/aldehyde/lowcode-components/decoration/decoration11/index.less +5 -5
  464. package/src/aldehyde/lowcode-components/decoration/decoration11/index.tsx +133 -133
  465. package/src/aldehyde/lowcode-components/decoration/decoration2/index.less +6 -6
  466. package/src/aldehyde/lowcode-components/decoration/decoration2/index.tsx +61 -61
  467. package/src/aldehyde/lowcode-components/decoration/decoration3/index.less +7 -7
  468. package/src/aldehyde/lowcode-components/decoration/decoration3/index.tsx +87 -87
  469. package/src/aldehyde/lowcode-components/decoration/decoration4/index.less +29 -29
  470. package/src/aldehyde/lowcode-components/decoration/decoration4/index.tsx +53 -53
  471. package/src/aldehyde/lowcode-components/decoration/decoration5/index.less +3 -3
  472. package/src/aldehyde/lowcode-components/decoration/decoration5/index.tsx +116 -116
  473. package/src/aldehyde/lowcode-components/decoration/decoration6/index.less +7 -7
  474. package/src/aldehyde/lowcode-components/decoration/decoration6/index.tsx +121 -121
  475. package/src/aldehyde/lowcode-components/decoration/decoration7/index.less +4 -4
  476. package/src/aldehyde/lowcode-components/decoration/decoration7/index.tsx +70 -70
  477. package/src/aldehyde/lowcode-components/decoration/decoration8/index.less +14 -14
  478. package/src/aldehyde/lowcode-components/decoration/decoration8/index.tsx +122 -122
  479. package/src/aldehyde/lowcode-components/decoration/decoration9/index.less +4 -4
  480. package/src/aldehyde/lowcode-components/decoration/decoration9/index.tsx +196 -196
  481. package/src/aldehyde/lowcode-components/effectScatter-map/index.tsx +315 -315
  482. package/src/aldehyde/lowcode-components/effectScatter-map-3d/index.tsx +419 -419
  483. package/src/aldehyde/lowcode-components/gauge-chart/index.tsx +254 -254
  484. package/src/aldehyde/lowcode-components/index.ts +130 -130
  485. package/src/aldehyde/lowcode-components/line-bar-chart/index.tsx +300 -300
  486. package/src/aldehyde/lowcode-components/line-chart/index.tsx +290 -290
  487. package/src/aldehyde/lowcode-components/liquid-chart/index.tsx +250 -250
  488. package/src/aldehyde/lowcode-components/lowcode-view/component/assets.ts +478 -478
  489. package/src/aldehyde/lowcode-components/lowcode-view/component/component-controller.ts +153 -153
  490. package/src/aldehyde/lowcode-components/lowcode-view/component/component-definition.ts +23 -23
  491. package/src/aldehyde/lowcode-components/lowcode-view/component/loading.tsx +20 -20
  492. package/src/aldehyde/lowcode-components/lowcode-view/component/util.ts +27 -27
  493. package/src/aldehyde/lowcode-components/lowcode-view/index.less +19 -19
  494. package/src/aldehyde/lowcode-components/lowcode-view/index.tsx +277 -277
  495. package/src/aldehyde/lowcode-components/lowcode-view/interface.ts +189 -189
  496. package/src/aldehyde/lowcode-components/pie-chart/index.tsx +349 -349
  497. package/src/aldehyde/lowcode-components/progress-chart/index.tsx +295 -295
  498. package/src/aldehyde/lowcode-components/radar-chart/index.tsx +322 -322
  499. package/src/aldehyde/lowcode-components/search-form/index.less +25 -25
  500. package/src/aldehyde/lowcode-components/search-form/index.tsx +121 -121
  501. package/src/aldehyde/lowcode-components/stroke-animation/index.tsx +219 -219
  502. package/src/aldehyde/module/block-menu-tree-drawer.tsx +118 -118
  503. package/src/aldehyde/module/criteria-page.tsx1 +175 -175
  504. package/src/aldehyde/module/draggable-modal.tsx +66 -66
  505. package/src/aldehyde/module/dtmpl-edit-card.tsx +437 -437
  506. package/src/aldehyde/module/dtmpl-edit-drawer.tsx +23 -23
  507. package/src/aldehyde/module/dtmpl-edit-modal.tsx +25 -25
  508. package/src/aldehyde/module/dtmpl-edit-page.tsx +558 -558
  509. package/src/aldehyde/module/dtmpl-editor.tsx +165 -165
  510. package/src/aldehyde/module/dtmpl-view-card.tsx +64 -64
  511. package/src/aldehyde/module/dtmpl-view-drawer.tsx +71 -71
  512. package/src/aldehyde/module/dtmpl-view-modal.tsx +56 -56
  513. package/src/aldehyde/module/embed-dtmpl-edit-page.tsx +137 -137
  514. package/src/aldehyde/module/index.less +4 -4
  515. package/src/aldehyde/module/ltmpl-drawer.tsx +60 -60
  516. package/src/aldehyde/module/ltmpl-modal.tsx +63 -63
  517. package/src/aldehyde/module/ltmpl-table.tsx +378 -378
  518. package/src/aldehyde/module/ttmpl-tree.tsx +47 -47
  519. package/src/aldehyde/routable/dtmpl-route.tsx +173 -173
  520. package/src/aldehyde/routable/import-route.tsx +35 -35
  521. package/src/aldehyde/routable/index.less +25 -25
  522. package/src/aldehyde/routable/ltmpl-route.tsx +539 -539
  523. package/src/aldehyde/routable/splitview-ltmpl-route.tsx +377 -377
  524. package/src/aldehyde/routable/ttmpl-route.tsx +93 -93
  525. package/src/aldehyde/routable/withroute.tsx +36 -36
  526. package/src/aldehyde/sso-Login/index.tsx +73 -73
  527. package/src/aldehyde/sso-Login/service/index.js +16 -16
  528. package/src/aldehyde/sso-Login/service/login.js +75 -75
  529. package/src/aldehyde/table/act-table.tsx +1831 -1831
  530. package/src/aldehyde/table/column/column-builder.tsx +864 -864
  531. package/src/aldehyde/table/column/column-selector.tsx +130 -130
  532. package/src/aldehyde/table/column/index.less +63 -63
  533. package/src/aldehyde/table/column/summary-builder.tsx +712 -712
  534. package/src/aldehyde/table/column/theme-color-getter.tsx +25 -25
  535. package/src/aldehyde/table/control-table-x-axis-wrapper.tsx +80 -80
  536. package/src/aldehyde/table/index.css +211 -211
  537. package/src/aldehyde/table/l2-act-table.tsx +91 -91
  538. package/src/aldehyde/table/modal-select-table.tsx +308 -308
  539. package/src/aldehyde/table/page-config-button.tsx +203 -203
  540. package/src/aldehyde/table/pagination.css +14 -14
  541. package/src/aldehyde/table/pagination.tsx +81 -81
  542. package/src/aldehyde/table/query-table.tsx +658 -658
  543. package/src/aldehyde/table/relation-table.tsx +1093 -1093
  544. package/src/aldehyde/table/report-table.tsx +125 -125
  545. package/src/aldehyde/table/resizable-table.tsx +97 -97
  546. package/src/aldehyde/table/select-table.tsx +559 -548
  547. package/src/aldehyde/table/selected-rows-card.tsx +78 -78
  548. package/src/aldehyde/table/stat/restat.tsx +122 -122
  549. package/src/aldehyde/table/table-util.tsx +25 -25
  550. package/src/aldehyde/tmpl/control-type-supportor.tsx +154 -154
  551. package/src/aldehyde/tmpl/hc-data-source.tsx +566 -566
  552. package/src/aldehyde/tmpl/hcservice-v3.tsx +1590 -1590
  553. package/src/aldehyde/tmpl/interface.tsx +919 -919
  554. package/src/aldehyde/tmpl/model-struc-v3.tsx +111 -111
  555. package/src/aldehyde/tmpl/superagent.js +146 -146
  556. package/src/aldehyde/tmpl/tmpl-config-analysis.tsx +585 -585
  557. package/src/aldehyde/tmpl/web-socket.ts +366 -366
  558. package/src/aldehyde/tree/act-tree.tsx +217 -217
  559. package/src/aldehyde/tree/block-menu-auth-tree.tsx +189 -189
  560. package/src/aldehyde/tree/index.css +22 -22
  561. package/src/aldehyde/tree/navigation-tree.tsx +39 -39
  562. package/src/aldehyde/tree/tmpl-tree.tsx +751 -751
  563. package/src/aldehyde/tree/tree-node.tsx +73 -73
  564. package/src/aldehyde/tree/tree-utils.tsx +317 -317
  565. package/src/aldehyde/units/EncryptUtils.js +37 -37
  566. package/src/aldehyde/units/image.d.ts +7 -7
  567. package/src/aldehyde/units/index.tsx +1367 -1367
  568. package/src/aldehyde/units/storage.js +2 -2
  569. package/src/aldehyde/utils/dsu.ts +27 -27
  570. package/src/aldehyde/welcome/HCWelcome.js +404 -404
  571. package/src/aldehyde/welcome/HCWelcome1.js +259 -259
  572. package/src/aldehyde/welcome/components/menu-card.less +96 -96
  573. package/src/aldehyde/welcome/components/menu-card.tsx +70 -70
  574. package/src/aldehyde/welcome/components/page-card.less +49 -49
  575. package/src/aldehyde/welcome/components/page-card.tsx +97 -97
  576. package/src/aldehyde/welcome/components/quick-entrance.less +120 -120
  577. package/src/aldehyde/welcome/components/quick-entrance.tsx +80 -80
  578. package/src/aldehyde/welcome/components/user-menus.less +192 -192
  579. package/src/aldehyde/welcome/components/user-menus.tsx +279 -279
  580. package/src/aldehyde/welcome/components/workbench.less +118 -118
  581. package/src/aldehyde/welcome/components/workbench.tsx +146 -146
  582. package/src/aldehyde/welcome/index.css +13 -13
@@ -1,302 +1,270 @@
1
- import Konva from 'konva';
2
- import { nanoid } from 'nanoid';
3
- import { Render } from '../index';
4
- import { AssetType, AssetInfoPoint, AssetSettings, LinkDrawPoint } from '../types';
5
- import { handleImgUrl } from "../../asset-bar/index";
6
-
7
- // 统一组件创建
8
-
9
- interface workstationSettings extends AssetSettings {
10
- workstationNumber: string; // 工位编号
11
- }
12
-
13
- export interface CreateImageComponentOptions {
14
- src: string;
15
- type: string;
16
- componentType?: string;
17
- }
18
-
19
- export interface CreateJsonComponentOptions {
20
- src: string;
21
- }
22
-
23
- export class ComponentFactory {
24
- private render: Render;
25
-
26
- constructor(render: Render) {
27
- this.render = render;
28
- }
29
-
30
- /**
31
- * 创建图片组件(svg、gif、png等)
32
- */
33
- async createImageComponent(options: CreateImageComponentOptions) {
34
- const { src, type, componentType } = options;
35
- const { pageHeight, pageWidth } = this.render.getPageSettings()
36
- const target = await this.render.assetTool[{ svg: "loadSvg", gif: "loadGif" }[type] || "loadImg"](handleImgUrl(src));
37
- let width = target.width();
38
- let height = target.height();
39
- if (width > pageWidth || height > pageHeight) { // 原图尺寸超过页面大小时进行缩放
40
- const sizeScale = Math.min(pageWidth / width, pageHeight / height);
41
- width *= sizeScale;
42
- height *= sizeScale;
43
- target.setSize({ width, height });
44
- }
45
- const group = new Konva.Group({
46
- id: nanoid(),
47
- width,
48
- height,
49
- name: 'asset',
50
- assetType: AssetType.Image,
51
- draggable: true,
52
- componentType,
53
- componentSrc: src,
54
- imageType: ["svg", "gif", "other"].includes(type) ? type : "other"
55
- });
56
- this.render.setAssetSettings(group, this.render.getAssetSettings(), false);
57
- group.add(target);
58
- const points: AssetInfoPoint[] = [
59
- { x: 0, y: group.height() / 2, direction: 'left' }, //
60
- { x: group.width(), y: group.height() / 2, direction: 'right' }, //
61
- { x: group.width() / 2, y: 0, direction: 'top' }, //
62
- { x: group.width() / 2, y: group.height(), direction: 'bottom' } // 下
63
- ];
64
- return { group, points };
65
- }
66
-
67
- /**
68
- * 创建 JSON 组合组件
69
- */
70
- async createJsonComponent(options: CreateJsonComponentOptions) {
71
- const { src } = options;
72
- const { pageHeight, pageWidth } = this.render.getPageSettings()
73
- const target = await this.render.assetTool["loadJson"](handleImgUrl(src));
74
- let width = target.width();
75
- let height = target.height();
76
- if (width > pageWidth || height > pageHeight) { // 原图尺寸超过页面大小时进行缩放
77
- const sizeScale = Math.min(pageWidth / width, pageHeight / height);
78
- width *= sizeScale;
79
- height *= sizeScale;
80
- target.setSize({ width, height });
81
- }
82
- target.id(nanoid());
83
- target.setAttrs({
84
- name: 'asset',
85
- assetType: AssetType.Json,
86
- draggable: true
87
- });
88
- target.setAttrs({ x: 0, y: 0 } as any);
89
- this.render.linkTool.groupIdCover(target);
90
- return { group: target };
91
- }
92
-
93
- // 创建Tooltip
94
- createTooltipComponent(props: { x: number, y: number }) {
95
- const { x = 0, y = 0 } = props;
96
- // 创建一个标签容器
97
- const tooltip = new Konva.Label({ name: "tooltip", x, y, opacity: 0.75, visible: false, listening: false });
98
- // 往标签上面添加带箭头的背景形状
99
- tooltip.add(
100
- new Konva.Tag({
101
- fill: 'black',
102
- pointerDirection: 'down', // 箭头方向
103
- pointerWidth: 6,
104
- pointerHeight: 6,
105
- cornerRadius: 4,
106
- lineJoin: 'round'
107
- })
108
- );
109
- // 往标签上面添加文字
110
- const tooltipText = new Konva.Text({
111
- name: "tooltip-text",
112
- text: '提示框',
113
- fontSize: 12,
114
- padding: 4,
115
- fill: 'white'
116
- });
117
- tooltip.add(tooltipText);
118
- return tooltip;
119
- }
120
-
121
- // 更新Tooltip
122
- updateTooltipText(node: Konva.Group, newText: string) {
123
- const tooltipNode = node.findOne('.tooltip') as Konva.Label;
124
- if (!tooltipNode) {
125
- return;
126
- }
127
- const textNode = tooltipNode.findOne('.tooltip-text') as Konva.Text;
128
- textNode.setAttr("text", newText);
129
- }
130
-
131
- /**
132
- * 根据 componentType 创建特定类型组件
133
- */
134
- async createTypedComponent(options: CreateImageComponentOptions) {
135
- const { src, type, componentType } = options;
136
- const { themeToken } = this.render.config || {};
137
- let comGroup: { group: Konva.Group; points: AssetInfoPoint[] };
138
- let group: Konva.Group;
139
- let points: AssetInfoPoint[];
140
- switch (componentType) {
141
- case "workstation": // 工位
142
- const workstationNodes = this.render.getAllAssets()?.filter(asset => asset.componentType === "workstation");
143
- const order = Math.max(...workstationNodes.map(asset => asset.settings.order), 0) + 1; // 当前工位序号,自增
144
- comGroup = await this.createImageComponent({ src, type, componentType });
145
- group = comGroup.group;
146
- points = comGroup.points;
147
- const fontSize = Math.min(group.width(), group.height()) * 0.5;
148
- const text = new Konva.Text({
149
- name: "order",
150
- text: `${order}`,
151
- fontSize, // 字体大小随半径变化
152
- fontFamily: 'Arial',
153
- fill: themeToken.colorPrimary || "#000000",
154
- align: 'center',
155
- offsetX: 0,
156
- offsetY: 0,
157
- width: group.width()
158
- });
159
- text.x(0);
160
- text.y(group.height() / 2 - text.height() / 7);
161
- const tooltip = this.createTooltipComponent({ x: group.width() / 2, y: group.height() / 2 });
162
- group.add(text);
163
- group.add(tooltip);
164
- this.render.setAssetSettings(group, { ...this.render.getAssetSettings(group), order }, true);
165
- break;
166
- default:
167
- comGroup = await this.createImageComponent({ src, type, componentType });
168
- group = comGroup.group;
169
- points = comGroup.points;
170
- break;
171
- }
172
- return { group, points };
173
- }
174
-
175
- // 创建组件连接点
176
- createComponentLinkPoints(props: { showPoints: string, points: AssetInfoPoint[], group: Konva.Group }) {
177
- const { showPoints, points, group } = props;
178
- if (showPoints === "true") {
179
- // 连接点信息
180
- group.setAttrs({
181
- points: points.map((o) => ({ ...o, id: nanoid(), groupId: group.id(), visible: false, pairs: [], direction: o.direction }) as LinkDrawPoint)
182
- });
183
- // 连接点锚点
184
- for (const point of group.getAttr('points') ?? []) {
185
- group.add(
186
- new Konva.Circle({
187
- name: 'link-anchor',
188
- id: point.id,
189
- x: point.x,
190
- y: point.y,
191
- radius: this.render.toStageValue(1),
192
- stroke: 'rgba(0,0,255,1)',
193
- strokeWidth: this.render.toStageValue(2),
194
- visible: false,
195
- direction: point.direction,
196
- })
197
- );
198
- }
199
- }
200
- }
201
-
202
- // 渲染页组件设置鼠标移入移出样式
203
- setCursorPointer = (node: Konva.Group) => {
204
- node.on('mouseenter', function () {
205
- const container = this.getStage().getContent();
206
- container.style.cursor = 'pointer';
207
- });
208
- node.on('mouseleave', function () {
209
- const container = this.getStage().getContent();
210
- container.style.cursor = 'default';
211
- });
212
- }
213
-
214
- // 只读页面组件初始化更新
215
- readonlyInitComponentSetting(props: { node: Konva.Group }) {
216
- const { node } = props;
217
- const { componentType } = node.getAttrs() || {};
218
- switch (componentType) {
219
- case "workstation": // 工位
220
- const orderText = node.findOne(".order");
221
- orderText?.visible?.(false); // 只读页面不显示工位序号
222
- this.setCursorPointer(node);
223
- break;
224
- default:
225
- break;
226
- }
227
- }
228
-
229
- // 更新组件设置
230
- updateComponentSetting(props: { node: Konva.Group, settings: AssetSettings }) {
231
- const { node, settings } = props;
232
- const { componentType } = node.getAttrs() || {};
233
- switch (componentType) {
234
- case "workstation":
235
- this.updateTooltipText(node, (settings as workstationSettings).workstationNumber); // 工位编号弹窗
236
- node.findOne(".order")?.setAttr("text", settings.order); // 工位序号显示
237
- break;
238
- default:
239
- break;
240
- }
241
- }
242
-
243
- // 克隆组件更新组件配置
244
- updateCloneNodeSetting(nodes: Konva.Group[]) {
245
- const allAssets = this.render.getAllAssets();
246
- const workstationOrders = allAssets?.filter(asset => asset.componentType === "workstation")?.map(asset => asset.settings.order) || []; // 工位组件自增序号
247
- nodes.forEach(node => {
248
- const { componentType } = node.getAttrs() || {};
249
- switch (componentType) {
250
- case "workstation": // 工位
251
- const order = Math.max(...workstationOrders, 0) + 1; // 当前工位序号,自增
252
- workstationOrders.push(order);
253
- const orderText = node.findOne(".order");
254
- this.render.setAssetSettings(node, { ...this.render.getAssetSettings(node), order }, true);
255
- orderText.setAttr("text", order);
256
- break;
257
- default:
258
- break;
259
- }
260
- });
261
- }
262
-
263
- // 克隆已有节点(用于复制粘贴)
264
- cloneNodes(nodes: Konva.Node[]): Konva.Node[] {
265
- const clones: Konva.Group[] = [];
266
- for (const node of nodes) {
267
- if (node instanceof Konva.Transformer) {
268
- // 复制已选择:递归处理 selectingNodes
269
- const backup = [...this.render.selectionTool.selectingNodes];
270
- this.render.selectionTool.selectingClear();
271
- this.render.linkTool.selectingClear();
272
- return this.cloneNodes(backup);
273
- }
274
- const newNode = node.clone();
275
- clones.push(newNode);
276
- }
277
- this.updateCloneNodeSetting(clones);
278
- return clones;
279
- }
280
-
281
- // 组件鼠标移入事件
282
- groupMouseenter = ({ group }) => {
283
- group.off('mouseenter');
284
- group.on('mouseenter', () => {
285
- this.render.linkTool.pointsVisible(true, group); // 显示 连接点
286
- const tooltipNode = group.findOne(".tooltip");
287
- if (tooltipNode) { // 组件存在tooltip且存在文本显示
288
- const isText = tooltipNode.findOne(".tooltip-text")?.getAttr("text");
289
- if (isText) tooltipNode.visible(true);
290
- }
291
- });
292
- };
293
-
294
- // 组件鼠标移出事件
295
- groupMouseleave = ({ group }) => {
296
- group.off('mouseleave');
297
- group.on('mouseleave', () => {
298
- this.render.linkTool.pointsVisible(false, group);
299
- group.findOne(".tooltip")?.visible(false);
300
- });
301
- };
302
- }
1
+ import Konva from 'konva';
2
+ import { nanoid } from 'nanoid';
3
+ import { Render } from '../index';
4
+ import { AssetType, AssetInfoPoint, AssetSettings, LinkDrawPoint } from '../types';
5
+ import { handleImgUrl } from "../../asset-bar/index";
6
+ import { WorkstationComponent } from '../components';
7
+
8
+ // 统一组件创建
9
+
10
+ export interface CreateImageComponentOptions {
11
+ src: string;
12
+ type: string;
13
+ componentType?: string;
14
+ }
15
+
16
+ export interface CreateJsonComponentOptions {
17
+ src: string;
18
+ }
19
+
20
+ export class ComponentFactory {
21
+ private render: Render;
22
+ workstationComponent: WorkstationComponent;
23
+
24
+ constructor(render: Render) {
25
+ this.render = render;
26
+ this.workstationComponent = new WorkstationComponent(render);
27
+ }
28
+
29
+ /**
30
+ * 创建图片组件(svg、gif、png等)
31
+ */
32
+ async createImageComponent(options: CreateImageComponentOptions) {
33
+ const { src, type, componentType } = options;
34
+ const { pageHeight, pageWidth } = this.render.getPageSettings()
35
+ const target = await this.render.assetTool[{ svg: "loadSvg", gif: "loadGif" }[type] || "loadImg"](handleImgUrl(src));
36
+ let width = target.width();
37
+ let height = target.height();
38
+ if (width > pageWidth || height > pageHeight) { // 原图尺寸超过页面大小时进行缩放
39
+ const sizeScale = Math.min(pageWidth / width, pageHeight / height);
40
+ width *= sizeScale;
41
+ height *= sizeScale;
42
+ target.setSize({ width, height });
43
+ }
44
+ const group = new Konva.Group({
45
+ id: nanoid(),
46
+ width,
47
+ height,
48
+ name: 'asset',
49
+ assetType: AssetType.Image,
50
+ draggable: true,
51
+ componentType,
52
+ componentSrc: src,
53
+ imageType: ["svg", "gif", "other"].includes(type) ? type : "other"
54
+ });
55
+ this.render.setAssetSettings(group, this.render.getAssetSettings(), false);
56
+ group.add(target);
57
+ const points: AssetInfoPoint[] = [
58
+ { x: 0, y: group.height() / 2, direction: 'left' }, // 左
59
+ { x: group.width(), y: group.height() / 2, direction: 'right' }, //
60
+ { x: group.width() / 2, y: 0, direction: 'top' }, //
61
+ { x: group.width() / 2, y: group.height(), direction: 'bottom' } //
62
+ ];
63
+ return { group, points };
64
+ }
65
+
66
+ /**
67
+ * 创建 JSON 组合组件
68
+ */
69
+ async createJsonComponent(options: CreateJsonComponentOptions) {
70
+ const { src } = options;
71
+ const { pageHeight, pageWidth } = this.render.getPageSettings()
72
+ const target = await this.render.assetTool["loadJson"](handleImgUrl(src));
73
+ let width = target.width();
74
+ let height = target.height();
75
+ if (width > pageWidth || height > pageHeight) { // 原图尺寸超过页面大小时进行缩放
76
+ const sizeScale = Math.min(pageWidth / width, pageHeight / height);
77
+ width *= sizeScale;
78
+ height *= sizeScale;
79
+ target.setSize({ width, height });
80
+ }
81
+ target.id(nanoid());
82
+ target.setAttrs({
83
+ name: 'asset',
84
+ assetType: AssetType.Json,
85
+ draggable: true
86
+ });
87
+ target.setAttrs({ x: 0, y: 0 } as any);
88
+ this.render.linkTool.groupIdCover(target);
89
+ return { group: target };
90
+ }
91
+
92
+ // 创建Tooltip
93
+ createTooltipComponent(props: { x: number, y: number }) {
94
+ const { x = 0, y = 0 } = props;
95
+ // 创建一个标签容器
96
+ const tooltip = new Konva.Label({ name: "tooltip", x, y, opacity: 0.75, visible: false, listening: false });
97
+ // 往标签上面添加带箭头的背景形状
98
+ tooltip.add(
99
+ new Konva.Tag({
100
+ fill: 'black',
101
+ pointerDirection: 'down', // 箭头方向
102
+ pointerWidth: 6,
103
+ pointerHeight: 6,
104
+ cornerRadius: 4,
105
+ lineJoin: 'round'
106
+ })
107
+ );
108
+ // 往标签上面添加文字
109
+ const tooltipText = new Konva.Text({
110
+ name: "tooltip-text",
111
+ text: '提示框',
112
+ fontSize: 12,
113
+ padding: 4,
114
+ fill: 'white'
115
+ });
116
+ tooltip.add(tooltipText);
117
+ return tooltip;
118
+ }
119
+
120
+ // 更新Tooltip
121
+ updateTooltipText(node: Konva.Group, newText: string) {
122
+ const tooltipNode = node.findOne('.tooltip') as Konva.Label;
123
+ if (!tooltipNode) {
124
+ return;
125
+ }
126
+ const textNode = tooltipNode.findOne('.tooltip-text') as Konva.Text;
127
+ textNode.setAttr("text", newText);
128
+ }
129
+
130
+ /**
131
+ * 根据 componentType 创建特定类型组件
132
+ */
133
+ async createTypedComponent(options: CreateImageComponentOptions) {
134
+ const { src, type, componentType } = options;
135
+ let comGroup: { group: Konva.Group; points: AssetInfoPoint[] };
136
+ let group: Konva.Group;
137
+ let points: AssetInfoPoint[];
138
+ switch (componentType) {
139
+ case "workstation": // 工位
140
+ return this.workstationComponent.create(src, type);
141
+ default:
142
+ comGroup = await this.createImageComponent({ src, type, componentType });
143
+ group = comGroup.group;
144
+ points = comGroup.points;
145
+ break;
146
+ }
147
+ return { group, points };
148
+ }
149
+
150
+ // 创建组件连接点
151
+ createComponentLinkPoints(props: { showPoints: string, points: AssetInfoPoint[], group: Konva.Group }) {
152
+ const { showPoints, points, group } = props;
153
+ if (showPoints === "true") {
154
+ // 连接点信息
155
+ group.setAttrs({
156
+ points: points.map((o) => ({ ...o, id: nanoid(), groupId: group.id(), visible: false, pairs: [], direction: o.direction }) as LinkDrawPoint)
157
+ });
158
+ // 连接点锚点
159
+ for (const point of group.getAttr('points') ?? []) {
160
+ group.add(
161
+ new Konva.Circle({
162
+ name: 'link-anchor',
163
+ id: point.id,
164
+ x: point.x,
165
+ y: point.y,
166
+ radius: this.render.toStageValue(1),
167
+ stroke: 'rgba(0,0,255,1)',
168
+ strokeWidth: this.render.toStageValue(2),
169
+ visible: false,
170
+ direction: point.direction,
171
+ })
172
+ );
173
+ }
174
+ }
175
+ }
176
+
177
+ // 渲染页组件设置鼠标移入移出样式
178
+ setCursorPointer = (node: Konva.Group) => {
179
+ node.on('mouseenter', () => {
180
+ const container = node.getStage().getContent();
181
+ container.style.cursor = 'pointer';
182
+ });
183
+ node.on('mouseleave', () => {
184
+ const container = node.getStage().getContent();
185
+ container.style.cursor = 'default';
186
+ });
187
+ }
188
+
189
+ // 只读页面组件初始化更新
190
+ readonlyInitComponentSetting(props: { node: Konva.Group }) {
191
+ const { node } = props;
192
+ const { componentType } = node.getAttrs() || {};
193
+ switch (componentType) {
194
+ case "workstation": // 工位
195
+ this.workstationComponent.readonlyInit(node);
196
+ break;
197
+ default:
198
+ break;
199
+ }
200
+ }
201
+
202
+ // 更新组件设置
203
+ updateComponentSetting(props: { node: Konva.Group, settings: AssetSettings }) {
204
+ const { node, settings } = props;
205
+ const { componentType } = node.getAttrs() || {};
206
+ switch (componentType) {
207
+ case "workstation":
208
+ this.workstationComponent.updateSettings(node, settings);
209
+ break;
210
+ default:
211
+ break;
212
+ }
213
+ }
214
+
215
+ // 克隆组件更新组件配置
216
+ updateCloneNodeSetting(nodes: Konva.Group[]) {
217
+ const allAssets = this.render.getAllAssets();
218
+ const workstationOrders = allAssets?.filter(asset => asset.componentType === "workstation")?.map(asset => asset.settings.order) || []; // 工位组件自增序号
219
+ nodes.forEach(node => {
220
+ const { componentType } = node.getAttrs() || {};
221
+ switch (componentType) {
222
+ case "workstation": // 工位
223
+ this.workstationComponent.updateCloneOrder(node, workstationOrders);
224
+ break;
225
+ default:
226
+ break;
227
+ }
228
+ });
229
+ }
230
+
231
+ // 克隆已有节点(用于复制粘贴)
232
+ cloneNodes(nodes: Konva.Node[]): Konva.Node[] {
233
+ const clones: Konva.Group[] = [];
234
+ for (const node of nodes) {
235
+ if (node instanceof Konva.Transformer) {
236
+ // 复制已选择:递归处理 selectingNodes
237
+ const backup = [...this.render.selectionTool.selectingNodes];
238
+ this.render.selectionTool.selectingClear();
239
+ this.render.linkTool.selectingClear();
240
+ return this.cloneNodes(backup);
241
+ }
242
+ const newNode = node.clone();
243
+ clones.push(newNode);
244
+ }
245
+ this.updateCloneNodeSetting(clones);
246
+ return clones;
247
+ }
248
+
249
+ // 组件鼠标移入事件
250
+ groupMouseenter = ({ group }) => {
251
+ group.off('mouseenter');
252
+ group.on('mouseenter', () => {
253
+ this.render.linkTool.pointsVisible(true, group); // 显示 连接点
254
+ const tooltipNode = group.findOne(".tooltip");
255
+ if (tooltipNode) { // 组件存在tooltip且存在文本显示
256
+ const isText = tooltipNode.findOne(".tooltip-text")?.getAttr("text");
257
+ if (isText) tooltipNode.visible(true);
258
+ }
259
+ });
260
+ };
261
+
262
+ // 组件鼠标移出事件
263
+ groupMouseleave = ({ group }) => {
264
+ group.off('mouseleave');
265
+ group.on('mouseleave', () => {
266
+ this.render.linkTool.pointsVisible(false, group);
267
+ group.findOne(".tooltip")?.visible(false);
268
+ });
269
+ };
270
+ }