@nocobase/flow-engine 2.0.0-alpha.4 → 2.0.0-alpha.40
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 +4 -2
- package/lib/JSRunner.js +3 -0
- package/lib/ViewScopedFlowEngine.d.ts +1 -1
- package/lib/ViewScopedFlowEngine.js +12 -0
- package/lib/acl/Acl.d.ts +1 -0
- package/lib/acl/Acl.js +11 -0
- package/lib/components/FieldModelRenderer.js +14 -6
- 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 +3 -6
- package/lib/components/FlowModelRenderer.js +16 -47
- package/lib/components/FormItem.js +5 -1
- package/lib/components/MobilePopup.d.ts +20 -0
- package/lib/components/MobilePopup.js +102 -0
- package/lib/components/MobilePopup.style.d.ts +17 -0
- package/lib/components/MobilePopup.style.js +186 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +3 -1
- package/lib/components/settings/independents/dropdown/FlowsDropdownButton.js +2 -2
- package/lib/components/settings/wrappers/contextual/DefaultSettingsIcon.js +17 -5
- package/lib/components/settings/wrappers/contextual/FlowsContextMenu.js +2 -2
- package/lib/components/settings/wrappers/contextual/FlowsFloatContextMenu.d.ts +2 -2
- package/lib/components/settings/wrappers/contextual/FlowsFloatContextMenu.js +35 -6
- package/lib/components/settings/wrappers/contextual/StepSettingsDialog.js +7 -1
- package/lib/components/variables/VariableInput.js +19 -5
- package/lib/components/variables/VariableTag.js +43 -2
- package/lib/components/variables/types.d.ts +2 -0
- package/lib/data-source/index.d.ts +15 -4
- package/lib/data-source/index.js +42 -13
- package/lib/data-source/sortCollectionsByInherits.d.ts +10 -0
- package/lib/data-source/sortCollectionsByInherits.js +71 -0
- package/lib/emitter.d.ts +6 -0
- package/lib/emitter.js +12 -0
- package/lib/executor/FlowExecutor.d.ts +4 -5
- package/lib/executor/FlowExecutor.js +168 -99
- package/lib/flow-registry/GlobalFlowRegistry.d.ts +1 -0
- package/lib/flow-registry/GlobalFlowRegistry.js +3 -0
- package/lib/flow-registry/InstanceFlowRegistry.d.ts +1 -0
- package/lib/flow-registry/InstanceFlowRegistry.js +3 -0
- package/lib/flowContext.d.ts +37 -5
- package/lib/flowContext.js +215 -87
- package/lib/flowEngine.d.ts +24 -1
- package/lib/flowEngine.js +56 -6
- package/lib/flowSettings.d.ts +2 -1
- package/lib/flowSettings.js +12 -8
- package/lib/hooks/useApplyAutoFlows.js +2 -1
- package/lib/index.d.ts +7 -1
- package/lib/index.js +32 -3
- package/lib/locale/en-US.json +4 -2
- package/lib/locale/index.d.ts +4 -0
- package/lib/locale/zh-CN.json +4 -2
- package/lib/models/CollectionFieldModel.d.ts +3 -0
- package/lib/models/CollectionFieldModel.js +48 -5
- package/lib/models/flowModel.d.ts +30 -29
- package/lib/models/flowModel.js +135 -98
- package/lib/models/forkFlowModel.d.ts +8 -4
- package/lib/models/forkFlowModel.js +38 -8
- package/lib/provider.d.ts +3 -1
- package/lib/provider.js +7 -5
- package/lib/resources/multiRecordResource.js +25 -1
- package/lib/resources/singleRecordResource.js +19 -1
- package/lib/resources/sqlResource.d.ts +1 -0
- package/lib/resources/sqlResource.js +20 -24
- 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 +183 -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 +161 -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 +17 -9
- 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 +71 -0
- package/lib/runjs-context/snippets/scene/block/render-react-jsx.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/{jsblock/render-card.snippet.js → block/render-react-jsx.snippet.js} +26 -13
- 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 +18 -17
- 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 +95 -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 +84 -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/scheduler/ModelOperationScheduler.d.ts +51 -0
- package/lib/scheduler/ModelOperationScheduler.js +262 -0
- package/lib/types.d.ts +28 -3
- package/lib/types.js +4 -3
- package/lib/utils/associationObjectVariable.d.ts +32 -0
- package/lib/utils/associationObjectVariable.js +157 -0
- package/lib/utils/buildSettingsViewInputArgs.d.ts +19 -0
- package/lib/utils/buildSettingsViewInputArgs.js +75 -0
- package/lib/utils/createEphemeralContext.d.ts +13 -0
- package/lib/utils/createEphemeralContext.js +140 -0
- package/lib/utils/flows.d.ts +10 -0
- package/lib/{runjs-context/snippets/global/api-request-post.snippet.js → utils/flows.js} +21 -15
- package/lib/utils/index.d.ts +7 -2
- package/lib/utils/index.js +19 -2
- package/lib/utils/jsxTransform.d.ts +15 -0
- package/lib/utils/jsxTransform.js +68 -0
- package/lib/utils/params-resolvers.js +3 -3
- package/lib/utils/parsePathnameToViewParams.d.ts +1 -1
- package/lib/utils/parsePathnameToViewParams.js +41 -5
- package/lib/utils/pruneFilter.d.ts +21 -0
- package/lib/{runjs-context/snippets/global/try-catch-async.snippet.js → utils/pruneFilter.js} +24 -16
- package/lib/utils/safeGlobals.d.ts +5 -3
- package/lib/utils/safeGlobals.js +40 -0
- package/lib/utils/schema-utils.js +2 -2
- package/lib/utils/serverContextParams.d.ts +1 -0
- package/lib/utils/translation.d.ts +4 -1
- package/lib/utils/translation.js +6 -2
- package/lib/utils/variablesParams.d.ts +9 -5
- package/lib/utils/variablesParams.js +47 -36
- package/lib/views/DrawerComponent.js +21 -2
- package/lib/views/PageComponent.js +2 -1
- package/lib/views/ViewNavigation.d.ts +3 -9
- package/lib/views/ViewNavigation.js +16 -2
- package/lib/views/createViewMeta.d.ts +29 -1
- package/lib/views/createViewMeta.js +338 -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 +43 -28
- package/lib/views/usePage.d.ts +8 -8
- package/lib/views/usePage.js +8 -7
- package/package.json +6 -3
- package/src/BlockScopedFlowEngine.ts +86 -0
- package/src/FlowContextProvider.tsx +4 -2
- package/src/JSRunner.ts +3 -0
- package/src/ViewScopedFlowEngine.ts +15 -1
- package/src/__tests__/JSRunner.test.ts +62 -53
- package/src/__tests__/blockScopedFlowEngine.test.ts +154 -0
- package/src/__tests__/createViewMeta.popup.test.ts +132 -0
- package/src/__tests__/flow-engine.test.ts +3 -0
- package/src/__tests__/flowContext.test.ts +52 -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__/flowSettings.open.test.tsx +2 -0
- package/src/__tests__/flowSettings.test.ts +2 -0
- package/src/__tests__/globalFlowRegistry.test.ts +1 -1
- package/src/__tests__/modelOperationScheduler.test.ts +346 -0
- package/src/__tests__/objectVariable.test.ts +464 -0
- 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/acl/Acl.tsx +14 -0
- package/src/acl/__tests__/Acl.test.tsx +43 -0
- package/src/components/DynamicFlowsEditor.tsx +3 -4
- package/src/components/FieldModelRenderer.tsx +20 -7
- package/src/components/FieldSkeleton.tsx +27 -0
- package/src/components/FlowContextSelector.tsx +6 -2
- package/src/components/FlowModelRenderer.tsx +33 -81
- package/src/components/FormItem.tsx +8 -1
- package/src/components/MobilePopup.style.ts +220 -0
- package/src/components/MobilePopup.tsx +86 -0
- package/src/components/__tests__/flow-model-render-error-fallback.test.tsx +6 -6
- package/src/components/index.ts +1 -0
- package/src/components/settings/independents/dropdown/FlowsDropdownButton.tsx +1 -1
- package/src/components/settings/wrappers/contextual/DefaultSettingsIcon.tsx +17 -4
- package/src/components/settings/wrappers/contextual/FlowsContextMenu.tsx +1 -1
- package/src/components/settings/wrappers/contextual/FlowsFloatContextMenu.tsx +39 -10
- package/src/components/settings/wrappers/contextual/StepSettingsDialog.tsx +14 -1
- package/src/components/settings/wrappers/contextual/__tests__/DefaultSettingsIcon.test.tsx +425 -0
- package/src/components/subModel/__tests__/AddSubModelButton.test.tsx +5 -7
- package/src/components/variables/VariableInput.tsx +25 -5
- 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 +42 -11
- package/src/data-source/sortCollectionsByInherits.ts +61 -0
- package/src/emitter.ts +14 -0
- package/src/executor/FlowExecutor.ts +213 -119
- package/src/executor/__tests__/ctx-defs-injection.test.ts +197 -0
- package/src/executor/__tests__/flowExecutor.test.ts +151 -5
- package/src/flow-registry/GlobalFlowRegistry.ts +1 -0
- package/src/flow-registry/InstanceFlowRegistry.ts +1 -0
- package/src/flow-registry/__tests__/globalFlowRegistry.test.ts +54 -0
- package/src/flowContext.ts +290 -104
- package/src/flowEngine.ts +74 -6
- package/src/flowSettings.ts +9 -4
- package/src/hooks/useApplyAutoFlows.ts +3 -1
- package/src/index.ts +12 -1
- package/src/locale/en-US.json +4 -2
- package/src/locale/zh-CN.json +4 -2
- package/src/models/CollectionFieldModel.tsx +56 -7
- package/src/models/__tests__/dispatchEvent.behavior.test.ts +169 -0
- package/src/models/__tests__/flowModel.getFlows.sort.test.ts +33 -9
- package/src/models/__tests__/flowModel.scheduleModelOperation.test.tsx +129 -0
- package/src/models/__tests__/flowModel.test.ts +234 -111
- package/src/models/__tests__/forkFlowModel.test.ts +40 -7
- package/src/models/flowModel.tsx +180 -132
- package/src/models/forkFlowModel.ts +48 -8
- package/src/provider.tsx +10 -7
- package/src/resources/multiRecordResource.ts +28 -1
- package/src/resources/singleRecordResource.ts +19 -1
- package/src/resources/sqlResource.ts +20 -25
- 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 +171 -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 +177 -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/block/render-button-handler.snippet.ts +35 -0
- 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 +52 -0
- package/src/runjs-context/snippets/scene/block/render-react-jsx.snippet.ts +39 -0
- package/src/runjs-context/snippets/scene/block/render-react.snippet.ts +38 -0
- package/src/runjs-context/snippets/scene/block/render-statistics.snippet.ts +76 -0
- package/src/runjs-context/snippets/scene/block/render-timeline.snippet.ts +65 -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/scheduler/ModelOperationScheduler.ts +304 -0
- package/src/types.ts +34 -0
- package/src/utils/__tests__/flows.test.ts +65 -0
- package/src/utils/__tests__/jsxTransform.test.ts +38 -0
- package/src/utils/__tests__/parsePathnameToViewParams.test.ts +25 -0
- package/src/utils/__tests__/pruneFilter.test.ts +38 -0
- package/src/utils/__tests__/safeGlobals.test.ts +22 -1
- package/src/utils/associationObjectVariable.ts +180 -0
- package/src/utils/buildSettingsViewInputArgs.ts +72 -0
- package/src/utils/createEphemeralContext.ts +142 -0
- package/src/utils/flows.ts +23 -0
- package/src/utils/index.ts +10 -2
- package/src/utils/jsxTransform.ts +39 -0
- package/src/utils/params-resolvers.ts +2 -2
- package/src/utils/parsePathnameToViewParams.ts +50 -6
- package/src/utils/pruneFilter.ts +41 -0
- package/src/utils/safeGlobals.ts +49 -3
- package/src/utils/schema-utils.ts +1 -1
- package/src/utils/serverContextParams.ts +1 -0
- package/src/utils/translation.ts +7 -2
- package/src/utils/variablesParams.ts +50 -38
- package/src/views/DrawerComponent.tsx +21 -2
- package/src/views/PageComponent.tsx +1 -1
- package/src/views/ViewNavigation.ts +20 -12
- package/src/views/__tests__/ViewNavigation.test.ts +10 -0
- package/src/views/createViewMeta.ts +393 -70
- package/src/views/index.tsx +1 -0
- package/src/views/useDialog.tsx +12 -10
- package/src/views/useDrawer.tsx +62 -37
- package/src/views/usePage.tsx +13 -10
- 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/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/requireAsync.snippet.d.ts +0 -16
- 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/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-mount.snippet.js +0 -46
- 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-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/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-button-handler.snippet.ts +0 -24
- package/src/runjs-context/snippets/scene/jsblock/render-card.snippet.ts +0 -30
- package/src/runjs-context/snippets/scene/jsblock/render-react.snippet.ts +0 -34
- 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,157 @@
|
|
|
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 associationObjectVariable_exports = {};
|
|
39
|
+
__export(associationObjectVariable_exports, {
|
|
40
|
+
createAssociationAwareObjectMetaFactory: () => createAssociationAwareObjectMetaFactory,
|
|
41
|
+
createAssociationSubpathResolver: () => createAssociationSubpathResolver
|
|
42
|
+
});
|
|
43
|
+
module.exports = __toCommonJS(associationObjectVariable_exports);
|
|
44
|
+
var import_lodash = __toESM(require("lodash"));
|
|
45
|
+
var import_createCollectionContextMeta = require("./createCollectionContextMeta");
|
|
46
|
+
function baseFieldNameOf(subPath) {
|
|
47
|
+
if (!subPath) return void 0;
|
|
48
|
+
const m = subPath.match(/^([^.[]+)/);
|
|
49
|
+
return m == null ? void 0 : m[1];
|
|
50
|
+
}
|
|
51
|
+
__name(baseFieldNameOf, "baseFieldNameOf");
|
|
52
|
+
function findFieldByName(collection, name) {
|
|
53
|
+
var _a;
|
|
54
|
+
if (!collection || !name) return void 0;
|
|
55
|
+
const direct = collection.getField(name);
|
|
56
|
+
if (direct) return direct;
|
|
57
|
+
const fields = ((_a = collection.getFields) == null ? void 0 : _a.call(collection)) || [];
|
|
58
|
+
return fields.find((f) => f.name === name);
|
|
59
|
+
}
|
|
60
|
+
__name(findFieldByName, "findFieldByName");
|
|
61
|
+
function toFilterByTk(value, primaryKey) {
|
|
62
|
+
if (value == null) return void 0;
|
|
63
|
+
if (Array.isArray(primaryKey)) {
|
|
64
|
+
if (typeof value !== "object" || !value) return void 0;
|
|
65
|
+
const out = {};
|
|
66
|
+
for (const k of primaryKey) {
|
|
67
|
+
const v = value[k];
|
|
68
|
+
if (typeof v === "undefined" || v === null) return void 0;
|
|
69
|
+
out[k] = v;
|
|
70
|
+
}
|
|
71
|
+
return out;
|
|
72
|
+
}
|
|
73
|
+
if (typeof value === "string" || typeof value === "number") return value;
|
|
74
|
+
if (typeof value === "object") {
|
|
75
|
+
return value[primaryKey];
|
|
76
|
+
}
|
|
77
|
+
return void 0;
|
|
78
|
+
}
|
|
79
|
+
__name(toFilterByTk, "toFilterByTk");
|
|
80
|
+
function createAssociationSubpathResolver(collectionAccessor, valueAccessor) {
|
|
81
|
+
return (p) => {
|
|
82
|
+
if (!p || !p.includes(".")) return false;
|
|
83
|
+
const base = baseFieldNameOf(p);
|
|
84
|
+
if (!base) return false;
|
|
85
|
+
const collection = collectionAccessor();
|
|
86
|
+
const field = findFieldByName(collection, base);
|
|
87
|
+
const isAssoc = !!(field == null ? void 0 : field.isAssociationField());
|
|
88
|
+
if (!isAssoc) return false;
|
|
89
|
+
if (typeof valueAccessor === "function") {
|
|
90
|
+
const local = valueAccessor();
|
|
91
|
+
if (local && typeof local === "object") {
|
|
92
|
+
const v = import_lodash.default.get(local, p);
|
|
93
|
+
if (typeof v !== "undefined") return false;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return true;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
__name(createAssociationSubpathResolver, "createAssociationSubpathResolver");
|
|
100
|
+
function createAssociationAwareObjectMetaFactory(collectionAccessor, title, valueAccessor) {
|
|
101
|
+
const baseFactory = (0, import_createCollectionContextMeta.createCollectionContextMeta)(collectionAccessor, title);
|
|
102
|
+
const factory = /* @__PURE__ */ __name(async () => {
|
|
103
|
+
const base = await baseFactory();
|
|
104
|
+
if (!base) return null;
|
|
105
|
+
const meta = {
|
|
106
|
+
...base,
|
|
107
|
+
buildVariablesParams: /* @__PURE__ */ __name((ctx) => {
|
|
108
|
+
var _a;
|
|
109
|
+
const collection = collectionAccessor();
|
|
110
|
+
const obj = valueAccessor(ctx);
|
|
111
|
+
if (!collection || !obj || typeof obj !== "object") return {};
|
|
112
|
+
const params = {};
|
|
113
|
+
const fields = ((_a = collection.getFields) == null ? void 0 : _a.call(collection)) || [];
|
|
114
|
+
for (const field of fields) {
|
|
115
|
+
const name = field.name;
|
|
116
|
+
if (!name) continue;
|
|
117
|
+
if (!field.isAssociationField()) continue;
|
|
118
|
+
const target = field.target;
|
|
119
|
+
const targetCollection = field.targetCollection;
|
|
120
|
+
if (!target || !targetCollection) continue;
|
|
121
|
+
const primaryKey = targetCollection.filterTargetKey;
|
|
122
|
+
const associationValue = obj[name];
|
|
123
|
+
if (associationValue == null) continue;
|
|
124
|
+
if (Array.isArray(associationValue)) {
|
|
125
|
+
const ids = associationValue.map((item) => toFilterByTk(item, primaryKey)).filter((v) => v != null);
|
|
126
|
+
if (ids.length) {
|
|
127
|
+
params[name] = {
|
|
128
|
+
collection: target,
|
|
129
|
+
dataSourceKey: targetCollection.dataSourceKey,
|
|
130
|
+
filterByTk: ids
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
} else {
|
|
134
|
+
const id = toFilterByTk(associationValue, primaryKey);
|
|
135
|
+
if (id != null) {
|
|
136
|
+
params[name] = {
|
|
137
|
+
collection: target,
|
|
138
|
+
dataSourceKey: targetCollection.dataSourceKey,
|
|
139
|
+
filterByTk: id
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return params;
|
|
145
|
+
}, "buildVariablesParams")
|
|
146
|
+
};
|
|
147
|
+
return meta;
|
|
148
|
+
}, "factory");
|
|
149
|
+
factory.title = title;
|
|
150
|
+
return factory;
|
|
151
|
+
}
|
|
152
|
+
__name(createAssociationAwareObjectMetaFactory, "createAssociationAwareObjectMetaFactory");
|
|
153
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
154
|
+
0 && (module.exports = {
|
|
155
|
+
createAssociationAwareObjectMetaFactory,
|
|
156
|
+
createAssociationSubpathResolver
|
|
157
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
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 { FlowModel } from '../models';
|
|
10
|
+
/**
|
|
11
|
+
* 统一构造设置弹窗 openView 的 inputArgs:
|
|
12
|
+
* - collectionName/dataSourceKey/filterByTk:优先从 model.context 推断;否则回退父视图 inputArgs
|
|
13
|
+
* - sourceId:优先从 resource.getSourceId();否则回退父视图 inputArgs
|
|
14
|
+
* - associationName:来自 association.resourceName 或 resource.getResourceName()
|
|
15
|
+
* - navigation:父视图 navigation 或传入的 navigationOverride
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildSettingsViewInputArgs(model: FlowModel, extra?: Record<string, any>, options?: {
|
|
18
|
+
navigationOverride?: any;
|
|
19
|
+
}): Record<string, any>;
|
|
@@ -0,0 +1,75 @@
|
|
|
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 buildSettingsViewInputArgs_exports = {};
|
|
29
|
+
__export(buildSettingsViewInputArgs_exports, {
|
|
30
|
+
buildSettingsViewInputArgs: () => buildSettingsViewInputArgs
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(buildSettingsViewInputArgs_exports);
|
|
33
|
+
var import_variablesParams = require("./variablesParams");
|
|
34
|
+
function buildSettingsViewInputArgs(model, extra, options) {
|
|
35
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
|
36
|
+
const defaults = {};
|
|
37
|
+
try {
|
|
38
|
+
const ref = (0, import_variablesParams.inferRecordRef)(model.context);
|
|
39
|
+
if (ref == null ? void 0 : ref.collection) {
|
|
40
|
+
defaults.collectionName = ref.collection;
|
|
41
|
+
defaults.dataSourceKey = ref.dataSourceKey || "main";
|
|
42
|
+
defaults.filterByTk = ref.filterByTk;
|
|
43
|
+
}
|
|
44
|
+
const parentArgs = ((_b = (_a = model == null ? void 0 : model.context) == null ? void 0 : _a.view) == null ? void 0 : _b.inputArgs) || {};
|
|
45
|
+
if (!defaults.collectionName && (parentArgs == null ? void 0 : parentArgs.collectionName)) {
|
|
46
|
+
defaults.collectionName = parentArgs.collectionName;
|
|
47
|
+
defaults.dataSourceKey = parentArgs.dataSourceKey || defaults.dataSourceKey || "main";
|
|
48
|
+
}
|
|
49
|
+
if (defaults.filterByTk == null && (parentArgs == null ? void 0 : parentArgs.filterByTk) != null) {
|
|
50
|
+
defaults.filterByTk = parentArgs.filterByTk;
|
|
51
|
+
}
|
|
52
|
+
if (defaults.sourceId == null && (parentArgs == null ? void 0 : parentArgs.sourceId) != null) {
|
|
53
|
+
defaults.sourceId = parentArgs.sourceId;
|
|
54
|
+
}
|
|
55
|
+
const nav = (options == null ? void 0 : options.navigationOverride) ?? ((_d = (_c = model == null ? void 0 : model.context) == null ? void 0 : _c.view) == null ? void 0 : _d.navigation);
|
|
56
|
+
if (nav) {
|
|
57
|
+
defaults.navigation = nav;
|
|
58
|
+
}
|
|
59
|
+
const sid = (_g = (_f = (_e = model == null ? void 0 : model.context) == null ? void 0 : _e.resource) == null ? void 0 : _f.getSourceId) == null ? void 0 : _g.call(_f);
|
|
60
|
+
if (sid !== void 0 && sid !== null && String(sid) !== "") {
|
|
61
|
+
defaults.sourceId = sid;
|
|
62
|
+
}
|
|
63
|
+
const assocName = ((_i = (_h = model == null ? void 0 : model.context) == null ? void 0 : _h.association) == null ? void 0 : _i.resourceName) || ((_l = (_k = (_j = model == null ? void 0 : model.context) == null ? void 0 : _j.resource) == null ? void 0 : _k.getResourceName) == null ? void 0 : _l.call(_k));
|
|
64
|
+
if (typeof assocName === "string" && assocName) {
|
|
65
|
+
defaults.associationName = assocName;
|
|
66
|
+
}
|
|
67
|
+
} catch (_) {
|
|
68
|
+
}
|
|
69
|
+
return { ...defaults, ...extra || {} };
|
|
70
|
+
}
|
|
71
|
+
__name(buildSettingsViewInputArgs, "buildSettingsViewInputArgs");
|
|
72
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
73
|
+
0 && (module.exports = {
|
|
74
|
+
buildSettingsViewInputArgs
|
|
75
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
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 { FlowContext } from '../flowContext';
|
|
10
|
+
import type { ActionDefinition } from '../types';
|
|
11
|
+
type ContextDefsLike<TCtx extends FlowContext> = Partial<Pick<ActionDefinition<any, TCtx>, 'defineProperties' | 'defineMethods'>> | null | undefined;
|
|
12
|
+
export declare function createEphemeralContext<TCtx extends FlowContext>(parent: TCtx, contextDefs?: ContextDefsLike<TCtx>): Promise<TCtx>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,140 @@
|
|
|
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 createEphemeralContext_exports = {};
|
|
29
|
+
__export(createEphemeralContext_exports, {
|
|
30
|
+
createEphemeralContext: () => createEphemeralContext
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(createEphemeralContext_exports);
|
|
33
|
+
var import_flowContext = require("../flowContext");
|
|
34
|
+
async function createEphemeralContext(parent, contextDefs) {
|
|
35
|
+
if (contextDefs == null || !contextDefs.defineProperties && !contextDefs.defineMethods) {
|
|
36
|
+
return parent;
|
|
37
|
+
}
|
|
38
|
+
const scoped = new import_flowContext.FlowContext();
|
|
39
|
+
scoped.addDelegate(parent);
|
|
40
|
+
const scopedProxy = scoped.createProxy();
|
|
41
|
+
const scopedObj = scopedProxy;
|
|
42
|
+
const parentObj = parent;
|
|
43
|
+
const getFromParent = /* @__PURE__ */ __name((key) => {
|
|
44
|
+
const val = Reflect.get(parentObj, key, parentObj);
|
|
45
|
+
return typeof val === "function" ? val.bind(parent) : val;
|
|
46
|
+
}, "getFromParent");
|
|
47
|
+
const hasInScopedOrParent = /* @__PURE__ */ __name((key) => key === "defineProperty" || key === "defineMethod" || Reflect.has(scopedObj, key) || Reflect.has(parentObj, key), "hasInScopedOrParent");
|
|
48
|
+
const injectionProxy = new Proxy(scopedProxy, {
|
|
49
|
+
get(_t, key, receiver) {
|
|
50
|
+
if (typeof key === "string") {
|
|
51
|
+
if (key === "defineProperty") {
|
|
52
|
+
return (propKey, options) => scoped.defineProperty(propKey, options);
|
|
53
|
+
}
|
|
54
|
+
if (key === "defineMethod") {
|
|
55
|
+
return (name, fn, des) => scoped.defineMethod(name, fn, des);
|
|
56
|
+
}
|
|
57
|
+
if (Reflect.has(scopedObj, key)) {
|
|
58
|
+
return Reflect.get(scopedObj, key, receiver);
|
|
59
|
+
}
|
|
60
|
+
return getFromParent(key);
|
|
61
|
+
}
|
|
62
|
+
return Reflect.get(scopedObj, key, receiver);
|
|
63
|
+
},
|
|
64
|
+
set(_t, key, value) {
|
|
65
|
+
return Reflect.set(parentObj, key, value);
|
|
66
|
+
},
|
|
67
|
+
has(_t, key) {
|
|
68
|
+
return hasInScopedOrParent(key);
|
|
69
|
+
},
|
|
70
|
+
getOwnPropertyDescriptor(_t, key) {
|
|
71
|
+
return Object.getOwnPropertyDescriptor(scopedObj, key) || Object.getOwnPropertyDescriptor(parentObj, key);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
if (contextDefs) {
|
|
75
|
+
const defs = Array.isArray(contextDefs) ? contextDefs : [contextDefs];
|
|
76
|
+
for (const defLike of defs) {
|
|
77
|
+
if (!defLike) continue;
|
|
78
|
+
const dp = defLike.defineProperties;
|
|
79
|
+
if (dp) {
|
|
80
|
+
const raw = typeof dp === "function" ? await dp(injectionProxy) : dp;
|
|
81
|
+
if (!raw || typeof raw !== "object") {
|
|
82
|
+
throw new TypeError("defineProperties must return an object of PropertyOptions");
|
|
83
|
+
}
|
|
84
|
+
const propsDef = raw;
|
|
85
|
+
for (const [key, options] of Object.entries(propsDef)) {
|
|
86
|
+
if (!options || typeof options !== "object") {
|
|
87
|
+
throw new TypeError(`defineProperties['${key}'] must be a PropertyOptions object`);
|
|
88
|
+
}
|
|
89
|
+
scoped.defineProperty(key, options);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
const dm = defLike.defineMethods;
|
|
93
|
+
if (dm) {
|
|
94
|
+
const raw = typeof dm === "function" ? await dm(injectionProxy) : dm;
|
|
95
|
+
if (!raw || typeof raw !== "object") {
|
|
96
|
+
throw new TypeError("defineMethods must return an object of functions");
|
|
97
|
+
}
|
|
98
|
+
const methodsDef = raw;
|
|
99
|
+
for (const [key, fn] of Object.entries(methodsDef)) {
|
|
100
|
+
if (typeof fn !== "function") {
|
|
101
|
+
throw new TypeError(`defineMethods['${key}'] must be a function`);
|
|
102
|
+
}
|
|
103
|
+
scoped.defineMethod(key, fn);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const outerProxy = new Proxy(scopedProxy, {
|
|
109
|
+
get(_t, key, receiver) {
|
|
110
|
+
if (typeof key === "string") {
|
|
111
|
+
if (key === "defineProperty") {
|
|
112
|
+
return (propKey, options) => parent.defineProperty(propKey, options);
|
|
113
|
+
}
|
|
114
|
+
if (key === "defineMethod") {
|
|
115
|
+
return (name, fn, des) => parent.defineMethod(name, fn, des);
|
|
116
|
+
}
|
|
117
|
+
if (Reflect.has(scopedObj, key)) {
|
|
118
|
+
return Reflect.get(scopedObj, key, receiver);
|
|
119
|
+
}
|
|
120
|
+
return getFromParent(key);
|
|
121
|
+
}
|
|
122
|
+
return Reflect.get(scopedObj, key, receiver);
|
|
123
|
+
},
|
|
124
|
+
set(_t, key, value) {
|
|
125
|
+
return Reflect.set(parentObj, key, value);
|
|
126
|
+
},
|
|
127
|
+
has(_t, key) {
|
|
128
|
+
return hasInScopedOrParent(key);
|
|
129
|
+
},
|
|
130
|
+
getOwnPropertyDescriptor(_t, key) {
|
|
131
|
+
return Object.getOwnPropertyDescriptor(scopedObj, key) || Object.getOwnPropertyDescriptor(parentObj, key);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
return outerProxy;
|
|
135
|
+
}
|
|
136
|
+
__name(createEphemeralContext, "createEphemeralContext");
|
|
137
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
138
|
+
0 && (module.exports = {
|
|
139
|
+
createEphemeralContext
|
|
140
|
+
});
|
|
@@ -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 { FlowDefinition } from '../FlowDefinition';
|
|
10
|
+
export declare const isBeforeRenderFlow: (flow: FlowDefinition) => boolean;
|
|
@@ -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,19 +25,24 @@ 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 flows_exports = {};
|
|
29
|
+
__export(flows_exports, {
|
|
30
|
+
isBeforeRenderFlow: () => isBeforeRenderFlow
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(flows_exports);
|
|
33
|
+
const isBeforeRenderFlow = /* @__PURE__ */ __name((flow) => {
|
|
34
|
+
if (typeof flow.on === "string") {
|
|
35
|
+
return flow.on === "beforeRender";
|
|
36
|
+
}
|
|
37
|
+
if (typeof flow.on === "object") {
|
|
38
|
+
return flow.on.eventName === "beforeRender";
|
|
39
|
+
}
|
|
40
|
+
if (!flow.on && flow.manual !== true) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
}, "isBeforeRenderFlow");
|
|
45
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
46
|
+
0 && (module.exports = {
|
|
47
|
+
isBeforeRenderFlow
|
|
30
48
|
});
|
|
31
|
-
module.exports = __toCommonJS(api_request_post_snippet_exports);
|
|
32
|
-
var api_request_post_snippet_default = {
|
|
33
|
-
contexts: ["*"],
|
|
34
|
-
prefix: "sn-api-post",
|
|
35
|
-
label: "POST request template",
|
|
36
|
-
description: "Basic template to send a POST request via ctx.api",
|
|
37
|
-
content: `
|
|
38
|
-
const res = await ctx.api.request({ url: '/your/api', method: 'post', data: { name: 'NocoBase' } });
|
|
39
|
-
ctx.message.success(ctx.t('POST request completed'));
|
|
40
|
-
console.log(ctx.t('POST result:'), res);
|
|
41
|
-
`
|
|
42
|
-
};
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -15,8 +15,13 @@ export { resolveCreateModelOptions, resolveDefaultParams, resolveExpressions } f
|
|
|
15
15
|
export { compileUiSchema, resolveStepUiSchema, resolveUiMode } from './schema-utils';
|
|
16
16
|
export { setupRuntimeContextSteps } from './setupRuntimeContextSteps';
|
|
17
17
|
export { createCollectionContextMeta } from './createCollectionContextMeta';
|
|
18
|
-
export {
|
|
18
|
+
export { createAssociationAwareObjectMetaFactory, createAssociationSubpathResolver } from './associationObjectVariable';
|
|
19
|
+
export { buildRecordMeta, collectContextParamsForTemplate, createCurrentRecordMetaFactory, createRecordMetaFactory, extractUsedVariableNames, extractUsedVariablePaths, inferRecordRef, type RecordParamsBuilder, } from './variablesParams';
|
|
19
20
|
export { extractPropertyPath, formatPathToVariable, isVariableExpression } from './context';
|
|
20
21
|
export { clearAutoFlowError, getAutoFlowError, setAutoFlowError, type AutoFlowError } from './autoFlowError';
|
|
21
22
|
export { parsePathnameToViewParams, type ViewParam } from './parsePathnameToViewParams';
|
|
22
|
-
export {
|
|
23
|
+
export { buildSettingsViewInputArgs } from './buildSettingsViewInputArgs';
|
|
24
|
+
export { createSafeDocument, createSafeWindow, createSafeNavigator } from './safeGlobals';
|
|
25
|
+
export { createEphemeralContext } from './createEphemeralContext';
|
|
26
|
+
export { pruneFilter } from './pruneFilter';
|
|
27
|
+
export { isBeforeRenderFlow } from './flows';
|
package/lib/utils/index.js
CHANGED
|
@@ -32,13 +32,18 @@ __export(utils_exports, {
|
|
|
32
32
|
FlowExitException: () => import_exceptions.FlowExitException,
|
|
33
33
|
MENU_KEYS: () => import_constants.MENU_KEYS,
|
|
34
34
|
buildRecordMeta: () => import_variablesParams.buildRecordMeta,
|
|
35
|
+
buildSettingsViewInputArgs: () => import_buildSettingsViewInputArgs.buildSettingsViewInputArgs,
|
|
35
36
|
clearAutoFlowError: () => import_autoFlowError.clearAutoFlowError,
|
|
36
37
|
collectContextParamsForTemplate: () => import_variablesParams.collectContextParamsForTemplate,
|
|
37
38
|
compileUiSchema: () => import_schema_utils.compileUiSchema,
|
|
39
|
+
createAssociationAwareObjectMetaFactory: () => import_associationObjectVariable.createAssociationAwareObjectMetaFactory,
|
|
40
|
+
createAssociationSubpathResolver: () => import_associationObjectVariable.createAssociationSubpathResolver,
|
|
38
41
|
createCollectionContextMeta: () => import_createCollectionContextMeta.createCollectionContextMeta,
|
|
39
42
|
createCurrentRecordMetaFactory: () => import_variablesParams.createCurrentRecordMetaFactory,
|
|
43
|
+
createEphemeralContext: () => import_createEphemeralContext.createEphemeralContext,
|
|
40
44
|
createRecordMetaFactory: () => import_variablesParams.createRecordMetaFactory,
|
|
41
45
|
createSafeDocument: () => import_safeGlobals.createSafeDocument,
|
|
46
|
+
createSafeNavigator: () => import_safeGlobals.createSafeNavigator,
|
|
42
47
|
createSafeWindow: () => import_safeGlobals.createSafeWindow,
|
|
43
48
|
defineAction: () => import_flow_definitions.defineAction,
|
|
44
49
|
escapeT: () => import_translation.escapeT,
|
|
@@ -48,11 +53,12 @@ __export(utils_exports, {
|
|
|
48
53
|
formatPathToVariable: () => import_context.formatPathToVariable,
|
|
49
54
|
getAutoFlowError: () => import_autoFlowError.getAutoFlowError,
|
|
50
55
|
getT: () => import_translation.getT,
|
|
51
|
-
inferParentRecordRef: () => import_variablesParams.inferParentRecordRef,
|
|
52
56
|
inferRecordRef: () => import_variablesParams.inferRecordRef,
|
|
57
|
+
isBeforeRenderFlow: () => import_flows.isBeforeRenderFlow,
|
|
53
58
|
isInheritedFrom: () => import_inheritance.isInheritedFrom,
|
|
54
59
|
isVariableExpression: () => import_context.isVariableExpression,
|
|
55
60
|
parsePathnameToViewParams: () => import_parsePathnameToViewParams.parsePathnameToViewParams,
|
|
61
|
+
pruneFilter: () => import_pruneFilter.pruneFilter,
|
|
56
62
|
resolveCreateModelOptions: () => import_params_resolvers.resolveCreateModelOptions,
|
|
57
63
|
resolveDefaultParams: () => import_params_resolvers.resolveDefaultParams,
|
|
58
64
|
resolveExpressions: () => import_params_resolvers.resolveExpressions,
|
|
@@ -72,11 +78,16 @@ var import_params_resolvers = require("./params-resolvers");
|
|
|
72
78
|
var import_schema_utils = require("./schema-utils");
|
|
73
79
|
var import_setupRuntimeContextSteps = require("./setupRuntimeContextSteps");
|
|
74
80
|
var import_createCollectionContextMeta = require("./createCollectionContextMeta");
|
|
81
|
+
var import_associationObjectVariable = require("./associationObjectVariable");
|
|
75
82
|
var import_variablesParams = require("./variablesParams");
|
|
76
83
|
var import_context = require("./context");
|
|
77
84
|
var import_autoFlowError = require("./autoFlowError");
|
|
78
85
|
var import_parsePathnameToViewParams = require("./parsePathnameToViewParams");
|
|
86
|
+
var import_buildSettingsViewInputArgs = require("./buildSettingsViewInputArgs");
|
|
79
87
|
var import_safeGlobals = require("./safeGlobals");
|
|
88
|
+
var import_createEphemeralContext = require("./createEphemeralContext");
|
|
89
|
+
var import_pruneFilter = require("./pruneFilter");
|
|
90
|
+
var import_flows = require("./flows");
|
|
80
91
|
// Annotate the CommonJS export names for ESM import in node:
|
|
81
92
|
0 && (module.exports = {
|
|
82
93
|
BLOCK_GROUP_CONFIGS,
|
|
@@ -85,13 +96,18 @@ var import_safeGlobals = require("./safeGlobals");
|
|
|
85
96
|
FlowExitException,
|
|
86
97
|
MENU_KEYS,
|
|
87
98
|
buildRecordMeta,
|
|
99
|
+
buildSettingsViewInputArgs,
|
|
88
100
|
clearAutoFlowError,
|
|
89
101
|
collectContextParamsForTemplate,
|
|
90
102
|
compileUiSchema,
|
|
103
|
+
createAssociationAwareObjectMetaFactory,
|
|
104
|
+
createAssociationSubpathResolver,
|
|
91
105
|
createCollectionContextMeta,
|
|
92
106
|
createCurrentRecordMetaFactory,
|
|
107
|
+
createEphemeralContext,
|
|
93
108
|
createRecordMetaFactory,
|
|
94
109
|
createSafeDocument,
|
|
110
|
+
createSafeNavigator,
|
|
95
111
|
createSafeWindow,
|
|
96
112
|
defineAction,
|
|
97
113
|
escapeT,
|
|
@@ -101,11 +117,12 @@ var import_safeGlobals = require("./safeGlobals");
|
|
|
101
117
|
formatPathToVariable,
|
|
102
118
|
getAutoFlowError,
|
|
103
119
|
getT,
|
|
104
|
-
inferParentRecordRef,
|
|
105
120
|
inferRecordRef,
|
|
121
|
+
isBeforeRenderFlow,
|
|
106
122
|
isInheritedFrom,
|
|
107
123
|
isVariableExpression,
|
|
108
124
|
parsePathnameToViewParams,
|
|
125
|
+
pruneFilter,
|
|
109
126
|
resolveCreateModelOptions,
|
|
110
127
|
resolveDefaultParams,
|
|
111
128
|
resolveExpressions,
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
+
* Lightweight JSX -> JS compiler for RunJS user code.
|
|
11
|
+
* - Uses sucrase via dynamic import (lazy; avoids static cycles and cost when not needed)
|
|
12
|
+
* - Maps JSX to ctx.React.createElement / ctx.React.Fragment so no global React is required
|
|
13
|
+
* - If sucrase is unavailable or transform throws, returns original code as graceful fallback
|
|
14
|
+
*/
|
|
15
|
+
export declare function compileRunJs(code: string): Promise<string>;
|
|
@@ -0,0 +1,68 @@
|
|
|
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 jsxTransform_exports = {};
|
|
39
|
+
__export(jsxTransform_exports, {
|
|
40
|
+
compileRunJs: () => compileRunJs
|
|
41
|
+
});
|
|
42
|
+
module.exports = __toCommonJS(jsxTransform_exports);
|
|
43
|
+
async function compileRunJs(code) {
|
|
44
|
+
var _a;
|
|
45
|
+
const maybeJSX = /<[A-Za-z]|<\//.test(code);
|
|
46
|
+
if (!maybeJSX) return code;
|
|
47
|
+
try {
|
|
48
|
+
const mod = await import("sucrase");
|
|
49
|
+
const transform = (mod == null ? void 0 : mod.transform) || ((_a = mod == null ? void 0 : mod.default) == null ? void 0 : _a.transform);
|
|
50
|
+
if (typeof transform !== "function") return code;
|
|
51
|
+
const res = transform(code, {
|
|
52
|
+
transforms: ["jsx"],
|
|
53
|
+
jsxPragma: "ctx.React.createElement",
|
|
54
|
+
jsxFragmentPragma: "ctx.React.Fragment",
|
|
55
|
+
// Keep ES syntax as-is; JSRunner runs in modern engines
|
|
56
|
+
disableESTransforms: true,
|
|
57
|
+
production: true
|
|
58
|
+
});
|
|
59
|
+
return (res && (res.code || (res == null ? void 0 : res.output))) ?? code;
|
|
60
|
+
} catch (_e) {
|
|
61
|
+
return code;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
__name(compileRunJs, "compileRunJs");
|
|
65
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
66
|
+
0 && (module.exports = {
|
|
67
|
+
compileRunJs
|
|
68
|
+
});
|