@nocobase/flow-engine 2.0.0-alpha.2 → 2.0.0-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/BlockScopedFlowEngine.d.ts +23 -0
- package/lib/BlockScopedFlowEngine.js +90 -0
- package/lib/FlowContextProvider.d.ts +2 -2
- package/lib/FlowContextProvider.js +3 -3
- package/lib/FlowDefinition.d.ts +2 -2
- package/lib/JSRunner.js +3 -0
- package/lib/ViewScopedFlowEngine.d.ts +1 -1
- package/lib/components/FieldModelRenderer.js +10 -4
- package/lib/components/FieldSkeleton.d.ts +10 -0
- package/lib/components/FieldSkeleton.js +64 -0
- package/lib/components/FlowContextSelector.js +7 -2
- package/lib/components/FlowModelRenderer.d.ts +2 -5
- package/lib/components/FlowModelRenderer.js +16 -47
- package/lib/components/FormItem.js +5 -1
- package/lib/{runjs-context/snippets/global/requireAsync.snippet.d.ts → components/dnd/findModelUidPosition.d.ts} +4 -7
- package/lib/{runjs-context/snippets/scene/jsblock/jsx-mount.snippet.js → components/dnd/findModelUidPosition.js} +23 -19
- package/lib/components/dnd/gridDragPlanner.d.ts +130 -0
- package/lib/components/dnd/gridDragPlanner.js +497 -0
- package/lib/components/dnd/index.d.ts +2 -2
- package/lib/components/dnd/index.js +5 -5
- package/lib/components/settings/wrappers/contextual/StepSettingsDialog.js +7 -1
- package/lib/components/variables/VariableInput.js +16 -2
- package/lib/components/variables/VariableTag.js +43 -2
- package/lib/components/variables/types.d.ts +2 -0
- package/lib/data-source/index.d.ts +12 -4
- package/lib/data-source/index.js +18 -12
- package/lib/data-source/sortCollectionsByInherits.d.ts +10 -0
- package/lib/data-source/sortCollectionsByInherits.js +71 -0
- package/lib/executor/FlowExecutor.d.ts +4 -5
- package/lib/executor/FlowExecutor.js +122 -94
- package/lib/flowContext.d.ts +33 -5
- package/lib/flowContext.js +145 -74
- package/lib/flowEngine.d.ts +8 -1
- package/lib/flowEngine.js +12 -2
- package/lib/flowSettings.d.ts +2 -1
- package/lib/flowSettings.js +7 -3
- package/lib/hooks/useApplyAutoFlows.js +2 -1
- package/lib/index.d.ts +6 -1
- package/lib/index.js +29 -3
- package/lib/models/CollectionFieldModel.d.ts +2 -0
- package/lib/models/CollectionFieldModel.js +43 -3
- package/lib/models/flowModel.d.ts +28 -29
- package/lib/models/flowModel.js +110 -88
- package/lib/models/forkFlowModel.d.ts +2 -2
- package/lib/models/forkFlowModel.js +29 -6
- package/lib/provider.d.ts +3 -1
- package/lib/provider.js +7 -5
- package/lib/resources/multiRecordResource.js +2 -0
- package/lib/resources/singleRecordResource.js +1 -0
- package/lib/runjs-context/contexts/FormJSFieldItemRunJSContext.d.ts +1 -6
- package/lib/runjs-context/contexts/FormJSFieldItemRunJSContext.js +27 -20
- package/lib/runjs-context/contexts/JSBlockRunJSContext.d.ts +1 -6
- package/lib/runjs-context/contexts/JSBlockRunJSContext.js +46 -33
- package/lib/runjs-context/contexts/JSCollectionActionRunJSContext.d.ts +1 -2
- package/lib/runjs-context/contexts/JSCollectionActionRunJSContext.js +14 -15
- package/lib/runjs-context/contexts/{LinkageRunJSContext.d.ts → JSColumnRunJSContext.d.ts} +6 -3
- package/lib/runjs-context/contexts/JSColumnRunJSContext.js +78 -0
- package/lib/runjs-context/contexts/JSFieldRunJSContext.d.ts +1 -6
- package/lib/runjs-context/contexts/JSFieldRunJSContext.js +28 -24
- package/lib/runjs-context/contexts/JSItemRunJSContext.d.ts +1 -6
- package/lib/runjs-context/contexts/JSItemRunJSContext.js +24 -20
- package/lib/runjs-context/contexts/JSRecordActionRunJSContext.d.ts +1 -2
- package/lib/runjs-context/contexts/JSRecordActionRunJSContext.js +16 -17
- package/lib/runjs-context/contexts/base.d.ts +9 -0
- package/lib/runjs-context/contexts/base.js +169 -0
- package/lib/runjs-context/helpers.d.ts +5 -2
- package/lib/runjs-context/helpers.js +36 -27
- package/lib/runjs-context/registry.d.ts +7 -4
- package/lib/runjs-context/registry.js +10 -42
- package/lib/runjs-context/setup.d.ts +9 -0
- package/lib/runjs-context/setup.js +82 -0
- package/lib/runjs-context/snippets/global/{copy-record-json.snippet.js → api-request.snippet.js} +25 -10
- package/lib/runjs-context/snippets/global/clipboard-copy-text.snippet.js +61 -0
- package/lib/runjs-context/snippets/global/{view-navigation-push.snippet.js → import-esm.snippet.js} +26 -12
- package/lib/runjs-context/snippets/global/message-error.snippet.js +6 -0
- package/lib/runjs-context/snippets/global/message-success.snippet.js +6 -0
- package/lib/runjs-context/snippets/global/notification-open.snippet.d.ts +3 -8
- package/lib/runjs-context/snippets/global/notification-open.snippet.js +8 -1
- package/lib/runjs-context/snippets/global/open-view-dialog.snippet.js +10 -3
- package/lib/runjs-context/snippets/global/open-view-drawer.snippet.js +10 -3
- package/lib/runjs-context/snippets/global/query-selector.snippet.js +53 -0
- package/lib/runjs-context/snippets/global/require-amd.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/global/{requireAsync.snippet.js → require-amd.snippet.js} +16 -13
- package/lib/runjs-context/snippets/global/window-open.snippet.d.ts +3 -8
- package/lib/runjs-context/snippets/global/window-open.snippet.js +8 -1
- package/lib/runjs-context/snippets/index.d.ts +14 -3
- package/lib/runjs-context/snippets/index.js +160 -40
- package/lib/runjs-context/snippets/scene/block/add-event-listener.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsblock → block}/add-event-listener.snippet.js +11 -2
- package/lib/runjs-context/snippets/scene/block/api-fetch-render-list.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/api-fetch-render-list.snippet.js +64 -0
- package/lib/runjs-context/snippets/scene/block/chartjs-bar.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/chartjs-bar.snippet.js +99 -0
- package/lib/runjs-context/snippets/{libs → scene/block}/echarts-init.snippet.js +24 -7
- package/lib/runjs-context/snippets/scene/block/render-button-handler.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsblock → block}/render-button-handler.snippet.js +12 -6
- package/lib/runjs-context/snippets/scene/block/render-iframe.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/render-iframe.snippet.js +57 -0
- package/lib/runjs-context/snippets/scene/block/render-info-card.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/render-info-card.snippet.js +72 -0
- package/lib/runjs-context/snippets/scene/block/render-react.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsblock → block}/render-react.snippet.js +12 -11
- package/lib/runjs-context/snippets/scene/block/render-statistics.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/render-statistics.snippet.js +100 -0
- package/lib/runjs-context/snippets/scene/block/render-timeline.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/render-timeline.snippet.js +85 -0
- package/lib/runjs-context/snippets/scene/block/resource-example.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/resource-example.snippet.js +60 -0
- package/lib/runjs-context/snippets/scene/block/three-users-orbit.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/three-users-orbit.snippet.js +283 -0
- package/lib/runjs-context/snippets/scene/block/vue-component.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/block/vue-component.snippet.js +124 -0
- package/lib/runjs-context/snippets/scene/detail/color-by-value.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsfield → detail}/color-by-value.snippet.js +13 -3
- package/lib/runjs-context/snippets/scene/detail/copy-to-clipboard.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/{global → scene/detail}/copy-to-clipboard.snippet.js +28 -6
- package/lib/runjs-context/snippets/scene/detail/format-number.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsfield → detail}/format-number.snippet.js +13 -3
- package/lib/runjs-context/snippets/scene/detail/innerHTML-value.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsfield → detail}/innerHTML-value.snippet.js +13 -3
- package/lib/runjs-context/snippets/scene/detail/percentage-bar.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/detail/percentage-bar.snippet.js +82 -0
- package/lib/runjs-context/snippets/scene/detail/relative-time.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/detail/relative-time.snippet.js +80 -0
- package/lib/runjs-context/snippets/scene/detail/status-tag.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/detail/status-tag.snippet.js +74 -0
- package/lib/runjs-context/snippets/scene/form/calculate-total.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/form/calculate-total.snippet.js +63 -0
- package/lib/runjs-context/snippets/scene/form/cascade-select.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/form/cascade-select.snippet.js +81 -0
- package/lib/runjs-context/snippets/scene/form/conditional-required.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/form/conditional-required.snippet.js +64 -0
- package/lib/runjs-context/snippets/scene/form/copy-field-values.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/form/copy-field-values.snippet.js +74 -0
- package/lib/runjs-context/snippets/scene/form/render-basic.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsitem → form}/render-basic.snippet.js +11 -2
- package/lib/runjs-context/snippets/scene/form/set-disabled.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{linkage → form}/set-disabled.snippet.js +12 -3
- package/lib/runjs-context/snippets/scene/form/set-field-value.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{linkage → form}/set-field-value.snippet.js +12 -3
- package/lib/runjs-context/snippets/scene/form/set-required.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{linkage → form}/set-required.snippet.js +12 -3
- package/lib/runjs-context/snippets/scene/form/toggle-multiple-fields.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/form/toggle-multiple-fields.snippet.js +67 -0
- package/lib/runjs-context/snippets/scene/form/toggle-visible.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{linkage → form}/toggle-visible.snippet.js +12 -3
- package/lib/runjs-context/snippets/scene/table/cell-open-dialog.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/table/cell-open-dialog.snippet.js +64 -0
- package/lib/runjs-context/snippets/scene/table/collection-selected-count.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{actions → table}/collection-selected-count.snippet.js +11 -2
- package/lib/runjs-context/snippets/scene/table/concat-fields.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/table/concat-fields.snippet.js +79 -0
- package/lib/runjs-context/snippets/scene/table/destroy-selected.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/{global/log-json-record.snippet.js → scene/table/destroy-selected.snippet.js} +24 -11
- package/lib/runjs-context/snippets/scene/table/export-selected-json.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/table/export-selected-json.snippet.js +64 -0
- package/lib/runjs-context/snippets/scene/table/iterate-selected-rows.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{actions → table}/iterate-selected-rows.snippet.js +11 -2
- package/lib/runjs-context/snippets/types.d.ts +9 -1
- package/lib/types.d.ts +15 -3
- package/lib/types.js +4 -3
- package/lib/utils/buildSettingsViewInputArgs.d.ts +19 -0
- package/lib/utils/buildSettingsViewInputArgs.js +75 -0
- package/lib/utils/index.d.ts +3 -2
- package/lib/utils/index.js +5 -2
- package/lib/utils/params-resolvers.js +2 -2
- package/lib/utils/safeGlobals.d.ts +5 -3
- package/lib/utils/safeGlobals.js +40 -0
- package/lib/utils/serverContextParams.d.ts +1 -0
- package/lib/utils/variablesParams.d.ts +9 -5
- package/lib/utils/variablesParams.js +47 -36
- package/lib/views/PageComponent.js +2 -1
- package/lib/views/createViewMeta.d.ts +29 -1
- package/lib/views/createViewMeta.js +321 -72
- package/lib/views/index.d.ts +1 -0
- package/lib/views/index.js +3 -0
- package/lib/views/useDialog.d.ts +8 -8
- package/lib/views/useDialog.js +8 -7
- package/lib/views/useDrawer.d.ts +8 -8
- package/lib/views/useDrawer.js +40 -26
- package/lib/views/usePage.d.ts +8 -8
- package/lib/views/usePage.js +8 -7
- package/package.json +4 -3
- package/src/BlockScopedFlowEngine.ts +86 -0
- package/src/FlowContextProvider.tsx +4 -2
- package/src/JSRunner.ts +3 -0
- package/src/ViewScopedFlowEngine.ts +1 -1
- package/src/__tests__/JSRunner.test.ts +62 -53
- package/src/__tests__/blockScopedFlowEngine.test.ts +154 -0
- package/src/__tests__/flow-engine.test.ts +3 -0
- package/src/__tests__/flowContextCreateJSRunner.test.ts +163 -0
- package/src/__tests__/flowEngine.saveModel.test.ts +4 -0
- package/src/__tests__/flowRunJSContextDefine.test.ts +508 -0
- package/src/__tests__/globalFlowRegistry.test.ts +1 -1
- package/src/__tests__/runjsContext.test.ts +216 -35
- package/src/__tests__/runjsContextImplementations.test.ts +217 -0
- package/src/__tests__/runjsContextRuntime.test.ts +269 -0
- package/src/__tests__/runjsEdgeCases.test.ts +281 -0
- package/src/__tests__/runjsLocales.test.ts +36 -0
- package/src/__tests__/runjsRuntimeFeatures.test.ts +449 -0
- package/src/__tests__/runjsSnippets.test.ts +140 -0
- package/src/__tests__/viewScopedFlowEngine.test.ts +3 -3
- package/src/components/DynamicFlowsEditor.tsx +3 -4
- package/src/components/FieldModelRenderer.tsx +16 -5
- package/src/components/FieldSkeleton.tsx +27 -0
- package/src/components/FlowContextSelector.tsx +6 -2
- package/src/components/FlowModelRenderer.tsx +30 -78
- package/src/components/FormItem.tsx +8 -1
- package/src/components/__tests__/flow-model-render-error-fallback.test.tsx +5 -5
- package/src/components/__tests__/gridDragPlanner.test.ts +494 -0
- package/src/components/dnd/README.md +149 -0
- package/src/components/dnd/findModelUidPosition.ts +26 -0
- package/src/components/dnd/gridDragPlanner.ts +659 -0
- package/src/components/dnd/index.tsx +3 -3
- package/src/components/settings/wrappers/contextual/StepSettingsDialog.tsx +14 -1
- package/src/components/subModel/__tests__/AddSubModelButton.test.tsx +1 -0
- package/src/components/variables/VariableInput.tsx +22 -2
- package/src/components/variables/VariableTag.tsx +54 -2
- package/src/components/variables/types.ts +2 -0
- package/src/data-source/__tests__/sortCollectionsByInherits.test.ts +125 -0
- package/src/data-source/index.ts +16 -10
- package/src/data-source/sortCollectionsByInherits.ts +61 -0
- package/src/executor/FlowExecutor.ts +160 -114
- package/src/executor/__tests__/flowExecutor.test.ts +151 -5
- package/src/flowContext.ts +196 -93
- package/src/flowEngine.ts +13 -2
- package/src/flowSettings.ts +8 -3
- package/src/hooks/useApplyAutoFlows.ts +3 -1
- package/src/index.ts +11 -1
- package/src/models/CollectionFieldModel.tsx +43 -4
- package/src/models/__tests__/flowModel.getFlows.sort.test.ts +4 -4
- package/src/models/__tests__/flowModel.test.ts +218 -95
- package/src/models/flowModel.tsx +146 -122
- package/src/models/forkFlowModel.ts +37 -5
- package/src/provider.tsx +10 -7
- package/src/resources/multiRecordResource.ts +2 -0
- package/src/resources/singleRecordResource.ts +1 -0
- package/src/runjs-context/contexts/FormJSFieldItemRunJSContext.ts +28 -21
- package/src/runjs-context/contexts/JSBlockRunJSContext.ts +46 -34
- package/src/runjs-context/contexts/JSCollectionActionRunJSContext.ts +15 -16
- package/src/runjs-context/contexts/JSColumnRunJSContext.ts +58 -0
- package/src/runjs-context/contexts/JSFieldRunJSContext.ts +30 -25
- package/src/runjs-context/contexts/JSItemRunJSContext.ts +25 -21
- package/src/runjs-context/contexts/JSRecordActionRunJSContext.ts +17 -18
- package/src/runjs-context/contexts/base.ts +155 -0
- package/src/runjs-context/helpers.ts +32 -30
- package/src/runjs-context/registry.ts +16 -47
- package/src/runjs-context/setup.ts +51 -0
- package/src/runjs-context/snippets/global/api-request.snippet.ts +38 -0
- package/src/runjs-context/snippets/global/clipboard-copy-text.snippet.ts +42 -0
- package/src/runjs-context/snippets/global/import-esm.snippet.ts +39 -0
- package/src/runjs-context/snippets/global/message-error.snippet.ts +6 -0
- package/src/runjs-context/snippets/global/message-success.snippet.ts +6 -0
- package/src/runjs-context/snippets/global/notification-open.snippet.ts +11 -1
- package/src/runjs-context/snippets/global/open-view-dialog.snippet.ts +10 -3
- package/src/runjs-context/snippets/global/open-view-drawer.snippet.ts +10 -3
- package/src/runjs-context/snippets/global/query-selector.snippet.ts +34 -0
- package/src/runjs-context/snippets/global/require-amd.snippet.ts +30 -0
- package/src/runjs-context/snippets/global/window-open.snippet.ts +11 -1
- package/src/runjs-context/snippets/index.ts +176 -39
- package/src/runjs-context/snippets/scene/{jsblock → block}/add-event-listener.snippet.ts +14 -2
- package/src/runjs-context/snippets/scene/block/api-fetch-render-list.snippet.ts +45 -0
- package/src/runjs-context/snippets/scene/block/chartjs-bar.snippet.ts +80 -0
- package/src/runjs-context/snippets/scene/block/echarts-init.snippet.ts +44 -0
- package/src/runjs-context/snippets/scene/{jsblock → block}/render-button-handler.snippet.ts +15 -6
- package/src/runjs-context/snippets/scene/block/render-iframe.snippet.ts +38 -0
- package/src/runjs-context/snippets/scene/block/render-info-card.snippet.ts +53 -0
- package/src/runjs-context/snippets/scene/{jsblock → block}/render-react.snippet.ts +15 -11
- package/src/runjs-context/snippets/scene/block/render-statistics.snippet.ts +81 -0
- package/src/runjs-context/snippets/scene/block/render-timeline.snippet.ts +66 -0
- package/src/runjs-context/snippets/scene/block/resource-example.snippet.ts +46 -0
- package/src/runjs-context/snippets/scene/block/three-users-orbit.snippet.ts +264 -0
- package/src/runjs-context/snippets/scene/block/vue-component.snippet.ts +105 -0
- package/src/runjs-context/snippets/scene/detail/color-by-value.snippet.ts +33 -0
- package/src/runjs-context/snippets/scene/detail/copy-to-clipboard.snippet.ts +45 -0
- package/src/runjs-context/snippets/scene/detail/format-number.snippet.ts +32 -0
- package/src/runjs-context/snippets/scene/detail/innerHTML-value.snippet.ts +31 -0
- package/src/runjs-context/snippets/scene/detail/percentage-bar.snippet.ts +63 -0
- package/src/runjs-context/snippets/scene/detail/relative-time.snippet.ts +61 -0
- package/src/runjs-context/snippets/scene/detail/status-tag.snippet.ts +55 -0
- package/src/runjs-context/snippets/scene/form/calculate-total.snippet.ts +44 -0
- package/src/runjs-context/snippets/scene/form/cascade-select.snippet.ts +62 -0
- package/src/runjs-context/snippets/scene/form/conditional-required.snippet.ts +45 -0
- package/src/runjs-context/snippets/scene/form/copy-field-values.snippet.ts +55 -0
- package/src/runjs-context/snippets/scene/{jsitem → form}/render-basic.snippet.ts +14 -2
- package/src/runjs-context/snippets/scene/{linkage → form}/set-disabled.snippet.ts +15 -3
- package/src/runjs-context/snippets/scene/{linkage → form}/set-field-value.snippet.ts +15 -3
- package/src/runjs-context/snippets/scene/{linkage → form}/set-required.snippet.ts +15 -3
- package/src/runjs-context/snippets/scene/form/toggle-multiple-fields.snippet.ts +48 -0
- package/src/runjs-context/snippets/scene/{linkage → form}/toggle-visible.snippet.ts +15 -3
- package/src/runjs-context/snippets/scene/table/cell-open-dialog.snippet.ts +45 -0
- package/src/runjs-context/snippets/scene/{actions → table}/collection-selected-count.snippet.ts +14 -2
- package/src/runjs-context/snippets/scene/table/concat-fields.snippet.ts +60 -0
- package/src/runjs-context/snippets/scene/table/destroy-selected.snippet.ts +36 -0
- package/src/runjs-context/snippets/scene/table/export-selected-json.snippet.ts +45 -0
- package/src/runjs-context/snippets/scene/{actions → table}/iterate-selected-rows.snippet.ts +14 -2
- package/src/runjs-context/snippets/types.ts +5 -1
- package/src/types.ts +13 -0
- package/src/utils/__tests__/safeGlobals.test.ts +22 -1
- package/src/utils/buildSettingsViewInputArgs.ts +72 -0
- package/src/utils/index.ts +2 -2
- package/src/utils/params-resolvers.ts +1 -1
- package/src/utils/safeGlobals.ts +49 -3
- package/src/utils/serverContextParams.ts +1 -0
- package/src/utils/variablesParams.ts +50 -38
- package/src/views/PageComponent.tsx +1 -1
- package/src/views/createViewMeta.ts +372 -70
- package/src/views/index.tsx +1 -0
- package/src/views/useDialog.tsx +12 -10
- package/src/views/useDrawer.tsx +60 -36
- package/src/views/usePage.tsx +13 -10
- package/lib/components/dnd/getMousePositionOnElement.d.ts +0 -50
- package/lib/components/dnd/getMousePositionOnElement.js +0 -95
- package/lib/components/dnd/moveBlock.d.ts +0 -33
- package/lib/components/dnd/moveBlock.js +0 -302
- package/lib/runjs-context/contexts/FlowRunJSContext.d.ts +0 -38
- package/lib/runjs-context/contexts/FlowRunJSContext.js +0 -217
- package/lib/runjs-context/contexts/LinkageRunJSContext.js +0 -62
- package/lib/runjs-context/index.d.ts +0 -19
- package/lib/runjs-context/index.js +0 -57
- package/lib/runjs-context/snippets/global/api-request-get.snippet.d.ts +0 -16
- package/lib/runjs-context/snippets/global/api-request-get.snippet.js +0 -42
- package/lib/runjs-context/snippets/global/api-request-post.snippet.d.ts +0 -16
- package/lib/runjs-context/snippets/global/api-request-post.snippet.js +0 -42
- package/lib/runjs-context/snippets/global/console-log-ctx.snippet.d.ts +0 -16
- package/lib/runjs-context/snippets/global/console-log-ctx.snippet.js +0 -41
- package/lib/runjs-context/snippets/global/sleep.snippet.d.ts +0 -16
- package/lib/runjs-context/snippets/global/sleep.snippet.js +0 -43
- package/lib/runjs-context/snippets/global/try-catch-async.snippet.d.ts +0 -16
- package/lib/runjs-context/snippets/global/try-catch-async.snippet.js +0 -44
- package/lib/runjs-context/snippets/libs/echarts-init.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/actions/collection-selected-count.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/actions/iterate-selected-rows.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/actions/record-id-message.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/actions/record-id-message.snippet.js +0 -43
- package/lib/runjs-context/snippets/scene/actions/run-action-basic.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/actions/run-action-basic.snippet.js +0 -40
- package/lib/runjs-context/snippets/scene/jsblock/add-event-listener.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsblock/append-style.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsblock/append-style.snippet.js +0 -42
- package/lib/runjs-context/snippets/scene/jsblock/jsx-mount.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsblock/jsx-unmount.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsblock/jsx-unmount.snippet.js +0 -41
- package/lib/runjs-context/snippets/scene/jsblock/render-basic.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsblock/render-basic.snippet.js +0 -41
- package/lib/runjs-context/snippets/scene/jsblock/render-button-handler.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsblock/render-card.snippet.js +0 -45
- package/lib/runjs-context/snippets/scene/jsblock/render-react.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsfield/color-by-value.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsfield/format-number.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsfield/innerHTML-value.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/jsitem/render-basic.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/linkage/set-disabled.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/linkage/set-field-value.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/linkage/set-required.snippet.d.ts +0 -15
- package/lib/runjs-context/snippets/scene/linkage/toggle-visible.snippet.d.ts +0 -15
- package/src/components/dnd/getMousePositionOnElement.ts +0 -115
- package/src/components/dnd/moveBlock.ts +0 -379
- package/src/runjs-context/contexts/FlowRunJSContext.ts +0 -190
- package/src/runjs-context/contexts/LinkageRunJSContext.ts +0 -35
- package/src/runjs-context/index.ts +0 -20
- package/src/runjs-context/snippets/global/api-request-get.snippet.ts +0 -20
- package/src/runjs-context/snippets/global/api-request-post.snippet.ts +0 -20
- package/src/runjs-context/snippets/global/console-log-ctx.snippet.ts +0 -19
- package/src/runjs-context/snippets/global/copy-record-json.snippet.ts +0 -21
- package/src/runjs-context/snippets/global/copy-to-clipboard.snippet.ts +0 -21
- package/src/runjs-context/snippets/global/log-json-record.snippet.ts +0 -21
- package/src/runjs-context/snippets/global/requireAsync.snippet.ts +0 -24
- package/src/runjs-context/snippets/global/sleep.snippet.ts +0 -21
- package/src/runjs-context/snippets/global/try-catch-async.snippet.ts +0 -22
- package/src/runjs-context/snippets/global/view-navigation-push.snippet.ts +0 -23
- package/src/runjs-context/snippets/libs/echarts-init.snippet.ts +0 -24
- package/src/runjs-context/snippets/scene/actions/record-id-message.snippet.ts +0 -21
- package/src/runjs-context/snippets/scene/actions/run-action-basic.snippet.ts +0 -18
- package/src/runjs-context/snippets/scene/jsblock/append-style.snippet.ts +0 -20
- package/src/runjs-context/snippets/scene/jsblock/jsx-mount.snippet.ts +0 -24
- package/src/runjs-context/snippets/scene/jsblock/jsx-unmount.snippet.ts +0 -19
- package/src/runjs-context/snippets/scene/jsblock/render-basic.snippet.ts +0 -24
- package/src/runjs-context/snippets/scene/jsblock/render-card.snippet.ts +0 -30
- package/src/runjs-context/snippets/scene/jsfield/color-by-value.snippet.ts +0 -20
- package/src/runjs-context/snippets/scene/jsfield/format-number.snippet.ts +0 -19
- package/src/runjs-context/snippets/scene/jsfield/innerHTML-value.snippet.ts +0 -18
- /package/lib/runjs-context/snippets/global/{copy-record-json.snippet.d.ts → api-request.snippet.d.ts} +0 -0
- /package/lib/runjs-context/snippets/global/{copy-to-clipboard.snippet.d.ts → clipboard-copy-text.snippet.d.ts} +0 -0
- /package/lib/runjs-context/snippets/global/{log-json-record.snippet.d.ts → import-esm.snippet.d.ts} +0 -0
- /package/lib/runjs-context/snippets/global/{view-navigation-push.snippet.d.ts → query-selector.snippet.d.ts} +0 -0
- /package/lib/runjs-context/snippets/scene/{jsblock/render-card.snippet.d.ts → block/echarts-init.snippet.d.ts} +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
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 { FlowEngine } from './flowEngine';
|
|
10
|
+
/**
|
|
11
|
+
* BlockScopedFlowEngine(区块作用域引擎)
|
|
12
|
+
*
|
|
13
|
+
* 设计目标:
|
|
14
|
+
* - 仅在“区块”作用域内隔离“模型实例表”和“事件缓存”;
|
|
15
|
+
* - 其余能力(动作/事件/模型类/资源/仓库/设置/日志/翻译等)全部直接代理到父引擎;
|
|
16
|
+
* - 使用 Proxy 实现“最小代理”,保持与父引擎的全局一致性。
|
|
17
|
+
*
|
|
18
|
+
* 注意:
|
|
19
|
+
* - 本地化的字段仅有:`_modelInstances`、`_applyFlowCache`、`executor`、`context`、栈指针;
|
|
20
|
+
* - 其它字段/方法均通过 Proxy 转发到父引擎;
|
|
21
|
+
* - 这样可满足“同一 uid 的模型可在不同区块隔离出现(实例/缓存隔离)”与“共享全局注册/仓库”的诉求。
|
|
22
|
+
*/
|
|
23
|
+
export declare function createBlockScopedEngine(parent: FlowEngine): FlowEngine;
|
|
@@ -0,0 +1,90 @@
|
|
|
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 BlockScopedFlowEngine_exports = {};
|
|
29
|
+
__export(BlockScopedFlowEngine_exports, {
|
|
30
|
+
createBlockScopedEngine: () => createBlockScopedEngine
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(BlockScopedFlowEngine_exports);
|
|
33
|
+
var import_flowEngine = require("./flowEngine");
|
|
34
|
+
function createBlockScopedEngine(parent) {
|
|
35
|
+
const local = new import_flowEngine.FlowEngine();
|
|
36
|
+
if (parent.modelRepository) {
|
|
37
|
+
local.setModelRepository(parent.modelRepository);
|
|
38
|
+
}
|
|
39
|
+
local.context.addDelegate(parent.context);
|
|
40
|
+
const originalUnlink = local.unlinkFromStack.bind(local);
|
|
41
|
+
local.unlinkFromStack = function() {
|
|
42
|
+
const prev = local._previousEngine;
|
|
43
|
+
const next = local._nextEngine;
|
|
44
|
+
if (prev) prev._nextEngine = next;
|
|
45
|
+
if (next) next._previousEngine = prev;
|
|
46
|
+
local._previousEngine = void 0;
|
|
47
|
+
local._nextEngine = void 0;
|
|
48
|
+
};
|
|
49
|
+
const localOnly = /* @__PURE__ */ new Set([
|
|
50
|
+
"_modelInstances",
|
|
51
|
+
"_applyFlowCache",
|
|
52
|
+
"executor",
|
|
53
|
+
"context",
|
|
54
|
+
"previousEngine",
|
|
55
|
+
"nextEngine",
|
|
56
|
+
// 栈指针维护方法需要在本地执行,而非代理到父引擎
|
|
57
|
+
"unlinkFromStack",
|
|
58
|
+
"linkAfter",
|
|
59
|
+
"_previousEngine",
|
|
60
|
+
"_nextEngine"
|
|
61
|
+
]);
|
|
62
|
+
const handler = {
|
|
63
|
+
get(target, prop, receiver) {
|
|
64
|
+
if (localOnly.has(prop)) {
|
|
65
|
+
return Reflect.get(target, prop, receiver);
|
|
66
|
+
}
|
|
67
|
+
const value = Reflect.get(parent, prop, receiver);
|
|
68
|
+
if (prop === "registerModels" && typeof value === "function") {
|
|
69
|
+
return value.bind(parent);
|
|
70
|
+
}
|
|
71
|
+
return value;
|
|
72
|
+
},
|
|
73
|
+
set(target, prop, value) {
|
|
74
|
+
if (localOnly.has(prop)) {
|
|
75
|
+
return Reflect.set(target, prop, value);
|
|
76
|
+
}
|
|
77
|
+
return Reflect.set(parent, prop, value);
|
|
78
|
+
},
|
|
79
|
+
has(target, prop) {
|
|
80
|
+
return prop in target || prop in parent;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
local.linkAfter(parent);
|
|
84
|
+
return new Proxy(local, handler);
|
|
85
|
+
}
|
|
86
|
+
__name(createBlockScopedEngine, "createBlockScopedEngine");
|
|
87
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
88
|
+
0 && (module.exports = {
|
|
89
|
+
createBlockScopedEngine
|
|
90
|
+
});
|
|
@@ -15,10 +15,10 @@ export declare function FlowContextProvider(props: {
|
|
|
15
15
|
children: React.ReactNode;
|
|
16
16
|
context: FlowContext;
|
|
17
17
|
}): React.JSX.Element;
|
|
18
|
-
export declare
|
|
18
|
+
export declare const FlowViewContextProvider: React.MemoExoticComponent<(props: {
|
|
19
19
|
children: React.ReactNode;
|
|
20
20
|
context: FlowContext;
|
|
21
|
-
})
|
|
21
|
+
}) => React.JSX.Element>;
|
|
22
22
|
export declare function useFlowContext<T = FlowEngineContext>(): T;
|
|
23
23
|
export declare function useFlowViewContext<T = FlowEngineContext>(): T;
|
|
24
24
|
export declare function useFlowView(): FlowView;
|
|
@@ -53,10 +53,10 @@ function FlowContextProvider(props) {
|
|
|
53
53
|
return /* @__PURE__ */ import_react.default.createElement(FlowReactContext.Provider, { value: props.context }, props.children);
|
|
54
54
|
}
|
|
55
55
|
__name(FlowContextProvider, "FlowContextProvider");
|
|
56
|
-
|
|
56
|
+
const FlowViewContextProvider = import_react.default.memo((props) => {
|
|
57
57
|
return /* @__PURE__ */ import_react.default.createElement(FlowViewContext.Provider, { value: props.context }, /* @__PURE__ */ import_react.default.createElement(FlowReactContext.Provider, { value: props.context }, props.children));
|
|
58
|
-
}
|
|
59
|
-
|
|
58
|
+
});
|
|
59
|
+
FlowViewContextProvider.displayName = "FlowViewContextProvider";
|
|
60
60
|
function useFlowContext() {
|
|
61
61
|
return (0, import_react.useContext)(FlowReactContext);
|
|
62
62
|
}
|
package/lib/FlowDefinition.d.ts
CHANGED
|
@@ -244,8 +244,6 @@ export declare class FlowStep {
|
|
|
244
244
|
hideInSettings?: boolean;
|
|
245
245
|
uiMode?: import("./types").StepUIMode | ((ctx: import("./flowContext").FlowRuntimeContext<import(".").FlowModel<import("./types").DefaultStructure>, any>) => import("./types").StepUIMode | Promise<import("./types").StepUIMode>);
|
|
246
246
|
title?: string;
|
|
247
|
-
defaultParams?: Record<string, any> | ((ctx: import("./flowContext").FlowRuntimeContext<import(".").FlowModel<import("./types").DefaultStructure>, any>) => Record<string, any> | Promise<Record<string, any>>);
|
|
248
|
-
handler?: (ctx: import("./flowContext").FlowRuntimeContext<import(".").FlowModel<import("./types").DefaultStructure>, any>, params: any) => any;
|
|
249
247
|
uiSchema?: Record<string, import("@formily/json-schema").Stringify<{
|
|
250
248
|
[key: symbol]: any;
|
|
251
249
|
[key: `x-${string}`]: any;
|
|
@@ -415,6 +413,8 @@ export declare class FlowStep {
|
|
|
415
413
|
"x-read-pretty"?: boolean;
|
|
416
414
|
"x-compile-omitted"?: string[];
|
|
417
415
|
}>>>);
|
|
416
|
+
defaultParams?: Record<string, any> | ((ctx: import("./flowContext").FlowRuntimeContext<import(".").FlowModel<import("./types").DefaultStructure>, any>) => Record<string, any> | Promise<Record<string, any>>);
|
|
417
|
+
handler?: (ctx: import("./flowContext").FlowRuntimeContext<import(".").FlowModel<import("./types").DefaultStructure>, any>, params: any) => any;
|
|
418
418
|
beforeParamsSave?: (ctx: import("./flowContext").FlowSettingsContext<import(".").FlowModel<import("./types").DefaultStructure>>, params: any, previousParams: any) => void | Promise<void>;
|
|
419
419
|
afterParamsSave?: (ctx: import("./flowContext").FlowSettingsContext<import(".").FlowModel<import("./types").DefaultStructure>>, params: any, previousParams: any) => void | Promise<void>;
|
|
420
420
|
useRawParams?: boolean | ((ctx: import("./flowContext").FlowRuntimeContext<import(".").FlowModel<import("./types").DefaultStructure>, any>) => boolean | Promise<boolean>);
|
package/lib/JSRunner.js
CHANGED
|
@@ -62,6 +62,9 @@ const _JSRunner = class _JSRunner {
|
|
|
62
62
|
* 异步运行代码,带错误处理和超时机制
|
|
63
63
|
*/
|
|
64
64
|
async run(code) {
|
|
65
|
+
if (location == null ? void 0 : location.search.includes("skipRunJs=true")) {
|
|
66
|
+
return { success: true, value: null };
|
|
67
|
+
}
|
|
65
68
|
const wrapped = `(async () => {
|
|
66
69
|
try {
|
|
67
70
|
${code};
|
|
@@ -11,7 +11,7 @@ import { FlowEngine } from './flowEngine';
|
|
|
11
11
|
* ViewScopedFlowEngine(视图作用域引擎)
|
|
12
12
|
*
|
|
13
13
|
* 设计目标:
|
|
14
|
-
* - 仅在视图(dialog/drawer/embed
|
|
14
|
+
* - 仅在视图(dialog/drawer/embed)作用域内隔离“模型实例表”和“事件缓存”;
|
|
15
15
|
* - 其余能力(动作/事件/模型类/资源/仓库/设置/日志/翻译等)全部直接代理到父引擎;
|
|
16
16
|
* - 使用 Proxy 实现“最小代理”,保持与父引擎的全局一致性。
|
|
17
17
|
*
|
|
@@ -52,7 +52,6 @@ const flowModelRendererPropKeys = [
|
|
|
52
52
|
"flowSettingsVariant",
|
|
53
53
|
"hideRemoveInSettings",
|
|
54
54
|
"showTitle",
|
|
55
|
-
"skipApplyAutoFlows",
|
|
56
55
|
"inputArgs",
|
|
57
56
|
"showErrorFallback",
|
|
58
57
|
"settingsMenuLevel",
|
|
@@ -63,10 +62,17 @@ function FieldModelRenderer(props) {
|
|
|
63
62
|
const composingRef = (0, import_react.useRef)(false);
|
|
64
63
|
const handleChange = /* @__PURE__ */ __name((e) => {
|
|
65
64
|
var _a;
|
|
66
|
-
|
|
65
|
+
let val;
|
|
66
|
+
if (e && e.target && typeof e.target.value !== "undefined") {
|
|
67
|
+
val = e.target.value;
|
|
68
|
+
} else if (typeof e === "string" || typeof e === "number" || typeof e === "boolean" || typeof e === "object" && !(e instanceof Event)) {
|
|
69
|
+
val = e;
|
|
70
|
+
} else {
|
|
71
|
+
val = "";
|
|
72
|
+
}
|
|
67
73
|
model.setProps({ value: val });
|
|
68
74
|
if (!composingRef.current) {
|
|
69
|
-
props.onChange(
|
|
75
|
+
(_a = props.onChange) == null ? void 0 : _a.call(props, val);
|
|
70
76
|
}
|
|
71
77
|
}, "handleChange");
|
|
72
78
|
const handleCompositionStart = /* @__PURE__ */ __name(() => {
|
|
@@ -83,7 +89,7 @@ function FieldModelRenderer(props) {
|
|
|
83
89
|
onCompositionEnd: handleCompositionEnd
|
|
84
90
|
};
|
|
85
91
|
(0, import_react.useEffect)(() => {
|
|
86
|
-
model.setProps(modelProps);
|
|
92
|
+
model && model.setProps(modelProps);
|
|
87
93
|
}, [modelProps]);
|
|
88
94
|
return /* @__PURE__ */ import_react.default.createElement(import_flow_engine.FlowModelRenderer, { model, ...rest });
|
|
89
95
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
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 React from 'react';
|
|
10
|
+
export declare const FieldSkeleton: React.FC;
|
|
@@ -0,0 +1,64 @@
|
|
|
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 FieldSkeleton_exports = {};
|
|
39
|
+
__export(FieldSkeleton_exports, {
|
|
40
|
+
FieldSkeleton: () => FieldSkeleton
|
|
41
|
+
});
|
|
42
|
+
module.exports = __toCommonJS(FieldSkeleton_exports);
|
|
43
|
+
var import_react = __toESM(require("react"));
|
|
44
|
+
var import_provider = require("../provider");
|
|
45
|
+
const FieldSkeleton = /* @__PURE__ */ __name(() => {
|
|
46
|
+
const flowEngine = (0, import_provider.useFlowEngine)();
|
|
47
|
+
const token = flowEngine.context.themeToken;
|
|
48
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
49
|
+
"span",
|
|
50
|
+
{
|
|
51
|
+
style: {
|
|
52
|
+
display: "inline-block",
|
|
53
|
+
width: "100%",
|
|
54
|
+
height: 16,
|
|
55
|
+
backgroundColor: token.colorFillSecondary,
|
|
56
|
+
borderRadius: token.borderRadiusSM
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
}, "FieldSkeleton");
|
|
61
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
62
|
+
0 && (module.exports = {
|
|
63
|
+
FieldSkeleton
|
|
64
|
+
});
|
|
@@ -60,6 +60,7 @@ const FlowContextSelectorComponent = /* @__PURE__ */ __name(({
|
|
|
60
60
|
formatPathToValue: customFormatPathToValue,
|
|
61
61
|
open,
|
|
62
62
|
onlyLeafSelectable = false,
|
|
63
|
+
ignoreFieldNames,
|
|
63
64
|
...cascaderProps
|
|
64
65
|
}) => {
|
|
65
66
|
const lastSelectedRef = (0, import_react.useRef)(null);
|
|
@@ -98,8 +99,12 @@ const FlowContextSelectorComponent = /* @__PURE__ */ __name(({
|
|
|
98
99
|
const options = (0, import_react.useMemo)(() => {
|
|
99
100
|
if (!resolvedMetaTree) return [];
|
|
100
101
|
const base = (0, import_utils.buildContextSelectorItems)(resolvedMetaTree);
|
|
101
|
-
return translateOptions(base)
|
|
102
|
-
|
|
102
|
+
return translateOptions(base).filter((item) => {
|
|
103
|
+
var _a;
|
|
104
|
+
if (!ignoreFieldNames || ignoreFieldNames.length === 0) return true;
|
|
105
|
+
return !ignoreFieldNames.includes(((_a = item.meta) == null ? void 0 : _a.name) || "");
|
|
106
|
+
});
|
|
107
|
+
}, [resolvedMetaTree, updateFlag, translateOptions, ignoreFieldNames]);
|
|
103
108
|
const [tempSelectedPath, setTempSelectedPath] = (0, import_react.useState)([]);
|
|
104
109
|
const handleLoadData = (0, import_react.useCallback)(
|
|
105
110
|
async (selectedOptions) => {
|
|
@@ -32,9 +32,7 @@ export interface FlowModelRendererProps {
|
|
|
32
32
|
hideRemoveInSettings?: boolean;
|
|
33
33
|
/** 是否在边框左上角显示模型title,默认 false */
|
|
34
34
|
showTitle?: boolean;
|
|
35
|
-
/**
|
|
36
|
-
skipApplyAutoFlows?: boolean;
|
|
37
|
-
/** 当 skipApplyAutoFlows !== false 时,传递给 useApplyAutoFlows 的额外上下文 */
|
|
35
|
+
/** 传递给 beforeRender 事件的运行时参数 */
|
|
38
36
|
inputArgs?: Record<string, any>;
|
|
39
37
|
/** 是否在最外层包装 FlowErrorFallback 组件,默认 false */
|
|
40
38
|
showErrorFallback?: boolean;
|
|
@@ -54,8 +52,7 @@ export interface FlowModelRendererProps {
|
|
|
54
52
|
* @param {string} props.flowSettingsVariant - The interaction style for flow settings.
|
|
55
53
|
* @param {boolean} props.hideRemoveInSettings - Whether to hide remove button in settings.
|
|
56
54
|
* @param {boolean} props.showTitle - Whether to show model title in the top-left corner of the border.
|
|
57
|
-
* @param {
|
|
58
|
-
* @param {any} props.inputArgs - Runtime arguments to pass to useApplyAutoFlows when skipApplyAutoFlows is false.
|
|
55
|
+
* @param {any} props.inputArgs - Runtime arguments to pass to beforeRender event flows.
|
|
59
56
|
* @param {number} props.settingsMenuLevel - Settings menu levels: 1=current model only (default), 2=include sub-models.
|
|
60
57
|
* @param {ToolbarItemConfig[]} props.extraToolbarItems - Extra toolbar items to add to this renderer instance.
|
|
61
58
|
* @returns {React.ReactNode | null} The rendered output of the model, or null if the model or its render method is invalid.
|
|
@@ -42,7 +42,6 @@ __export(FlowModelRenderer_exports, {
|
|
|
42
42
|
});
|
|
43
43
|
module.exports = __toCommonJS(FlowModelRenderer_exports);
|
|
44
44
|
var import_reactive_react = require("@formily/reactive-react");
|
|
45
|
-
var import_antd = require("antd");
|
|
46
45
|
var import_lodash = __toESM(require("lodash"));
|
|
47
46
|
var import_react = __toESM(require("react"));
|
|
48
47
|
var import_react_error_boundary = require("react-error-boundary");
|
|
@@ -84,33 +83,6 @@ const FlowModelRendererWithAutoFlows = (0, import_reactive_react.observer)(
|
|
|
84
83
|
));
|
|
85
84
|
}
|
|
86
85
|
);
|
|
87
|
-
const FlowModelRendererWithoutAutoFlows = (0, import_reactive_react.observer)(
|
|
88
|
-
({
|
|
89
|
-
model,
|
|
90
|
-
showFlowSettings,
|
|
91
|
-
flowSettingsVariant,
|
|
92
|
-
hideRemoveInSettings,
|
|
93
|
-
showTitle,
|
|
94
|
-
showErrorFallback,
|
|
95
|
-
settingsMenuLevel,
|
|
96
|
-
extraToolbarItems
|
|
97
|
-
}) => {
|
|
98
|
-
(0, import_utils.setAutoFlowError)(model, null);
|
|
99
|
-
return /* @__PURE__ */ import_react.default.createElement(import_hooks.FlowModelProvider, { model }, /* @__PURE__ */ import_react.default.createElement(
|
|
100
|
-
FlowModelRendererCore,
|
|
101
|
-
{
|
|
102
|
-
model,
|
|
103
|
-
showFlowSettings,
|
|
104
|
-
flowSettingsVariant,
|
|
105
|
-
hideRemoveInSettings,
|
|
106
|
-
showTitle,
|
|
107
|
-
showErrorFallback,
|
|
108
|
-
settingsMenuLevel,
|
|
109
|
-
extraToolbarItems
|
|
110
|
-
}
|
|
111
|
-
));
|
|
112
|
-
}
|
|
113
|
-
);
|
|
114
86
|
const FlowModelRendererCore = (0, import_reactive_react.observer)(
|
|
115
87
|
({
|
|
116
88
|
model,
|
|
@@ -122,6 +94,7 @@ const FlowModelRendererCore = (0, import_reactive_react.observer)(
|
|
|
122
94
|
settingsMenuLevel,
|
|
123
95
|
extraToolbarItems
|
|
124
96
|
}) => {
|
|
97
|
+
var _a;
|
|
125
98
|
const wrapWithErrorBoundary = /* @__PURE__ */ __name((children) => {
|
|
126
99
|
if (showErrorFallback) {
|
|
127
100
|
return /* @__PURE__ */ import_react.default.createElement(import_react_error_boundary.ErrorBoundary, { FallbackComponent: import_FlowErrorFallback.FlowErrorFallback }, children);
|
|
@@ -139,8 +112,11 @@ const FlowModelRendererCore = (0, import_reactive_react.observer)(
|
|
|
139
112
|
}
|
|
140
113
|
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, rendered);
|
|
141
114
|
}, "ContentOrError");
|
|
115
|
+
const contentKey = (model == null ? void 0 : model.use) || ((_a = model == null ? void 0 : model.constructor) == null ? void 0 : _a.name) || model.uid;
|
|
142
116
|
if (!showFlowSettings) {
|
|
143
|
-
return wrapWithErrorBoundary(
|
|
117
|
+
return wrapWithErrorBoundary(
|
|
118
|
+
/* @__PURE__ */ import_react.default.createElement("div", { key: contentKey }, /* @__PURE__ */ import_react.default.createElement(ContentOrError, null))
|
|
119
|
+
);
|
|
144
120
|
}
|
|
145
121
|
switch (flowSettingsVariant) {
|
|
146
122
|
case "dropdown":
|
|
@@ -158,10 +134,14 @@ const FlowModelRendererCore = (0, import_reactive_react.observer)(
|
|
|
158
134
|
toolbarStyle: import_lodash.default.isObject(showFlowSettings) ? showFlowSettings.style : void 0,
|
|
159
135
|
toolbarPosition: import_lodash.default.isObject(showFlowSettings) ? showFlowSettings.toolbarPosition : void 0
|
|
160
136
|
},
|
|
161
|
-
wrapWithErrorBoundary(
|
|
137
|
+
wrapWithErrorBoundary(
|
|
138
|
+
/* @__PURE__ */ import_react.default.createElement("div", { key: contentKey }, /* @__PURE__ */ import_react.default.createElement(ContentOrError, null))
|
|
139
|
+
)
|
|
162
140
|
);
|
|
163
141
|
case "contextMenu":
|
|
164
|
-
return /* @__PURE__ */ import_react.default.createElement(import_FlowsContextMenu.FlowsContextMenu, { model, showDeleteButton: !hideRemoveInSettings }, wrapWithErrorBoundary(
|
|
142
|
+
return /* @__PURE__ */ import_react.default.createElement(import_FlowsContextMenu.FlowsContextMenu, { model, showDeleteButton: !hideRemoveInSettings }, wrapWithErrorBoundary(
|
|
143
|
+
/* @__PURE__ */ import_react.default.createElement("div", { key: contentKey }, /* @__PURE__ */ import_react.default.createElement(ContentOrError, null))
|
|
144
|
+
));
|
|
165
145
|
case "modal":
|
|
166
146
|
console.warn("FlowModelRenderer: modal variant is not implemented yet");
|
|
167
147
|
return wrapWithErrorBoundary(/* @__PURE__ */ import_react.default.createElement(ContentOrError, null));
|
|
@@ -186,7 +166,9 @@ const FlowModelRendererCore = (0, import_reactive_react.observer)(
|
|
|
186
166
|
toolbarStyle: import_lodash.default.isObject(showFlowSettings) ? showFlowSettings.style : void 0,
|
|
187
167
|
toolbarPosition: import_lodash.default.isObject(showFlowSettings) ? showFlowSettings.toolbarPosition : void 0
|
|
188
168
|
},
|
|
189
|
-
wrapWithErrorBoundary(
|
|
169
|
+
wrapWithErrorBoundary(
|
|
170
|
+
/* @__PURE__ */ import_react.default.createElement("div", { key: contentKey }, /* @__PURE__ */ import_react.default.createElement(ContentOrError, null))
|
|
171
|
+
)
|
|
190
172
|
);
|
|
191
173
|
}
|
|
192
174
|
},
|
|
@@ -197,12 +179,11 @@ const FlowModelRendererCore = (0, import_reactive_react.observer)(
|
|
|
197
179
|
const FlowModelRenderer = (0, import_reactive_react.observer)(
|
|
198
180
|
({
|
|
199
181
|
model,
|
|
200
|
-
fallback =
|
|
182
|
+
fallback = null,
|
|
201
183
|
showFlowSettings = false,
|
|
202
184
|
flowSettingsVariant = "dropdown",
|
|
203
185
|
hideRemoveInSettings = false,
|
|
204
186
|
showTitle = false,
|
|
205
|
-
skipApplyAutoFlows = false,
|
|
206
187
|
inputArgs,
|
|
207
188
|
showErrorFallback = true,
|
|
208
189
|
settingsMenuLevel,
|
|
@@ -212,19 +193,7 @@ const FlowModelRenderer = (0, import_reactive_react.observer)(
|
|
|
212
193
|
console.warn("FlowModelRenderer: Invalid model or render method not found.", model);
|
|
213
194
|
return null;
|
|
214
195
|
}
|
|
215
|
-
const content =
|
|
216
|
-
FlowModelRendererWithoutAutoFlows,
|
|
217
|
-
{
|
|
218
|
-
model,
|
|
219
|
-
showFlowSettings,
|
|
220
|
-
flowSettingsVariant,
|
|
221
|
-
hideRemoveInSettings,
|
|
222
|
-
showTitle,
|
|
223
|
-
showErrorFallback,
|
|
224
|
-
settingsMenuLevel,
|
|
225
|
-
extraToolbarItems
|
|
226
|
-
}
|
|
227
|
-
) : /* @__PURE__ */ import_react.default.createElement(
|
|
196
|
+
const content = /* @__PURE__ */ import_react.default.createElement(
|
|
228
197
|
FlowModelRendererWithAutoFlows,
|
|
229
198
|
{
|
|
230
199
|
model,
|
|
@@ -136,7 +136,11 @@ const FormItem = /* @__PURE__ */ __name(({
|
|
|
136
136
|
layout,
|
|
137
137
|
label: renderLabel(),
|
|
138
138
|
colon: false,
|
|
139
|
-
extra: rest.extra && /* @__PURE__ */ import_react.default.createElement("span", { style: { whiteSpace: "pre-wrap" } }, rest.extra)
|
|
139
|
+
extra: rest.extra && /* @__PURE__ */ import_react.default.createElement("span", { style: { whiteSpace: "pre-wrap" } }, rest.extra),
|
|
140
|
+
tooltip: rest.tooltip && {
|
|
141
|
+
title: rest.tooltip,
|
|
142
|
+
overlayInnerStyle: { whiteSpace: "pre-line" }
|
|
143
|
+
}
|
|
140
144
|
},
|
|
141
145
|
processedChildren
|
|
142
146
|
);
|
|
@@ -6,11 +6,8 @@
|
|
|
6
6
|
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
|
-
declare const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
description: string;
|
|
14
|
-
content: string;
|
|
9
|
+
export declare const findModelUidPosition: (uid: string, rows: Record<string, string[][]>) => {
|
|
10
|
+
rowId: string;
|
|
11
|
+
columnIndex: number;
|
|
12
|
+
itemIndex: number;
|
|
15
13
|
};
|
|
16
|
-
export default _default;
|
|
@@ -11,6 +11,7 @@ var __defProp = Object.defineProperty;
|
|
|
11
11
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
12
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
13
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
14
15
|
var __export = (target, all) => {
|
|
15
16
|
for (var name in all)
|
|
16
17
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -24,23 +25,26 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
24
25
|
return to;
|
|
25
26
|
};
|
|
26
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
-
var
|
|
28
|
-
__export(
|
|
29
|
-
|
|
28
|
+
var findModelUidPosition_exports = {};
|
|
29
|
+
__export(findModelUidPosition_exports, {
|
|
30
|
+
findModelUidPosition: () => findModelUidPosition
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(findModelUidPosition_exports);
|
|
33
|
+
const findModelUidPosition = /* @__PURE__ */ __name((uid, rows) => {
|
|
34
|
+
let result = null;
|
|
35
|
+
for (const [rowId, columns] of Object.entries(rows)) {
|
|
36
|
+
for (let columnIndex = 0; columnIndex < columns.length; columnIndex++) {
|
|
37
|
+
const column = columns[columnIndex];
|
|
38
|
+
for (let itemIndex = 0; itemIndex < column.length; itemIndex++) {
|
|
39
|
+
if (column[itemIndex] === uid) {
|
|
40
|
+
result = { rowId, columnIndex, itemIndex };
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}, "findModelUidPosition");
|
|
47
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
48
|
+
0 && (module.exports = {
|
|
49
|
+
findModelUidPosition
|
|
30
50
|
});
|
|
31
|
-
module.exports = __toCommonJS(jsx_mount_snippet_exports);
|
|
32
|
-
var jsx_mount_snippet_default = {
|
|
33
|
-
contexts: ["JSBlockRunJSContext"],
|
|
34
|
-
prefix: "sn-jsx-mount",
|
|
35
|
-
label: "JSX mount",
|
|
36
|
-
content: `
|
|
37
|
-
// Render JSX (editor does not auto-transform)
|
|
38
|
-
const { ReactDOM, antd } = ctx;
|
|
39
|
-
const { Button } = antd;
|
|
40
|
-
|
|
41
|
-
if (ctx.__reactRoot?.unmount) { try { ctx.__reactRoot.unmount(); } catch(_) {} ctx.__reactRoot = undefined; }
|
|
42
|
-
const root = ReactDOM.createRoot(ctx.element);
|
|
43
|
-
root.render(<Button type="primary" onClick={() => ctx.message.success(ctx.t('Clicked!'))}>{ctx.t('Button')}</Button>);
|
|
44
|
-
ctx.__reactRoot = root;
|
|
45
|
-
`
|
|
46
|
-
};
|