@nocobase/flow-engine 2.0.0-alpha.3 → 2.0.0-alpha.30

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 (418) hide show
  1. package/lib/BlockScopedFlowEngine.d.ts +23 -0
  2. package/lib/BlockScopedFlowEngine.js +90 -0
  3. package/lib/FlowContextProvider.d.ts +2 -2
  4. package/lib/FlowContextProvider.js +3 -3
  5. package/lib/FlowDefinition.d.ts +4 -2
  6. package/lib/JSRunner.js +3 -0
  7. package/lib/ViewScopedFlowEngine.d.ts +1 -1
  8. package/lib/components/FieldModelRenderer.js +10 -4
  9. package/lib/components/FieldSkeleton.d.ts +10 -0
  10. package/lib/components/FieldSkeleton.js +64 -0
  11. package/lib/components/FlowContextSelector.js +7 -2
  12. package/lib/components/FlowModelRenderer.d.ts +2 -5
  13. package/lib/components/FlowModelRenderer.js +16 -47
  14. package/lib/components/FormItem.js +5 -1
  15. package/lib/{runjs-context/snippets/global/requireAsync.snippet.d.ts → components/dnd/findModelUidPosition.d.ts} +4 -7
  16. package/lib/{runjs-context/snippets/scene/jsblock/jsx-mount.snippet.js → components/dnd/findModelUidPosition.js} +23 -19
  17. package/lib/components/dnd/gridDragPlanner.d.ts +130 -0
  18. package/lib/components/dnd/gridDragPlanner.js +497 -0
  19. package/lib/components/dnd/index.d.ts +2 -2
  20. package/lib/components/dnd/index.js +5 -5
  21. package/lib/components/settings/independents/dropdown/FlowsDropdownButton.js +2 -2
  22. package/lib/components/settings/wrappers/contextual/DefaultSettingsIcon.js +17 -5
  23. package/lib/components/settings/wrappers/contextual/FlowsContextMenu.js +2 -2
  24. package/lib/components/settings/wrappers/contextual/StepSettingsDialog.js +7 -1
  25. package/lib/components/variables/VariableInput.js +16 -2
  26. package/lib/components/variables/VariableTag.js +43 -2
  27. package/lib/components/variables/types.d.ts +2 -0
  28. package/lib/data-source/index.d.ts +12 -4
  29. package/lib/data-source/index.js +19 -13
  30. package/lib/data-source/sortCollectionsByInherits.d.ts +10 -0
  31. package/lib/data-source/sortCollectionsByInherits.js +71 -0
  32. package/lib/executor/FlowExecutor.d.ts +4 -5
  33. package/lib/executor/FlowExecutor.js +135 -100
  34. package/lib/flowContext.d.ts +33 -5
  35. package/lib/flowContext.js +193 -76
  36. package/lib/flowEngine.d.ts +8 -1
  37. package/lib/flowEngine.js +18 -6
  38. package/lib/flowSettings.d.ts +2 -1
  39. package/lib/flowSettings.js +12 -8
  40. package/lib/hooks/useApplyAutoFlows.js +2 -1
  41. package/lib/index.d.ts +7 -1
  42. package/lib/index.js +32 -3
  43. package/lib/locale/en-US.json +4 -2
  44. package/lib/locale/index.d.ts +4 -0
  45. package/lib/locale/zh-CN.json +4 -2
  46. package/lib/models/CollectionFieldModel.d.ts +2 -0
  47. package/lib/models/CollectionFieldModel.js +43 -3
  48. package/lib/models/flowModel.d.ts +28 -29
  49. package/lib/models/flowModel.js +114 -92
  50. package/lib/models/forkFlowModel.d.ts +4 -4
  51. package/lib/models/forkFlowModel.js +32 -8
  52. package/lib/provider.d.ts +3 -1
  53. package/lib/provider.js +7 -5
  54. package/lib/resources/multiRecordResource.js +2 -0
  55. package/lib/resources/singleRecordResource.js +1 -0
  56. package/lib/resources/sqlResource.d.ts +1 -0
  57. package/lib/resources/sqlResource.js +20 -24
  58. package/lib/runjs-context/contexts/FormJSFieldItemRunJSContext.d.ts +1 -6
  59. package/lib/runjs-context/contexts/FormJSFieldItemRunJSContext.js +27 -20
  60. package/lib/runjs-context/contexts/JSBlockRunJSContext.d.ts +1 -6
  61. package/lib/runjs-context/contexts/JSBlockRunJSContext.js +46 -33
  62. package/lib/runjs-context/contexts/JSCollectionActionRunJSContext.d.ts +1 -2
  63. package/lib/runjs-context/contexts/JSCollectionActionRunJSContext.js +14 -15
  64. package/lib/runjs-context/contexts/{LinkageRunJSContext.d.ts → JSColumnRunJSContext.d.ts} +6 -3
  65. package/lib/runjs-context/contexts/JSColumnRunJSContext.js +78 -0
  66. package/lib/runjs-context/contexts/JSFieldRunJSContext.d.ts +1 -6
  67. package/lib/runjs-context/contexts/JSFieldRunJSContext.js +28 -24
  68. package/lib/runjs-context/contexts/JSItemRunJSContext.d.ts +1 -6
  69. package/lib/runjs-context/contexts/JSItemRunJSContext.js +24 -20
  70. package/lib/runjs-context/contexts/JSRecordActionRunJSContext.d.ts +1 -2
  71. package/lib/runjs-context/contexts/JSRecordActionRunJSContext.js +16 -17
  72. package/lib/runjs-context/contexts/base.d.ts +9 -0
  73. package/lib/runjs-context/contexts/base.js +183 -0
  74. package/lib/runjs-context/helpers.d.ts +5 -2
  75. package/lib/runjs-context/helpers.js +36 -27
  76. package/lib/runjs-context/registry.d.ts +7 -4
  77. package/lib/runjs-context/registry.js +10 -42
  78. package/lib/runjs-context/setup.d.ts +9 -0
  79. package/lib/runjs-context/setup.js +82 -0
  80. package/lib/runjs-context/snippets/global/{copy-record-json.snippet.js → api-request.snippet.js} +25 -10
  81. package/lib/runjs-context/snippets/global/clipboard-copy-text.snippet.js +61 -0
  82. package/lib/runjs-context/snippets/global/{view-navigation-push.snippet.js → import-esm.snippet.js} +26 -12
  83. package/lib/runjs-context/snippets/global/message-error.snippet.js +6 -0
  84. package/lib/runjs-context/snippets/global/message-success.snippet.js +6 -0
  85. package/lib/runjs-context/snippets/global/notification-open.snippet.d.ts +3 -8
  86. package/lib/runjs-context/snippets/global/notification-open.snippet.js +8 -1
  87. package/lib/runjs-context/snippets/global/open-view-dialog.snippet.js +10 -3
  88. package/lib/runjs-context/snippets/global/open-view-drawer.snippet.js +10 -3
  89. package/lib/runjs-context/snippets/global/query-selector.snippet.js +53 -0
  90. package/lib/runjs-context/snippets/global/require-amd.snippet.d.ts +11 -0
  91. package/lib/runjs-context/snippets/global/{requireAsync.snippet.js → require-amd.snippet.js} +16 -13
  92. package/lib/runjs-context/snippets/global/window-open.snippet.d.ts +3 -8
  93. package/lib/runjs-context/snippets/global/window-open.snippet.js +8 -1
  94. package/lib/runjs-context/snippets/index.d.ts +14 -3
  95. package/lib/runjs-context/snippets/index.js +161 -40
  96. package/lib/runjs-context/snippets/scene/block/add-event-listener.snippet.d.ts +11 -0
  97. package/lib/runjs-context/snippets/scene/{jsblock → block}/add-event-listener.snippet.js +11 -2
  98. package/lib/runjs-context/snippets/scene/block/api-fetch-render-list.snippet.d.ts +11 -0
  99. package/lib/runjs-context/snippets/scene/block/api-fetch-render-list.snippet.js +64 -0
  100. package/lib/runjs-context/snippets/scene/block/chartjs-bar.snippet.d.ts +11 -0
  101. package/lib/runjs-context/snippets/scene/block/chartjs-bar.snippet.js +99 -0
  102. package/lib/runjs-context/snippets/{libs → scene/block}/echarts-init.snippet.js +24 -7
  103. package/lib/runjs-context/snippets/scene/block/render-button-handler.snippet.d.ts +11 -0
  104. package/lib/runjs-context/snippets/scene/{jsblock → block}/render-button-handler.snippet.js +17 -9
  105. package/lib/runjs-context/snippets/scene/block/render-iframe.snippet.d.ts +11 -0
  106. package/lib/runjs-context/snippets/scene/block/render-iframe.snippet.js +57 -0
  107. package/lib/runjs-context/snippets/scene/block/render-info-card.snippet.d.ts +11 -0
  108. package/lib/runjs-context/snippets/scene/block/render-info-card.snippet.js +71 -0
  109. package/lib/runjs-context/snippets/scene/block/render-react-jsx.snippet.d.ts +11 -0
  110. package/lib/runjs-context/snippets/scene/{jsblock/render-card.snippet.js → block/render-react-jsx.snippet.js} +26 -13
  111. package/lib/runjs-context/snippets/scene/block/render-react.snippet.d.ts +11 -0
  112. package/lib/runjs-context/snippets/scene/{jsblock → block}/render-react.snippet.js +18 -17
  113. package/lib/runjs-context/snippets/scene/block/render-statistics.snippet.d.ts +11 -0
  114. package/lib/runjs-context/snippets/scene/block/render-statistics.snippet.js +95 -0
  115. package/lib/runjs-context/snippets/scene/block/render-timeline.snippet.d.ts +11 -0
  116. package/lib/runjs-context/snippets/scene/block/render-timeline.snippet.js +84 -0
  117. package/lib/runjs-context/snippets/scene/block/resource-example.snippet.d.ts +11 -0
  118. package/lib/runjs-context/snippets/scene/block/resource-example.snippet.js +60 -0
  119. package/lib/runjs-context/snippets/scene/block/three-users-orbit.snippet.d.ts +11 -0
  120. package/lib/runjs-context/snippets/scene/block/three-users-orbit.snippet.js +283 -0
  121. package/lib/runjs-context/snippets/scene/block/vue-component.snippet.d.ts +11 -0
  122. package/lib/runjs-context/snippets/scene/block/vue-component.snippet.js +124 -0
  123. package/lib/runjs-context/snippets/scene/detail/color-by-value.snippet.d.ts +11 -0
  124. package/lib/runjs-context/snippets/scene/{jsfield → detail}/color-by-value.snippet.js +13 -3
  125. package/lib/runjs-context/snippets/scene/detail/copy-to-clipboard.snippet.d.ts +11 -0
  126. package/lib/runjs-context/snippets/{global → scene/detail}/copy-to-clipboard.snippet.js +28 -6
  127. package/lib/runjs-context/snippets/scene/detail/format-number.snippet.d.ts +11 -0
  128. package/lib/runjs-context/snippets/scene/{jsfield → detail}/format-number.snippet.js +13 -3
  129. package/lib/runjs-context/snippets/scene/detail/innerHTML-value.snippet.d.ts +11 -0
  130. package/lib/runjs-context/snippets/scene/{jsfield → detail}/innerHTML-value.snippet.js +13 -3
  131. package/lib/runjs-context/snippets/scene/detail/percentage-bar.snippet.d.ts +11 -0
  132. package/lib/runjs-context/snippets/scene/detail/percentage-bar.snippet.js +82 -0
  133. package/lib/runjs-context/snippets/scene/detail/relative-time.snippet.d.ts +11 -0
  134. package/lib/runjs-context/snippets/scene/detail/relative-time.snippet.js +80 -0
  135. package/lib/runjs-context/snippets/scene/detail/status-tag.snippet.d.ts +11 -0
  136. package/lib/runjs-context/snippets/scene/detail/status-tag.snippet.js +74 -0
  137. package/lib/runjs-context/snippets/scene/form/calculate-total.snippet.d.ts +11 -0
  138. package/lib/runjs-context/snippets/scene/form/calculate-total.snippet.js +63 -0
  139. package/lib/runjs-context/snippets/scene/form/cascade-select.snippet.d.ts +11 -0
  140. package/lib/runjs-context/snippets/scene/form/cascade-select.snippet.js +81 -0
  141. package/lib/runjs-context/snippets/scene/form/conditional-required.snippet.d.ts +11 -0
  142. package/lib/runjs-context/snippets/scene/form/conditional-required.snippet.js +64 -0
  143. package/lib/runjs-context/snippets/scene/form/copy-field-values.snippet.d.ts +11 -0
  144. package/lib/runjs-context/snippets/scene/form/copy-field-values.snippet.js +74 -0
  145. package/lib/runjs-context/snippets/scene/form/render-basic.snippet.d.ts +11 -0
  146. package/lib/runjs-context/snippets/scene/{jsitem → form}/render-basic.snippet.js +11 -2
  147. package/lib/runjs-context/snippets/scene/form/set-disabled.snippet.d.ts +11 -0
  148. package/lib/runjs-context/snippets/scene/{linkage → form}/set-disabled.snippet.js +12 -3
  149. package/lib/runjs-context/snippets/scene/form/set-field-value.snippet.d.ts +11 -0
  150. package/lib/runjs-context/snippets/scene/{linkage → form}/set-field-value.snippet.js +12 -3
  151. package/lib/runjs-context/snippets/scene/form/set-required.snippet.d.ts +11 -0
  152. package/lib/runjs-context/snippets/scene/{linkage → form}/set-required.snippet.js +12 -3
  153. package/lib/runjs-context/snippets/scene/form/toggle-multiple-fields.snippet.d.ts +11 -0
  154. package/lib/runjs-context/snippets/scene/form/toggle-multiple-fields.snippet.js +67 -0
  155. package/lib/runjs-context/snippets/scene/form/toggle-visible.snippet.d.ts +11 -0
  156. package/lib/runjs-context/snippets/scene/{linkage → form}/toggle-visible.snippet.js +12 -3
  157. package/lib/runjs-context/snippets/scene/table/cell-open-dialog.snippet.d.ts +11 -0
  158. package/lib/runjs-context/snippets/scene/table/cell-open-dialog.snippet.js +64 -0
  159. package/lib/runjs-context/snippets/scene/table/collection-selected-count.snippet.d.ts +11 -0
  160. package/lib/runjs-context/snippets/scene/{actions → table}/collection-selected-count.snippet.js +11 -2
  161. package/lib/runjs-context/snippets/scene/table/concat-fields.snippet.d.ts +11 -0
  162. package/lib/runjs-context/snippets/scene/table/concat-fields.snippet.js +79 -0
  163. package/lib/runjs-context/snippets/scene/table/destroy-selected.snippet.d.ts +11 -0
  164. package/lib/runjs-context/snippets/{global/log-json-record.snippet.js → scene/table/destroy-selected.snippet.js} +24 -11
  165. package/lib/runjs-context/snippets/scene/table/export-selected-json.snippet.d.ts +11 -0
  166. package/lib/runjs-context/snippets/scene/table/export-selected-json.snippet.js +64 -0
  167. package/lib/runjs-context/snippets/scene/table/iterate-selected-rows.snippet.d.ts +11 -0
  168. package/lib/runjs-context/snippets/scene/{actions → table}/iterate-selected-rows.snippet.js +11 -2
  169. package/lib/runjs-context/snippets/types.d.ts +9 -1
  170. package/lib/types.d.ts +28 -3
  171. package/lib/types.js +4 -3
  172. package/lib/utils/buildSettingsViewInputArgs.d.ts +19 -0
  173. package/lib/utils/buildSettingsViewInputArgs.js +75 -0
  174. package/lib/utils/createEphemeralContext.d.ts +13 -0
  175. package/lib/utils/createEphemeralContext.js +140 -0
  176. package/lib/utils/index.d.ts +3 -2
  177. package/lib/utils/index.js +5 -2
  178. package/lib/utils/jsxTransform.d.ts +15 -0
  179. package/lib/utils/jsxTransform.js +68 -0
  180. package/lib/utils/params-resolvers.js +3 -3
  181. package/lib/utils/safeGlobals.d.ts +5 -3
  182. package/lib/utils/safeGlobals.js +40 -0
  183. package/lib/utils/schema-utils.js +2 -2
  184. package/lib/utils/serverContextParams.d.ts +1 -0
  185. package/lib/utils/variablesParams.d.ts +9 -5
  186. package/lib/utils/variablesParams.js +47 -36
  187. package/lib/views/PageComponent.js +2 -1
  188. package/lib/views/createViewMeta.d.ts +29 -1
  189. package/lib/views/createViewMeta.js +338 -72
  190. package/lib/views/index.d.ts +1 -0
  191. package/lib/views/index.js +3 -0
  192. package/lib/views/useDialog.d.ts +8 -8
  193. package/lib/views/useDialog.js +8 -7
  194. package/lib/views/useDrawer.d.ts +8 -8
  195. package/lib/views/useDrawer.js +40 -26
  196. package/lib/views/usePage.d.ts +8 -8
  197. package/lib/views/usePage.js +8 -7
  198. package/package.json +5 -3
  199. package/src/BlockScopedFlowEngine.ts +86 -0
  200. package/src/FlowContextProvider.tsx +4 -2
  201. package/src/JSRunner.ts +3 -0
  202. package/src/ViewScopedFlowEngine.ts +1 -1
  203. package/src/__tests__/JSRunner.test.ts +62 -53
  204. package/src/__tests__/blockScopedFlowEngine.test.ts +154 -0
  205. package/src/__tests__/createViewMeta.popup.test.ts +132 -0
  206. package/src/__tests__/flow-engine.test.ts +3 -0
  207. package/src/__tests__/flowContextCreateJSRunner.test.ts +163 -0
  208. package/src/__tests__/flowEngine.saveModel.test.ts +4 -0
  209. package/src/__tests__/flowRunJSContextDefine.test.ts +508 -0
  210. package/src/__tests__/globalFlowRegistry.test.ts +1 -1
  211. package/src/__tests__/runjsContext.test.ts +216 -35
  212. package/src/__tests__/runjsContextImplementations.test.ts +217 -0
  213. package/src/__tests__/runjsContextRuntime.test.ts +269 -0
  214. package/src/__tests__/runjsEdgeCases.test.ts +281 -0
  215. package/src/__tests__/runjsLocales.test.ts +36 -0
  216. package/src/__tests__/runjsRuntimeFeatures.test.ts +449 -0
  217. package/src/__tests__/runjsSnippets.test.ts +140 -0
  218. package/src/__tests__/viewScopedFlowEngine.test.ts +3 -3
  219. package/src/components/DynamicFlowsEditor.tsx +3 -4
  220. package/src/components/FieldModelRenderer.tsx +16 -5
  221. package/src/components/FieldSkeleton.tsx +27 -0
  222. package/src/components/FlowContextSelector.tsx +6 -2
  223. package/src/components/FlowModelRenderer.tsx +30 -78
  224. package/src/components/FormItem.tsx +8 -1
  225. package/src/components/__tests__/flow-model-render-error-fallback.test.tsx +5 -5
  226. package/src/components/__tests__/gridDragPlanner.test.ts +494 -0
  227. package/src/components/dnd/README.md +149 -0
  228. package/src/components/dnd/findModelUidPosition.ts +26 -0
  229. package/src/components/dnd/gridDragPlanner.ts +659 -0
  230. package/src/components/dnd/index.tsx +3 -3
  231. package/src/components/settings/independents/dropdown/FlowsDropdownButton.tsx +1 -1
  232. package/src/components/settings/wrappers/contextual/DefaultSettingsIcon.tsx +17 -4
  233. package/src/components/settings/wrappers/contextual/FlowsContextMenu.tsx +1 -1
  234. package/src/components/settings/wrappers/contextual/StepSettingsDialog.tsx +14 -1
  235. package/src/components/settings/wrappers/contextual/__tests__/DefaultSettingsIcon.test.tsx +424 -0
  236. package/src/components/subModel/__tests__/AddSubModelButton.test.tsx +5 -7
  237. package/src/components/variables/VariableInput.tsx +22 -2
  238. package/src/components/variables/VariableTag.tsx +54 -2
  239. package/src/components/variables/types.ts +2 -0
  240. package/src/data-source/__tests__/sortCollectionsByInherits.test.ts +125 -0
  241. package/src/data-source/index.ts +17 -11
  242. package/src/data-source/sortCollectionsByInherits.ts +61 -0
  243. package/src/executor/FlowExecutor.ts +178 -121
  244. package/src/executor/__tests__/ctx-defs-injection.test.ts +197 -0
  245. package/src/executor/__tests__/flowExecutor.test.ts +151 -5
  246. package/src/flowContext.ts +266 -97
  247. package/src/flowEngine.ts +21 -6
  248. package/src/flowSettings.ts +9 -4
  249. package/src/hooks/useApplyAutoFlows.ts +3 -1
  250. package/src/index.ts +12 -1
  251. package/src/locale/en-US.json +4 -2
  252. package/src/locale/zh-CN.json +4 -2
  253. package/src/models/CollectionFieldModel.tsx +43 -4
  254. package/src/models/__tests__/flowModel.getFlows.sort.test.ts +4 -4
  255. package/src/models/__tests__/flowModel.test.ts +234 -111
  256. package/src/models/__tests__/forkFlowModel.test.ts +22 -7
  257. package/src/models/flowModel.tsx +149 -125
  258. package/src/models/forkFlowModel.ts +41 -8
  259. package/src/provider.tsx +10 -7
  260. package/src/resources/multiRecordResource.ts +2 -0
  261. package/src/resources/singleRecordResource.ts +1 -0
  262. package/src/resources/sqlResource.ts +20 -25
  263. package/src/runjs-context/contexts/FormJSFieldItemRunJSContext.ts +28 -21
  264. package/src/runjs-context/contexts/JSBlockRunJSContext.ts +46 -34
  265. package/src/runjs-context/contexts/JSCollectionActionRunJSContext.ts +15 -16
  266. package/src/runjs-context/contexts/JSColumnRunJSContext.ts +58 -0
  267. package/src/runjs-context/contexts/JSFieldRunJSContext.ts +30 -25
  268. package/src/runjs-context/contexts/JSItemRunJSContext.ts +25 -21
  269. package/src/runjs-context/contexts/JSRecordActionRunJSContext.ts +17 -18
  270. package/src/runjs-context/contexts/base.ts +171 -0
  271. package/src/runjs-context/helpers.ts +32 -30
  272. package/src/runjs-context/registry.ts +16 -47
  273. package/src/runjs-context/setup.ts +51 -0
  274. package/src/runjs-context/snippets/global/api-request.snippet.ts +38 -0
  275. package/src/runjs-context/snippets/global/clipboard-copy-text.snippet.ts +42 -0
  276. package/src/runjs-context/snippets/global/import-esm.snippet.ts +39 -0
  277. package/src/runjs-context/snippets/global/message-error.snippet.ts +6 -0
  278. package/src/runjs-context/snippets/global/message-success.snippet.ts +6 -0
  279. package/src/runjs-context/snippets/global/notification-open.snippet.ts +11 -1
  280. package/src/runjs-context/snippets/global/open-view-dialog.snippet.ts +10 -3
  281. package/src/runjs-context/snippets/global/open-view-drawer.snippet.ts +10 -3
  282. package/src/runjs-context/snippets/global/query-selector.snippet.ts +34 -0
  283. package/src/runjs-context/snippets/global/require-amd.snippet.ts +30 -0
  284. package/src/runjs-context/snippets/global/window-open.snippet.ts +11 -1
  285. package/src/runjs-context/snippets/index.ts +177 -39
  286. package/src/runjs-context/snippets/scene/{jsblock → block}/add-event-listener.snippet.ts +14 -2
  287. package/src/runjs-context/snippets/scene/block/api-fetch-render-list.snippet.ts +45 -0
  288. package/src/runjs-context/snippets/scene/block/chartjs-bar.snippet.ts +80 -0
  289. package/src/runjs-context/snippets/scene/block/echarts-init.snippet.ts +44 -0
  290. package/src/runjs-context/snippets/scene/block/render-button-handler.snippet.ts +35 -0
  291. package/src/runjs-context/snippets/scene/block/render-iframe.snippet.ts +38 -0
  292. package/src/runjs-context/snippets/scene/block/render-info-card.snippet.ts +52 -0
  293. package/src/runjs-context/snippets/scene/block/render-react-jsx.snippet.ts +39 -0
  294. package/src/runjs-context/snippets/scene/block/render-react.snippet.ts +38 -0
  295. package/src/runjs-context/snippets/scene/block/render-statistics.snippet.ts +76 -0
  296. package/src/runjs-context/snippets/scene/block/render-timeline.snippet.ts +65 -0
  297. package/src/runjs-context/snippets/scene/block/resource-example.snippet.ts +46 -0
  298. package/src/runjs-context/snippets/scene/block/three-users-orbit.snippet.ts +264 -0
  299. package/src/runjs-context/snippets/scene/block/vue-component.snippet.ts +105 -0
  300. package/src/runjs-context/snippets/scene/detail/color-by-value.snippet.ts +33 -0
  301. package/src/runjs-context/snippets/scene/detail/copy-to-clipboard.snippet.ts +45 -0
  302. package/src/runjs-context/snippets/scene/detail/format-number.snippet.ts +32 -0
  303. package/src/runjs-context/snippets/scene/detail/innerHTML-value.snippet.ts +31 -0
  304. package/src/runjs-context/snippets/scene/detail/percentage-bar.snippet.ts +63 -0
  305. package/src/runjs-context/snippets/scene/detail/relative-time.snippet.ts +61 -0
  306. package/src/runjs-context/snippets/scene/detail/status-tag.snippet.ts +55 -0
  307. package/src/runjs-context/snippets/scene/form/calculate-total.snippet.ts +44 -0
  308. package/src/runjs-context/snippets/scene/form/cascade-select.snippet.ts +62 -0
  309. package/src/runjs-context/snippets/scene/form/conditional-required.snippet.ts +45 -0
  310. package/src/runjs-context/snippets/scene/form/copy-field-values.snippet.ts +55 -0
  311. package/src/runjs-context/snippets/scene/{jsitem → form}/render-basic.snippet.ts +14 -2
  312. package/src/runjs-context/snippets/scene/{linkage → form}/set-disabled.snippet.ts +15 -3
  313. package/src/runjs-context/snippets/scene/{linkage → form}/set-field-value.snippet.ts +15 -3
  314. package/src/runjs-context/snippets/scene/{linkage → form}/set-required.snippet.ts +15 -3
  315. package/src/runjs-context/snippets/scene/form/toggle-multiple-fields.snippet.ts +48 -0
  316. package/src/runjs-context/snippets/scene/{linkage → form}/toggle-visible.snippet.ts +15 -3
  317. package/src/runjs-context/snippets/scene/table/cell-open-dialog.snippet.ts +45 -0
  318. package/src/runjs-context/snippets/scene/{actions → table}/collection-selected-count.snippet.ts +14 -2
  319. package/src/runjs-context/snippets/scene/table/concat-fields.snippet.ts +60 -0
  320. package/src/runjs-context/snippets/scene/table/destroy-selected.snippet.ts +36 -0
  321. package/src/runjs-context/snippets/scene/table/export-selected-json.snippet.ts +45 -0
  322. package/src/runjs-context/snippets/scene/{actions → table}/iterate-selected-rows.snippet.ts +14 -2
  323. package/src/runjs-context/snippets/types.ts +5 -1
  324. package/src/types.ts +34 -0
  325. package/src/utils/__tests__/jsxTransform.test.ts +38 -0
  326. package/src/utils/__tests__/safeGlobals.test.ts +22 -1
  327. package/src/utils/buildSettingsViewInputArgs.ts +72 -0
  328. package/src/utils/createEphemeralContext.ts +142 -0
  329. package/src/utils/index.ts +2 -2
  330. package/src/utils/jsxTransform.ts +39 -0
  331. package/src/utils/params-resolvers.ts +2 -2
  332. package/src/utils/safeGlobals.ts +49 -3
  333. package/src/utils/schema-utils.ts +1 -1
  334. package/src/utils/serverContextParams.ts +1 -0
  335. package/src/utils/variablesParams.ts +50 -38
  336. package/src/views/PageComponent.tsx +1 -1
  337. package/src/views/createViewMeta.ts +393 -70
  338. package/src/views/index.tsx +1 -0
  339. package/src/views/useDialog.tsx +12 -10
  340. package/src/views/useDrawer.tsx +60 -36
  341. package/src/views/usePage.tsx +13 -10
  342. package/lib/components/dnd/getMousePositionOnElement.d.ts +0 -50
  343. package/lib/components/dnd/getMousePositionOnElement.js +0 -95
  344. package/lib/components/dnd/moveBlock.d.ts +0 -33
  345. package/lib/components/dnd/moveBlock.js +0 -302
  346. package/lib/runjs-context/contexts/FlowRunJSContext.d.ts +0 -38
  347. package/lib/runjs-context/contexts/FlowRunJSContext.js +0 -217
  348. package/lib/runjs-context/contexts/LinkageRunJSContext.js +0 -62
  349. package/lib/runjs-context/index.d.ts +0 -19
  350. package/lib/runjs-context/index.js +0 -57
  351. package/lib/runjs-context/snippets/global/api-request-get.snippet.d.ts +0 -16
  352. package/lib/runjs-context/snippets/global/api-request-get.snippet.js +0 -42
  353. package/lib/runjs-context/snippets/global/api-request-post.snippet.d.ts +0 -16
  354. package/lib/runjs-context/snippets/global/api-request-post.snippet.js +0 -42
  355. package/lib/runjs-context/snippets/global/console-log-ctx.snippet.d.ts +0 -16
  356. package/lib/runjs-context/snippets/global/console-log-ctx.snippet.js +0 -41
  357. package/lib/runjs-context/snippets/global/sleep.snippet.d.ts +0 -16
  358. package/lib/runjs-context/snippets/global/sleep.snippet.js +0 -43
  359. package/lib/runjs-context/snippets/global/try-catch-async.snippet.d.ts +0 -16
  360. package/lib/runjs-context/snippets/global/try-catch-async.snippet.js +0 -44
  361. package/lib/runjs-context/snippets/libs/echarts-init.snippet.d.ts +0 -15
  362. package/lib/runjs-context/snippets/scene/actions/collection-selected-count.snippet.d.ts +0 -15
  363. package/lib/runjs-context/snippets/scene/actions/iterate-selected-rows.snippet.d.ts +0 -15
  364. package/lib/runjs-context/snippets/scene/actions/record-id-message.snippet.d.ts +0 -15
  365. package/lib/runjs-context/snippets/scene/actions/record-id-message.snippet.js +0 -43
  366. package/lib/runjs-context/snippets/scene/actions/run-action-basic.snippet.d.ts +0 -15
  367. package/lib/runjs-context/snippets/scene/actions/run-action-basic.snippet.js +0 -40
  368. package/lib/runjs-context/snippets/scene/jsblock/add-event-listener.snippet.d.ts +0 -15
  369. package/lib/runjs-context/snippets/scene/jsblock/append-style.snippet.d.ts +0 -15
  370. package/lib/runjs-context/snippets/scene/jsblock/append-style.snippet.js +0 -42
  371. package/lib/runjs-context/snippets/scene/jsblock/jsx-mount.snippet.d.ts +0 -15
  372. package/lib/runjs-context/snippets/scene/jsblock/jsx-unmount.snippet.d.ts +0 -15
  373. package/lib/runjs-context/snippets/scene/jsblock/jsx-unmount.snippet.js +0 -41
  374. package/lib/runjs-context/snippets/scene/jsblock/render-basic.snippet.d.ts +0 -15
  375. package/lib/runjs-context/snippets/scene/jsblock/render-basic.snippet.js +0 -41
  376. package/lib/runjs-context/snippets/scene/jsblock/render-button-handler.snippet.d.ts +0 -15
  377. package/lib/runjs-context/snippets/scene/jsblock/render-react.snippet.d.ts +0 -15
  378. package/lib/runjs-context/snippets/scene/jsfield/color-by-value.snippet.d.ts +0 -15
  379. package/lib/runjs-context/snippets/scene/jsfield/format-number.snippet.d.ts +0 -15
  380. package/lib/runjs-context/snippets/scene/jsfield/innerHTML-value.snippet.d.ts +0 -15
  381. package/lib/runjs-context/snippets/scene/jsitem/render-basic.snippet.d.ts +0 -15
  382. package/lib/runjs-context/snippets/scene/linkage/set-disabled.snippet.d.ts +0 -15
  383. package/lib/runjs-context/snippets/scene/linkage/set-field-value.snippet.d.ts +0 -15
  384. package/lib/runjs-context/snippets/scene/linkage/set-required.snippet.d.ts +0 -15
  385. package/lib/runjs-context/snippets/scene/linkage/toggle-visible.snippet.d.ts +0 -15
  386. package/src/components/dnd/getMousePositionOnElement.ts +0 -115
  387. package/src/components/dnd/moveBlock.ts +0 -379
  388. package/src/runjs-context/contexts/FlowRunJSContext.ts +0 -190
  389. package/src/runjs-context/contexts/LinkageRunJSContext.ts +0 -35
  390. package/src/runjs-context/index.ts +0 -20
  391. package/src/runjs-context/snippets/global/api-request-get.snippet.ts +0 -20
  392. package/src/runjs-context/snippets/global/api-request-post.snippet.ts +0 -20
  393. package/src/runjs-context/snippets/global/console-log-ctx.snippet.ts +0 -19
  394. package/src/runjs-context/snippets/global/copy-record-json.snippet.ts +0 -21
  395. package/src/runjs-context/snippets/global/copy-to-clipboard.snippet.ts +0 -21
  396. package/src/runjs-context/snippets/global/log-json-record.snippet.ts +0 -21
  397. package/src/runjs-context/snippets/global/requireAsync.snippet.ts +0 -24
  398. package/src/runjs-context/snippets/global/sleep.snippet.ts +0 -21
  399. package/src/runjs-context/snippets/global/try-catch-async.snippet.ts +0 -22
  400. package/src/runjs-context/snippets/global/view-navigation-push.snippet.ts +0 -23
  401. package/src/runjs-context/snippets/libs/echarts-init.snippet.ts +0 -24
  402. package/src/runjs-context/snippets/scene/actions/record-id-message.snippet.ts +0 -21
  403. package/src/runjs-context/snippets/scene/actions/run-action-basic.snippet.ts +0 -18
  404. package/src/runjs-context/snippets/scene/jsblock/append-style.snippet.ts +0 -20
  405. package/src/runjs-context/snippets/scene/jsblock/jsx-mount.snippet.ts +0 -24
  406. package/src/runjs-context/snippets/scene/jsblock/jsx-unmount.snippet.ts +0 -19
  407. package/src/runjs-context/snippets/scene/jsblock/render-basic.snippet.ts +0 -24
  408. package/src/runjs-context/snippets/scene/jsblock/render-button-handler.snippet.ts +0 -24
  409. package/src/runjs-context/snippets/scene/jsblock/render-card.snippet.ts +0 -30
  410. package/src/runjs-context/snippets/scene/jsblock/render-react.snippet.ts +0 -34
  411. package/src/runjs-context/snippets/scene/jsfield/color-by-value.snippet.ts +0 -20
  412. package/src/runjs-context/snippets/scene/jsfield/format-number.snippet.ts +0 -19
  413. package/src/runjs-context/snippets/scene/jsfield/innerHTML-value.snippet.ts +0 -18
  414. /package/lib/runjs-context/snippets/global/{copy-record-json.snippet.d.ts → api-request.snippet.d.ts} +0 -0
  415. /package/lib/runjs-context/snippets/global/{copy-to-clipboard.snippet.d.ts → clipboard-copy-text.snippet.d.ts} +0 -0
  416. /package/lib/runjs-context/snippets/global/{log-json-record.snippet.d.ts → import-esm.snippet.d.ts} +0 -0
  417. /package/lib/runjs-context/snippets/global/{view-navigation-push.snippet.d.ts → query-selector.snippet.d.ts} +0 -0
  418. /package/lib/runjs-context/snippets/scene/{jsblock/render-card.snippet.d.ts → block/echarts-init.snippet.d.ts} +0 -0
@@ -1,302 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- var __create = Object.create;
11
- var __defProp = Object.defineProperty;
12
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
- var __getOwnPropNames = Object.getOwnPropertyNames;
14
- var __getProtoOf = Object.getPrototypeOf;
15
- var __hasOwnProp = Object.prototype.hasOwnProperty;
16
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
17
- var __export = (target, all) => {
18
- for (var name in all)
19
- __defProp(target, name, { get: all[name], enumerable: true });
20
- };
21
- var __copyProps = (to, from, except, desc) => {
22
- if (from && typeof from === "object" || typeof from === "function") {
23
- for (let key of __getOwnPropNames(from))
24
- if (!__hasOwnProp.call(to, key) && key !== except)
25
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
26
- }
27
- return to;
28
- };
29
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
30
- // If the importer is in node compatibility mode or this is not an ESM
31
- // file that has been converted to a CommonJS file using a Babel-
32
- // compatible transform (i.e. "__esModule" has not been set), then set
33
- // "default" to the CommonJS "module.exports" for node compatibility.
34
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
35
- mod
36
- ));
37
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
- var moveBlock_exports = {};
39
- __export(moveBlock_exports, {
40
- findModelUidPosition: () => findModelUidPosition,
41
- moveBlock: () => moveBlock,
42
- positionToDirection: () => positionToDirection
43
- });
44
- module.exports = __toCommonJS(moveBlock_exports);
45
- var import_shared = require("@formily/shared");
46
- var import_lodash = __toESM(require("lodash"));
47
- var import_getMousePositionOnElement = require("./getMousePositionOnElement");
48
- const findModelUidPosition = /* @__PURE__ */ __name((uid2, rows) => {
49
- let result = null;
50
- for (const [rowId, columns] of Object.entries(rows)) {
51
- for (let columnIndex = 0; columnIndex < columns.length; columnIndex++) {
52
- const column = columns[columnIndex];
53
- for (let itemIndex = 0; itemIndex < column.length; itemIndex++) {
54
- if (column[itemIndex] === uid2) {
55
- result = { rowId, columnIndex, itemIndex };
56
- }
57
- }
58
- }
59
- }
60
- return result;
61
- }, "findModelUidPosition");
62
- const moveBlock = /* @__PURE__ */ __name(({
63
- sourceUid,
64
- targetUid,
65
- direction,
66
- layoutData
67
- }) => {
68
- var _a;
69
- const { rows, sizes } = layoutData;
70
- const newSizes = import_lodash.default.cloneDeep(sizes);
71
- let newRows = import_lodash.default.cloneDeep(rows);
72
- let sourcePosition = null;
73
- let targetPosition = null;
74
- for (const [rowId, columns] of Object.entries(newRows)) {
75
- for (let columnIndex = 0; columnIndex < columns.length; columnIndex++) {
76
- const column = columns[columnIndex];
77
- for (let itemIndex = 0; itemIndex < column.length; itemIndex++) {
78
- if (column[itemIndex] === sourceUid) {
79
- sourcePosition = { rowId, columnIndex, itemIndex };
80
- }
81
- if (column[itemIndex] === targetUid) {
82
- targetPosition = { rowId, columnIndex, itemIndex };
83
- }
84
- }
85
- }
86
- }
87
- if (!sourcePosition || !targetPosition) {
88
- return layoutData;
89
- }
90
- const removeOldSourceUid = /* @__PURE__ */ __name(() => {
91
- var _a2, _b;
92
- newRows[sourcePosition.rowId][sourcePosition.columnIndex].splice(sourcePosition.itemIndex, 1);
93
- if (newRows[sourcePosition.rowId][sourcePosition.columnIndex].length === 0) {
94
- (_a2 = newRows[sourcePosition.rowId]) == null ? void 0 : _a2.splice(sourcePosition.columnIndex, 1);
95
- (_b = newSizes[sourcePosition.rowId]) == null ? void 0 : _b.splice(sourcePosition.columnIndex, 1);
96
- }
97
- if (newRows[sourcePosition.rowId].length === 0) {
98
- delete newRows[sourcePosition.rowId];
99
- delete newSizes[sourcePosition.rowId];
100
- }
101
- for (const [rowId, columns] of Object.entries(newRows)) {
102
- for (let columnIndex = 0; columnIndex < columns.length; columnIndex++) {
103
- const column = columns[columnIndex];
104
- for (let itemIndex = 0; itemIndex < column.length; itemIndex++) {
105
- if (column[itemIndex] === sourceUid) {
106
- sourcePosition = { rowId, columnIndex, itemIndex };
107
- }
108
- if (column[itemIndex] === targetUid) {
109
- targetPosition = { rowId, columnIndex, itemIndex };
110
- }
111
- }
112
- }
113
- }
114
- }, "removeOldSourceUid");
115
- switch (direction) {
116
- case "insert-row-above": {
117
- if (targetPosition.itemIndex > 0) {
118
- return layoutData;
119
- }
120
- removeOldSourceUid();
121
- const newRowId = (0, import_shared.uid)();
122
- newRows = insertKey({
123
- obj: newRows,
124
- newKey: newRowId,
125
- newValue: [[sourceUid]],
126
- referenceKey: targetPosition.rowId,
127
- position: "before"
128
- });
129
- newSizes[newRowId] = [24];
130
- break;
131
- }
132
- case "insert-row-below": {
133
- const nextRowKey = getNextKey(newRows, targetPosition.rowId);
134
- if (nextRowKey === sourcePosition.rowId && newRows[nextRowKey].length === 1) {
135
- return layoutData;
136
- }
137
- removeOldSourceUid();
138
- const newRowId = (0, import_shared.uid)();
139
- newRows = insertKey({
140
- obj: newRows,
141
- newKey: newRowId,
142
- newValue: [[sourceUid]],
143
- referenceKey: targetPosition.rowId,
144
- position: "after"
145
- });
146
- newSizes[newRowId] = [24];
147
- break;
148
- }
149
- case "insert-same-column-above": {
150
- removeOldSourceUid();
151
- const column = newRows[targetPosition.rowId][targetPosition.columnIndex];
152
- if (column[targetPosition.itemIndex - 1] === sourceUid) {
153
- return layoutData;
154
- }
155
- column.splice(targetPosition.itemIndex, 0, sourceUid);
156
- break;
157
- }
158
- case "insert-same-column-below": {
159
- removeOldSourceUid();
160
- const column = newRows[targetPosition.rowId][targetPosition.columnIndex];
161
- if (column[targetPosition.itemIndex + 1] === sourceUid) {
162
- return layoutData;
163
- }
164
- column.splice(targetPosition.itemIndex + 1, 0, sourceUid);
165
- break;
166
- }
167
- case "insert-column-left": {
168
- removeOldSourceUid();
169
- newRows[targetPosition.rowId].splice(targetPosition.columnIndex, 0, [sourceUid]);
170
- const currentSizes = newSizes[targetPosition.rowId] || [];
171
- const columnCount = newRows[targetPosition.rowId].length || 0;
172
- const newColumnWidth = Math.floor(24 / columnCount);
173
- const remainingWidth = 24 - newColumnWidth;
174
- const totalOldWidth = currentSizes.reduce((sum, size) => sum + size, 0);
175
- const adjustedSizes = currentSizes.map((size) => Math.floor(size / totalOldWidth * remainingWidth));
176
- adjustedSizes.splice(targetPosition.columnIndex, 0, newColumnWidth);
177
- const totalNewWidth = adjustedSizes.reduce((sum, size) => sum + size, 0);
178
- if (totalNewWidth < 24) {
179
- adjustedSizes[adjustedSizes.length - 1] += 24 - totalNewWidth;
180
- }
181
- newSizes[targetPosition.rowId] = adjustedSizes;
182
- break;
183
- }
184
- case "insert-column-right": {
185
- removeOldSourceUid();
186
- newRows[targetPosition.rowId].splice(targetPosition.columnIndex + 1, 0, [sourceUid]);
187
- const currentSizes = newSizes[targetPosition.rowId] || [];
188
- const columnCount = ((_a = newRows[targetPosition.rowId]) == null ? void 0 : _a.length) || 0;
189
- const newColumnWidth = Math.floor(24 / columnCount);
190
- const remainingWidth = 24 - newColumnWidth;
191
- const totalOldWidth = currentSizes.reduce((sum, size) => sum + size, 0);
192
- const adjustedSizes = currentSizes.map((size) => Math.floor(size / totalOldWidth * remainingWidth));
193
- adjustedSizes.splice(targetPosition.columnIndex + 1, 0, newColumnWidth);
194
- const totalNewWidth = adjustedSizes.reduce((sum, size) => sum + size, 0);
195
- if (totalNewWidth < 24) {
196
- adjustedSizes[adjustedSizes.length - 1] += 24 - totalNewWidth;
197
- }
198
- newSizes[targetPosition.rowId] = adjustedSizes;
199
- break;
200
- }
201
- }
202
- return recalculateAllRowSizesWithProportion({ rows: newRows, sizes: newSizes });
203
- }, "moveBlock");
204
- const positionToDirection = /* @__PURE__ */ __name((position) => {
205
- switch (position) {
206
- case import_getMousePositionOnElement.ElementPosition.TOP:
207
- return "insert-same-column-above";
208
- case import_getMousePositionOnElement.ElementPosition.BOTTOM:
209
- return "insert-same-column-below";
210
- case import_getMousePositionOnElement.ElementPosition.LEFT:
211
- return "insert-column-left";
212
- case import_getMousePositionOnElement.ElementPosition.RIGHT:
213
- return "insert-column-right";
214
- case import_getMousePositionOnElement.ElementPosition.TOP_EDGE:
215
- return "insert-row-above";
216
- case import_getMousePositionOnElement.ElementPosition.BOTTOM_EDGE:
217
- return "insert-row-below";
218
- case import_getMousePositionOnElement.ElementPosition.LEFT_EDGE:
219
- return "insert-column-left";
220
- case import_getMousePositionOnElement.ElementPosition.RIGHT_EDGE:
221
- return "insert-column-right";
222
- default:
223
- throw new Error(`Unsupported position: ${position}`);
224
- }
225
- }, "positionToDirection");
226
- function insertKey({
227
- obj,
228
- newKey,
229
- newValue,
230
- referenceKey,
231
- position
232
- }) {
233
- const result = {};
234
- for (const [key, value] of Object.entries(obj)) {
235
- if (position === "before" && key === referenceKey) {
236
- result[newKey] = newValue;
237
- }
238
- result[key] = value;
239
- if (position === "after" && key === referenceKey) {
240
- result[newKey] = newValue;
241
- }
242
- }
243
- return result;
244
- }
245
- __name(insertKey, "insertKey");
246
- function getNextKey(obj, currentKey) {
247
- const keys = Object.keys(obj);
248
- const index = keys.indexOf(currentKey);
249
- return index >= 0 && index < keys.length - 1 ? keys[index + 1] : null;
250
- }
251
- __name(getNextKey, "getNextKey");
252
- function recalculateAllRowSizesWithProportion(layoutData) {
253
- const { rows, sizes } = layoutData;
254
- const newSizes = import_lodash.default.cloneDeep(sizes);
255
- for (const [rowId, columns] of Object.entries(rows)) {
256
- const columnCount = columns.length;
257
- const currentSizes = sizes[rowId] || [];
258
- if (columnCount === 0) {
259
- continue;
260
- }
261
- if (currentSizes.length !== columnCount || currentSizes.every((size) => size === 0)) {
262
- const baseWidth = Math.floor(24 / columnCount);
263
- const remainder = 24 % columnCount;
264
- const newRowSizes = new Array(columnCount).fill(baseWidth);
265
- for (let i = 0; i < remainder; i++) {
266
- newRowSizes[i] += 1;
267
- }
268
- newSizes[rowId] = newRowSizes;
269
- continue;
270
- }
271
- const currentTotal = currentSizes.reduce((sum, size) => sum + size, 0);
272
- if (currentTotal === 0) {
273
- const baseWidth = Math.floor(24 / columnCount);
274
- const remainder = 24 % columnCount;
275
- const newRowSizes = new Array(columnCount).fill(baseWidth);
276
- for (let i = 0; i < remainder; i++) {
277
- newRowSizes[i] += 1;
278
- }
279
- newSizes[rowId] = newRowSizes;
280
- } else {
281
- const newRowSizes = currentSizes.map((size) => Math.floor(size / currentTotal * 24));
282
- const actualTotal = newRowSizes.reduce((sum, size) => sum + size, 0);
283
- const diff = 24 - actualTotal;
284
- for (let i = newRowSizes.length - 1; i >= 0 && diff > 0; i--) {
285
- const add = Math.min(diff, 1);
286
- newRowSizes[i] += add;
287
- }
288
- newSizes[rowId] = newRowSizes;
289
- }
290
- }
291
- return {
292
- rows,
293
- sizes: newSizes
294
- };
295
- }
296
- __name(recalculateAllRowSizesWithProportion, "recalculateAllRowSizesWithProportion");
297
- // Annotate the CommonJS export names for ESM import in node:
298
- 0 && (module.exports = {
299
- findModelUidPosition,
300
- moveBlock,
301
- positionToDirection
302
- });
@@ -1,38 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
- import type { FlowContext } from '../../flowContext';
10
- export type RunJSVersion = 'v1' | (string & {});
11
- export type RunJSContextCtor = new (delegate: FlowContext) => FlowRunJSContext;
12
- export type RunJSDocMeta = {
13
- label?: string;
14
- properties?: Record<string, any>;
15
- methods?: Record<string, any>;
16
- snipastes?: Record<string, any>;
17
- };
18
- export declare class FlowRunJSContext {
19
- #private;
20
- protected _delegate: FlowContext;
21
- [key: string]: any;
22
- static allow?: {
23
- keys?: ReadonlyArray<string>;
24
- facades?: Record<string, ReadonlyArray<string>>;
25
- };
26
- constructor(delegate: FlowContext);
27
- defineProperty(key: string, options: {
28
- get?: (ctx: any) => any;
29
- value?: any;
30
- }): void;
31
- defineMethod(name: string, fn: (...args: any[]) => any): void;
32
- static injectDefaultGlobals?(): {
33
- window?: any;
34
- document?: any;
35
- } | void;
36
- static define(meta: RunJSDocMeta): void;
37
- static getDoc(): RunJSDocMeta;
38
- }
@@ -1,217 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- var __create = Object.create;
11
- var __defProp = Object.defineProperty;
12
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
- var __getOwnPropNames = Object.getOwnPropertyNames;
14
- var __getProtoOf = Object.getPrototypeOf;
15
- var __hasOwnProp = Object.prototype.hasOwnProperty;
16
- var __typeError = (msg) => {
17
- throw TypeError(msg);
18
- };
19
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
20
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
21
- var __export = (target, all) => {
22
- for (var name in all)
23
- __defProp(target, name, { get: all[name], enumerable: true });
24
- };
25
- var __copyProps = (to, from, except, desc) => {
26
- if (from && typeof from === "object" || typeof from === "function") {
27
- for (let key of __getOwnPropNames(from))
28
- if (!__hasOwnProp.call(to, key) && key !== except)
29
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
30
- }
31
- return to;
32
- };
33
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
34
- // If the importer is in node compatibility mode or this is not an ESM
35
- // file that has been converted to a CommonJS file using a Babel-
36
- // compatible transform (i.e. "__esModule" has not been set), then set
37
- // "default" to the CommonJS "module.exports" for node compatibility.
38
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
39
- mod
40
- ));
41
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
42
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
43
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
44
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
45
- var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
46
- var FlowRunJSContext_exports = {};
47
- __export(FlowRunJSContext_exports, {
48
- FlowRunJSContext: () => FlowRunJSContext
49
- });
50
- module.exports = __toCommonJS(FlowRunJSContext_exports);
51
- var antd = __toESM(require("antd"));
52
- var import_react = __toESM(require("react"));
53
- var ReactDOMClient = __toESM(require("react-dom/client"));
54
- var _FlowRunJSContext_instances, exposeProps_fn, exposeMethods_fn;
55
- const classMeta = /* @__PURE__ */ new WeakMap();
56
- const classDocCache = /* @__PURE__ */ new WeakMap();
57
- function deepMerge(base, patch) {
58
- if (patch === null) return void 0;
59
- if (Array.isArray(base) || Array.isArray(patch) || typeof base !== "object" || typeof patch !== "object") {
60
- return patch ?? base;
61
- }
62
- const out = { ...base };
63
- for (const k of Object.keys(patch)) {
64
- const v = deepMerge(base == null ? void 0 : base[k], patch[k]);
65
- if (typeof v === "undefined") delete out[k];
66
- else out[k] = v;
67
- }
68
- return out;
69
- }
70
- __name(deepMerge, "deepMerge");
71
- const _FlowRunJSContext = class _FlowRunJSContext {
72
- constructor(delegate) {
73
- __privateAdd(this, _FlowRunJSContext_instances);
74
- __publicField(this, "_delegate");
75
- this._delegate = delegate;
76
- const self = this;
77
- self.React = import_react.default;
78
- self.react = import_react.default;
79
- self.antd = antd;
80
- self.ReactDOM = ReactDOMClient;
81
- self.dispatchModelEvent = async (modelOrUid, eventName, inputArgs) => {
82
- var _a, _b, _c, _d, _e, _f, _g, _h;
83
- let model = null;
84
- const engine = this._delegate.engine;
85
- if (typeof modelOrUid === "string") {
86
- model = await ((_a = engine == null ? void 0 : engine.loadModel) == null ? void 0 : _a.call(engine, { uid: modelOrUid }));
87
- } else if (modelOrUid && typeof modelOrUid === "object" && typeof modelOrUid.dispatchEvent === "function") {
88
- model = modelOrUid;
89
- }
90
- if (model) {
91
- (_c = (_b = model.context) == null ? void 0 : _b.addDelegate) == null ? void 0 : _c.call(_b, self);
92
- model.dispatchEvent(eventName, {
93
- navigation: false,
94
- ...((_e = (_d = self.model) == null ? void 0 : _d["getInputArgs"]) == null ? void 0 : _e.call(_d)) || {},
95
- ...inputArgs || {}
96
- });
97
- } else {
98
- (_h = (_f = self.message) == null ? void 0 : _f.error) == null ? void 0 : _h.call(
99
- _f,
100
- ((_g = self.t) == null ? void 0 : _g.call(self, "Model with ID {{uid}} not found", { uid: String(modelOrUid) })) || "Model not found"
101
- );
102
- }
103
- };
104
- __privateMethod(this, _FlowRunJSContext_instances, exposeProps_fn).call(this, [
105
- "message",
106
- "notification",
107
- "logger",
108
- "resource",
109
- "urlSearchParams",
110
- "token",
111
- "role",
112
- "auth",
113
- "api",
114
- "ref",
115
- "model"
116
- ]);
117
- __privateMethod(this, _FlowRunJSContext_instances, exposeMethods_fn).call(this, ["t", "requireAsync", "copyToClipboard", "resolveJsonTemplate", "runAction", "onRefReady"]);
118
- }
119
- // 供子类/外部一致使用的定义 API(与 FlowContext 的接口保持一致风格)
120
- defineProperty(key, options) {
121
- if (options && typeof options.get === "function") {
122
- Object.defineProperty(this, key, {
123
- configurable: true,
124
- enumerable: true,
125
- get: /* @__PURE__ */ __name(() => {
126
- var _a;
127
- return (_a = options.get) == null ? void 0 : _a.call(options, this);
128
- }, "get")
129
- });
130
- return;
131
- }
132
- Object.defineProperty(this, key, {
133
- configurable: true,
134
- enumerable: true,
135
- writable: false,
136
- value: options == null ? void 0 : options.value
137
- });
138
- }
139
- defineMethod(name, fn) {
140
- Object.defineProperty(this, name, {
141
- configurable: true,
142
- enumerable: false,
143
- writable: false,
144
- value: fn.bind(this)
145
- });
146
- }
147
- static define(meta) {
148
- const prev = classMeta.get(this) || {};
149
- classMeta.set(this, deepMerge(prev, meta));
150
- classDocCache.delete(this);
151
- }
152
- static getDoc() {
153
- const self = this;
154
- if (classDocCache.has(self)) return classDocCache.get(self);
155
- const chain = [];
156
- let cur = self;
157
- while (cur && cur.prototype) {
158
- chain.unshift(cur);
159
- cur = Object.getPrototypeOf(cur);
160
- }
161
- let merged = {};
162
- for (const cls of chain) merged = deepMerge(merged, classMeta.get(cls) || {});
163
- classDocCache.set(self, merged);
164
- return merged;
165
- }
166
- };
167
- _FlowRunJSContext_instances = new WeakSet();
168
- // 工具:将委托上的属性以 getter 暴露
169
- exposeProps_fn = /* @__PURE__ */ __name(function(names) {
170
- for (const k of names) {
171
- if (Object.prototype.hasOwnProperty.call(this, k)) continue;
172
- this.defineProperty(k, { get: /* @__PURE__ */ __name(() => this._delegate[k], "get") });
173
- }
174
- }, "#exposeProps");
175
- // 工具:将委托上的同名方法绑定暴露
176
- exposeMethods_fn = /* @__PURE__ */ __name(function(names) {
177
- for (const k of names) {
178
- if (Object.prototype.hasOwnProperty.call(this, k)) continue;
179
- const src = this._delegate[k];
180
- if (typeof src === "function") {
181
- this.defineMethod(k, src.bind(this._delegate));
182
- }
183
- }
184
- }, "#exposeMethods");
185
- __name(_FlowRunJSContext, "FlowRunJSContext");
186
- __publicField(_FlowRunJSContext, "allow");
187
- let FlowRunJSContext = _FlowRunJSContext;
188
- FlowRunJSContext.define({
189
- label: "RunJS base",
190
- properties: {
191
- t: "\u56FD\u9645\u5316\u51FD\u6570\u3002\u793A\u4F8B\uFF1A`ctx.t('Hello {name}', { name: 'World' })`",
192
- logger: "Pino logger \u5B50\u5B9E\u4F8B\u3002`ctx.logger.info({ foo: 1 }, 'msg')`",
193
- message: "AntD \u5168\u5C40\u6D88\u606F\u3002`ctx.message.success('done')`",
194
- notification: "AntD \u901A\u77E5\u3002`ctx.notification.open({ message: 'Hi' })`",
195
- requireAsync: "\u5F02\u6B65\u52A0\u8F7D\u5916\u90E8\u5E93\u3002`const x = await ctx.requireAsync(url)`",
196
- copyToClipboard: "\u590D\u5236\u6587\u672C\u5230\u526A\u8D34\u677F\u3002`await ctx.copyToClipboard(text)`",
197
- resolveJsonTemplate: "\u89E3\u6790\u542B {{ }} \u7684\u6A21\u677F/\u8868\u8FBE\u5F0F",
198
- runAction: "\u8FD0\u884C\u5F53\u524D\u6A21\u578B\u52A8\u4F5C\u3002`await ctx.runAction(name, params)`",
199
- resource: "\u6570\u636E\u8D44\u6E90\uFF08\u6309\u59D4\u6258\u53EF\u89C1\uFF09",
200
- urlSearchParams: "URL \u67E5\u8BE2\u53C2\u6570\u5BF9\u8C61",
201
- token: "API Token",
202
- role: "\u5F53\u524D\u89D2\u8272",
203
- auth: "\u8BA4\u8BC1\u4FE1\u606F\uFF08locale/role/user/token\uFF09",
204
- api: "APIClient \u5B9E\u4F8B",
205
- React: "React \u547D\u540D\u7A7A\u95F4\uFF08RunJS \u73AF\u5883\u53EF\u7528\uFF09",
206
- react: "React \u522B\u540D\uFF08\u5C0F\u5199\uFF09",
207
- ReactDOM: "ReactDOM \u5BA2\u6237\u7AEF\uFF08\u542B createRoot\uFF09",
208
- antd: "AntD \u7EC4\u4EF6\u5E93\uFF08RunJS \u73AF\u5883\u53EF\u7528\uFF09"
209
- },
210
- methods: {
211
- dispatchModelEvent: "\u89E6\u53D1\u6A21\u578B\u4E8B\u4EF6\uFF1A`await ctx.dispatchModelEvent(modelUid, 'click', { ... })`"
212
- }
213
- });
214
- // Annotate the CommonJS export names for ESM import in node:
215
- 0 && (module.exports = {
216
- FlowRunJSContext
217
- });
@@ -1,62 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- var __defProp = Object.defineProperty;
11
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
- var __getOwnPropNames = Object.getOwnPropertyNames;
13
- var __hasOwnProp = Object.prototype.hasOwnProperty;
14
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
15
- var __export = (target, all) => {
16
- for (var name in all)
17
- __defProp(target, name, { get: all[name], enumerable: true });
18
- };
19
- var __copyProps = (to, from, except, desc) => {
20
- if (from && typeof from === "object" || typeof from === "function") {
21
- for (let key of __getOwnPropNames(from))
22
- if (!__hasOwnProp.call(to, key) && key !== except)
23
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
24
- }
25
- return to;
26
- };
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var LinkageRunJSContext_exports = {};
29
- __export(LinkageRunJSContext_exports, {
30
- LinkageRunJSContext: () => LinkageRunJSContext
31
- });
32
- module.exports = __toCommonJS(LinkageRunJSContext_exports);
33
- var import_FlowRunJSContext = require("./FlowRunJSContext");
34
- const _LinkageRunJSContext = class _LinkageRunJSContext extends import_FlowRunJSContext.FlowRunJSContext {
35
- constructor(delegate) {
36
- super(delegate);
37
- this.defineProperty("model", { get: /* @__PURE__ */ __name(() => this._delegate["model"], "get") });
38
- this.defineProperty("fields", { get: /* @__PURE__ */ __name(() => this._delegate["fields"], "get") });
39
- }
40
- };
41
- __name(_LinkageRunJSContext, "LinkageRunJSContext");
42
- let LinkageRunJSContext = _LinkageRunJSContext;
43
- LinkageRunJSContext.define({
44
- label: "Linkage RunJS context",
45
- properties: {
46
- model: "\u5F53\u524D\u5757/\u5B57\u6BB5\u6A21\u578B\uFF08\u53EA\u8BFB\u8BBF\u95EE\uFF09",
47
- fields: "\u53EF\u8BBF\u95EE\u7684\u5B57\u6BB5\u96C6\u5408\uFF08\u53EA\u8BFB\uFF09"
48
- },
49
- methods: {
50
- message: "Message API"
51
- },
52
- snipastes: {
53
- "Set field value": { $ref: "scene/linkage/set-field-value", prefix: "sn-link-set" },
54
- "Toggle visible": { $ref: "scene/linkage/toggle-visible", prefix: "sn-link-visibility" },
55
- "Set disabled": { $ref: "scene/linkage/set-disabled", prefix: "sn-link-disable" },
56
- "Set required": { $ref: "scene/linkage/set-required", prefix: "sn-link-required" }
57
- }
58
- });
59
- // Annotate the CommonJS export names for ESM import in node:
60
- 0 && (module.exports = {
61
- LinkageRunJSContext
62
- });
@@ -1,19 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
- export * from './registry';
10
- export * from './helpers';
11
- export * from './contexts/FlowRunJSContext';
12
- export * from './contexts/JSBlockRunJSContext';
13
- export * from './contexts/JSFieldRunJSContext';
14
- export * from './contexts/JSItemRunJSContext';
15
- export * from './contexts/FormJSFieldItemRunJSContext';
16
- export * from './contexts/JSRecordActionRunJSContext';
17
- export * from './contexts/JSCollectionActionRunJSContext';
18
- export * from './contexts/LinkageRunJSContext';
19
- export { engineSnippets } from './snippets';