@nocobase/flow-engine 2.0.0-alpha.2
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/LICENSE +661 -0
- package/README.md +30 -0
- package/lib/ContextPathProxy.d.ts +17 -0
- package/lib/ContextPathProxy.js +65 -0
- package/lib/ElementProxy.d.ts +17 -0
- package/lib/ElementProxy.js +93 -0
- package/lib/FlowContextProvider.d.ts +24 -0
- package/lib/FlowContextProvider.js +82 -0
- package/lib/FlowDefinition.d.ts +423 -0
- package/lib/FlowDefinition.js +257 -0
- package/lib/JSRunner.d.ts +32 -0
- package/lib/JSRunner.js +95 -0
- package/lib/ReactView.d.ts +20 -0
- package/lib/ReactView.js +120 -0
- package/lib/ViewScopedFlowEngine.d.ts +23 -0
- package/lib/ViewScopedFlowEngine.js +81 -0
- package/lib/acl/Acl.d.ts +31 -0
- package/lib/acl/Acl.js +115 -0
- package/lib/action-registry/BaseActionRegistry.d.ts +23 -0
- package/lib/action-registry/BaseActionRegistry.js +57 -0
- package/lib/action-registry/EngineActionRegistry.d.ts +20 -0
- package/lib/action-registry/EngineActionRegistry.js +47 -0
- package/lib/action-registry/ModelActionRegistry.d.ts +34 -0
- package/lib/action-registry/ModelActionRegistry.js +79 -0
- package/lib/components/DynamicFlowsEditor.d.ts +17 -0
- package/lib/components/DynamicFlowsEditor.js +49 -0
- package/lib/components/FieldModelRenderer.d.ts +10 -0
- package/lib/components/FieldModelRenderer.js +94 -0
- package/lib/components/FlowContextSelector.d.ts +11 -0
- package/lib/components/FlowContextSelector.js +221 -0
- package/lib/components/FlowErrorFallback.d.ts +25 -0
- package/lib/components/FlowErrorFallback.js +264 -0
- package/lib/components/FlowModelRenderer.d.ts +64 -0
- package/lib/components/FlowModelRenderer.js +254 -0
- package/lib/components/FormItem.d.ts +18 -0
- package/lib/components/FormItem.js +147 -0
- package/lib/components/common/FlowSettingsButton.d.ts +11 -0
- package/lib/components/common/FlowSettingsButton.js +66 -0
- package/lib/components/common/index.d.ts +9 -0
- package/lib/components/common/index.js +30 -0
- package/lib/components/common/withFlowDesignMode.d.ts +26 -0
- package/lib/components/common/withFlowDesignMode.js +61 -0
- package/lib/components/dnd/getMousePositionOnElement.d.ts +50 -0
- package/lib/components/dnd/getMousePositionOnElement.js +95 -0
- package/lib/components/dnd/index.d.ts +24 -0
- package/lib/components/dnd/index.js +164 -0
- package/lib/components/dnd/moveBlock.d.ts +33 -0
- package/lib/components/dnd/moveBlock.js +302 -0
- package/lib/components/index.d.ts +18 -0
- package/lib/components/index.js +48 -0
- package/lib/components/settings/independents/dropdown/FlowsDropdownButton.d.ts +46 -0
- package/lib/components/settings/independents/dropdown/FlowsDropdownButton.js +225 -0
- package/lib/components/settings/independents/dropdown/index.d.ts +9 -0
- package/lib/components/settings/independents/dropdown/index.js +30 -0
- package/lib/components/settings/independents/index.d.ts +1 -0
- package/lib/components/settings/independents/index.js +30 -0
- package/lib/components/settings/index.d.ts +10 -0
- package/lib/components/settings/index.js +32 -0
- package/lib/components/settings/wrappers/contextual/DefaultSettingsIcon.d.ts +24 -0
- package/lib/components/settings/wrappers/contextual/DefaultSettingsIcon.js +501 -0
- package/lib/components/settings/wrappers/contextual/FlowsContextMenu.d.ts +45 -0
- package/lib/components/settings/wrappers/contextual/FlowsContextMenu.js +231 -0
- package/lib/components/settings/wrappers/contextual/FlowsFloatContextMenu.d.ts +111 -0
- package/lib/components/settings/wrappers/contextual/FlowsFloatContextMenu.js +484 -0
- package/lib/components/settings/wrappers/contextual/StepRequiredSettingsDialog.d.ts +26 -0
- package/lib/components/settings/wrappers/contextual/StepRequiredSettingsDialog.js +342 -0
- package/lib/components/settings/wrappers/contextual/StepSettings.d.ts +23 -0
- package/lib/components/settings/wrappers/contextual/StepSettings.js +110 -0
- package/lib/components/settings/wrappers/contextual/StepSettingsDialog.d.ts +20 -0
- package/lib/components/settings/wrappers/contextual/StepSettingsDialog.js +206 -0
- package/lib/components/settings/wrappers/contextual/StepSettingsDrawer.d.ts +20 -0
- package/lib/components/settings/wrappers/contextual/StepSettingsDrawer.js +47 -0
- package/lib/components/settings/wrappers/contextual/index.d.ts +14 -0
- package/lib/components/settings/wrappers/contextual/index.js +40 -0
- package/lib/components/settings/wrappers/embedded/FlowSettings.d.ts +33 -0
- package/lib/components/settings/wrappers/embedded/FlowSettings.js +207 -0
- package/lib/components/settings/wrappers/embedded/FlowsSettings.d.ts +41 -0
- package/lib/components/settings/wrappers/embedded/FlowsSettings.js +84 -0
- package/lib/components/settings/wrappers/embedded/FlowsSettingsContent.d.ts +16 -0
- package/lib/components/settings/wrappers/embedded/FlowsSettingsContent.js +88 -0
- package/lib/components/settings/wrappers/embedded/index.d.ts +10 -0
- package/lib/components/settings/wrappers/embedded/index.js +32 -0
- package/lib/components/settings/wrappers/index.d.ts +2 -0
- package/lib/components/settings/wrappers/index.js +32 -0
- package/lib/components/subModel/AddSubModelButton.d.ts +62 -0
- package/lib/components/subModel/AddSubModelButton.js +415 -0
- package/lib/components/subModel/LazyDropdown.d.ts +55 -0
- package/lib/components/subModel/LazyDropdown.js +524 -0
- package/lib/components/subModel/index.d.ts +10 -0
- package/lib/components/subModel/index.js +32 -0
- package/lib/components/subModel/utils.d.ts +34 -0
- package/lib/components/subModel/utils.js +287 -0
- package/lib/components/variables/InlineVariableTag.d.ts +21 -0
- package/lib/components/variables/InlineVariableTag.js +123 -0
- package/lib/components/variables/SlateVariableEditor.d.ts +46 -0
- package/lib/components/variables/SlateVariableEditor.js +302 -0
- package/lib/components/variables/VariableInput.d.ts +11 -0
- package/lib/components/variables/VariableInput.js +322 -0
- package/lib/components/variables/VariableTag.d.ts +11 -0
- package/lib/components/variables/VariableTag.js +148 -0
- package/lib/components/variables/VariableTrigger.d.ts +20 -0
- package/lib/components/variables/VariableTrigger.js +136 -0
- package/lib/components/variables/index.d.ts +15 -0
- package/lib/components/variables/index.js +53 -0
- package/lib/components/variables/types.d.ts +93 -0
- package/lib/components/variables/types.js +24 -0
- package/lib/components/variables/useResolvedMetaTree.d.ts +19 -0
- package/lib/components/variables/useResolvedMetaTree.js +91 -0
- package/lib/components/variables/utils.d.ts +22 -0
- package/lib/components/variables/utils.js +177 -0
- package/lib/data-source/index.d.ts +180 -0
- package/lib/data-source/index.js +733 -0
- package/lib/data-source/jioToJoiSchema.d.ts +19 -0
- package/lib/data-source/jioToJoiSchema.js +114 -0
- package/lib/decorators/index.d.ts +9 -0
- package/lib/decorators/index.js +36 -0
- package/lib/decorators/largeField.d.ts +9 -0
- package/lib/decorators/largeField.js +42 -0
- package/lib/emitter.d.ts +16 -0
- package/lib/emitter.js +58 -0
- package/lib/event-registry/BaseEventRegistry.d.ts +22 -0
- package/lib/event-registry/BaseEventRegistry.js +57 -0
- package/lib/event-registry/EngineEventRegistry.d.ts +19 -0
- package/lib/event-registry/EngineEventRegistry.js +47 -0
- package/lib/event-registry/ModelEventRegistry.d.ts +33 -0
- package/lib/event-registry/ModelEventRegistry.js +79 -0
- package/lib/executor/FlowExecutor.d.ts +26 -0
- package/lib/executor/FlowExecutor.js +262 -0
- package/lib/flow-registry/BaseFlowRegistry.d.ts +46 -0
- package/lib/flow-registry/BaseFlowRegistry.js +86 -0
- package/lib/flow-registry/GlobalFlowRegistry.d.ts +22 -0
- package/lib/flow-registry/GlobalFlowRegistry.js +95 -0
- package/lib/flow-registry/InstanceFlowRegistry.d.ts +21 -0
- package/lib/flow-registry/InstanceFlowRegistry.js +59 -0
- package/lib/flow-registry/index.d.ts +11 -0
- package/lib/flow-registry/index.js +34 -0
- package/lib/flowContext.d.ts +215 -0
- package/lib/flowContext.js +1266 -0
- package/lib/flowEngine.d.ts +340 -0
- package/lib/flowEngine.js +781 -0
- package/lib/flowI18n.d.ts +46 -0
- package/lib/flowI18n.js +117 -0
- package/lib/flowSettings.d.ts +266 -0
- package/lib/flowSettings.js +850 -0
- package/lib/hooks/index.d.ts +14 -0
- package/lib/hooks/index.js +40 -0
- package/lib/hooks/useApplyAutoFlows.d.ts +21 -0
- package/lib/hooks/useApplyAutoFlows.js +62 -0
- package/lib/hooks/useFlowModel.d.ts +29 -0
- package/lib/hooks/useFlowModel.js +72 -0
- package/lib/hooks/useFlowModelById.d.ts +11 -0
- package/lib/hooks/useFlowModelById.js +61 -0
- package/lib/hooks/useFlowSettingsContext.d.ts +20 -0
- package/lib/hooks/useFlowSettingsContext.js +61 -0
- package/lib/hooks/useFlowStep.d.ts +17 -0
- package/lib/hooks/useFlowStep.js +56 -0
- package/lib/hooks/useNiceDropdownMaxHeight.d.ts +13 -0
- package/lib/hooks/useNiceDropdownMaxHeight.js +52 -0
- package/lib/index.d.ts +27 -0
- package/lib/index.js +73 -0
- package/lib/locale/en-US.json +61 -0
- package/lib/locale/index.d.ts +141 -0
- package/lib/locale/index.js +70 -0
- package/lib/locale/zh-CN.json +61 -0
- package/lib/models/CollectionFieldModel.d.ts +50 -0
- package/lib/models/CollectionFieldModel.js +242 -0
- package/lib/models/DisplayItemModel.d.ts +12 -0
- package/lib/models/DisplayItemModel.js +41 -0
- package/lib/models/EditableItemModel.d.ts +12 -0
- package/lib/models/EditableItemModel.js +41 -0
- package/lib/models/FilterableItemModel.d.ts +12 -0
- package/lib/models/FilterableItemModel.js +41 -0
- package/lib/models/flowModel.d.ts +344 -0
- package/lib/models/flowModel.js +1133 -0
- package/lib/models/forkFlowModel.d.ts +83 -0
- package/lib/models/forkFlowModel.js +257 -0
- package/lib/models/index.d.ts +14 -0
- package/lib/models/index.js +40 -0
- package/lib/provider.d.ts +22 -0
- package/lib/provider.js +114 -0
- package/lib/resources/apiResource.d.ts +34 -0
- package/lib/resources/apiResource.js +153 -0
- package/lib/resources/baseRecordResource.d.ts +61 -0
- package/lib/resources/baseRecordResource.js +264 -0
- package/lib/resources/filterItem.d.ts +33 -0
- package/lib/resources/filterItem.js +93 -0
- package/lib/resources/flowResource.d.ts +45 -0
- package/lib/resources/flowResource.js +146 -0
- package/lib/resources/index.d.ts +15 -0
- package/lib/resources/index.js +42 -0
- package/lib/resources/multiRecordResource.d.ts +53 -0
- package/lib/resources/multiRecordResource.js +230 -0
- package/lib/resources/singleRecordResource.d.ts +23 -0
- package/lib/resources/singleRecordResource.js +111 -0
- package/lib/resources/sqlResource.d.ts +73 -0
- package/lib/resources/sqlResource.js +294 -0
- package/lib/runjs-context/contexts/FlowRunJSContext.d.ts +38 -0
- package/lib/runjs-context/contexts/FlowRunJSContext.js +217 -0
- package/lib/runjs-context/contexts/FormJSFieldItemRunJSContext.d.ts +16 -0
- package/lib/runjs-context/contexts/FormJSFieldItemRunJSContext.js +66 -0
- package/lib/runjs-context/contexts/JSBlockRunJSContext.d.ts +16 -0
- package/lib/runjs-context/contexts/JSBlockRunJSContext.js +78 -0
- package/lib/runjs-context/contexts/JSCollectionActionRunJSContext.d.ts +12 -0
- package/lib/runjs-context/contexts/JSCollectionActionRunJSContext.js +59 -0
- package/lib/runjs-context/contexts/JSFieldRunJSContext.d.ts +16 -0
- package/lib/runjs-context/contexts/JSFieldRunJSContext.js +70 -0
- package/lib/runjs-context/contexts/JSItemRunJSContext.d.ts +16 -0
- package/lib/runjs-context/contexts/JSItemRunJSContext.js +66 -0
- package/lib/runjs-context/contexts/JSRecordActionRunJSContext.d.ts +12 -0
- package/lib/runjs-context/contexts/JSRecordActionRunJSContext.js +61 -0
- package/lib/runjs-context/contexts/LinkageRunJSContext.d.ts +12 -0
- package/lib/runjs-context/contexts/LinkageRunJSContext.js +62 -0
- package/lib/runjs-context/helpers.d.ts +17 -0
- package/lib/runjs-context/helpers.js +79 -0
- package/lib/runjs-context/index.d.ts +19 -0
- package/lib/runjs-context/index.js +57 -0
- package/lib/runjs-context/registry.d.ts +17 -0
- package/lib/runjs-context/registry.js +93 -0
- package/lib/runjs-context/snippets/global/api-request-get.snippet.d.ts +16 -0
- package/lib/runjs-context/snippets/global/api-request-get.snippet.js +42 -0
- package/lib/runjs-context/snippets/global/api-request-post.snippet.d.ts +16 -0
- package/lib/runjs-context/snippets/global/api-request-post.snippet.js +42 -0
- package/lib/runjs-context/snippets/global/console-log-ctx.snippet.d.ts +16 -0
- package/lib/runjs-context/snippets/global/console-log-ctx.snippet.js +41 -0
- package/lib/runjs-context/snippets/global/copy-record-json.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/global/copy-record-json.snippet.js +42 -0
- package/lib/runjs-context/snippets/global/copy-to-clipboard.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/global/copy-to-clipboard.snippet.js +42 -0
- package/lib/runjs-context/snippets/global/log-json-record.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/global/log-json-record.snippet.js +42 -0
- package/lib/runjs-context/snippets/global/message-error.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/global/message-error.snippet.js +41 -0
- package/lib/runjs-context/snippets/global/message-success.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/global/message-success.snippet.js +41 -0
- package/lib/runjs-context/snippets/global/notification-open.snippet.d.ts +16 -0
- package/lib/runjs-context/snippets/global/notification-open.snippet.js +43 -0
- package/lib/runjs-context/snippets/global/open-view-dialog.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/global/open-view-dialog.snippet.js +47 -0
- package/lib/runjs-context/snippets/global/open-view-drawer.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/global/open-view-drawer.snippet.js +47 -0
- package/lib/runjs-context/snippets/global/requireAsync.snippet.d.ts +16 -0
- package/lib/runjs-context/snippets/global/requireAsync.snippet.js +46 -0
- package/lib/runjs-context/snippets/global/sleep.snippet.d.ts +16 -0
- package/lib/runjs-context/snippets/global/sleep.snippet.js +43 -0
- package/lib/runjs-context/snippets/global/try-catch-async.snippet.d.ts +16 -0
- package/lib/runjs-context/snippets/global/try-catch-async.snippet.js +44 -0
- package/lib/runjs-context/snippets/global/view-navigation-push.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/global/view-navigation-push.snippet.js +44 -0
- package/lib/runjs-context/snippets/global/window-open.snippet.d.ts +16 -0
- package/lib/runjs-context/snippets/global/window-open.snippet.js +41 -0
- package/lib/runjs-context/snippets/index.d.ts +11 -0
- package/lib/runjs-context/snippets/index.js +94 -0
- package/lib/runjs-context/snippets/libs/echarts-init.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/libs/echarts-init.snippet.js +46 -0
- package/lib/runjs-context/snippets/scene/actions/collection-selected-count.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/actions/collection-selected-count.snippet.js +44 -0
- package/lib/runjs-context/snippets/scene/actions/iterate-selected-rows.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/actions/iterate-selected-rows.snippet.js +43 -0
- package/lib/runjs-context/snippets/scene/actions/record-id-message.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/actions/record-id-message.snippet.js +43 -0
- package/lib/runjs-context/snippets/scene/actions/run-action-basic.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/actions/run-action-basic.snippet.js +40 -0
- package/lib/runjs-context/snippets/scene/jsblock/add-event-listener.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/jsblock/add-event-listener.snippet.js +46 -0
- package/lib/runjs-context/snippets/scene/jsblock/append-style.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/jsblock/append-style.snippet.js +42 -0
- package/lib/runjs-context/snippets/scene/jsblock/jsx-mount.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/jsblock/jsx-mount.snippet.js +46 -0
- package/lib/runjs-context/snippets/scene/jsblock/jsx-unmount.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/jsblock/jsx-unmount.snippet.js +41 -0
- package/lib/runjs-context/snippets/scene/jsblock/render-basic.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/jsblock/render-basic.snippet.js +41 -0
- package/lib/runjs-context/snippets/scene/jsblock/render-button-handler.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/jsblock/render-button-handler.snippet.js +46 -0
- package/lib/runjs-context/snippets/scene/jsblock/render-card.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/jsblock/render-card.snippet.js +45 -0
- package/lib/runjs-context/snippets/scene/jsblock/render-react.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/jsblock/render-react.snippet.js +56 -0
- package/lib/runjs-context/snippets/scene/jsfield/color-by-value.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/jsfield/color-by-value.snippet.js +42 -0
- package/lib/runjs-context/snippets/scene/jsfield/format-number.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/jsfield/format-number.snippet.js +41 -0
- package/lib/runjs-context/snippets/scene/jsfield/innerHTML-value.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/jsfield/innerHTML-value.snippet.js +40 -0
- package/lib/runjs-context/snippets/scene/jsitem/render-basic.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/jsitem/render-basic.snippet.js +44 -0
- package/lib/runjs-context/snippets/scene/linkage/set-disabled.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/linkage/set-disabled.snippet.js +60 -0
- package/lib/runjs-context/snippets/scene/linkage/set-field-value.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/linkage/set-field-value.snippet.js +59 -0
- package/lib/runjs-context/snippets/scene/linkage/set-required.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/linkage/set-required.snippet.js +60 -0
- package/lib/runjs-context/snippets/scene/linkage/toggle-visible.snippet.d.ts +15 -0
- package/lib/runjs-context/snippets/scene/linkage/toggle-visible.snippet.js +60 -0
- package/lib/runjs-context/snippets/types.d.ts +16 -0
- package/lib/runjs-context/snippets/types.js +24 -0
- package/lib/types.d.ts +398 -0
- package/lib/types.js +43 -0
- package/lib/utils/autoFlowError.d.ts +16 -0
- package/lib/utils/autoFlowError.js +53 -0
- package/lib/utils/constants.d.ts +29 -0
- package/lib/utils/constants.js +77 -0
- package/lib/utils/context.d.ts +40 -0
- package/lib/utils/context.js +63 -0
- package/lib/utils/createCollectionContextMeta.d.ts +11 -0
- package/lib/utils/createCollectionContextMeta.js +117 -0
- package/lib/utils/exceptions.d.ts +22 -0
- package/lib/utils/exceptions.js +62 -0
- package/lib/utils/flow-definitions.d.ts +11 -0
- package/lib/utils/flow-definitions.js +40 -0
- package/lib/utils/index.d.ts +22 -0
- package/lib/utils/index.js +117 -0
- package/lib/utils/inheritance.d.ts +16 -0
- package/lib/utils/inheritance.js +53 -0
- package/lib/utils/params-resolvers.d.ts +51 -0
- package/lib/utils/params-resolvers.js +309 -0
- package/lib/utils/parsePathnameToViewParams.d.ts +34 -0
- package/lib/utils/parsePathnameToViewParams.js +84 -0
- package/lib/utils/safeGlobals.d.ts +16 -0
- package/lib/utils/safeGlobals.js +179 -0
- package/lib/utils/schema-utils.d.ts +40 -0
- package/lib/utils/schema-utils.js +161 -0
- package/lib/utils/serverContextParams.d.ts +28 -0
- package/lib/utils/serverContextParams.js +106 -0
- package/lib/utils/setupRuntimeContextSteps.d.ts +19 -0
- package/lib/utils/setupRuntimeContextSteps.js +88 -0
- package/lib/utils/translation.d.ts +18 -0
- package/lib/utils/translation.js +58 -0
- package/lib/utils/variablesParams.d.ts +51 -0
- package/lib/utils/variablesParams.js +150 -0
- package/lib/views/DialogComponent.d.ts +22 -0
- package/lib/views/DialogComponent.js +98 -0
- package/lib/views/DrawerComponent.d.ts +11 -0
- package/lib/views/DrawerComponent.js +101 -0
- package/lib/views/FlowView.d.ts +76 -0
- package/lib/views/FlowView.js +81 -0
- package/lib/views/PageComponent.d.ts +10 -0
- package/lib/views/PageComponent.js +167 -0
- package/lib/views/ViewNavigation.d.ts +45 -0
- package/lib/views/ViewNavigation.js +97 -0
- package/lib/views/createViewMeta.d.ts +16 -0
- package/lib/views/createViewMeta.js +171 -0
- package/lib/views/index.d.ts +13 -0
- package/lib/views/index.js +48 -0
- package/lib/views/useDialog.d.ts +32 -0
- package/lib/views/useDialog.js +199 -0
- package/lib/views/useDrawer.d.ts +33 -0
- package/lib/views/useDrawer.js +206 -0
- package/lib/views/usePage.d.ts +32 -0
- package/lib/views/usePage.js +193 -0
- package/lib/views/usePatchElement.d.ts +10 -0
- package/lib/views/usePatchElement.js +54 -0
- package/lib/views/usePopover.d.ts +17 -0
- package/lib/views/usePopover.js +159 -0
- package/package.json +37 -0
- package/src/ContextPathProxy.ts +45 -0
- package/src/ElementProxy.ts +69 -0
- package/src/FlowContextProvider.tsx +40 -0
- package/src/FlowDefinition.ts +275 -0
- package/src/JSRunner.ts +84 -0
- package/src/ReactView.tsx +104 -0
- package/src/ViewScopedFlowEngine.ts +75 -0
- package/src/__tests__/ElementProxy.test.ts +51 -0
- package/src/__tests__/JSRunner.test.ts +92 -0
- package/src/__tests__/ReactView.test.tsx +63 -0
- package/src/__tests__/context-path-proxy.test.ts +35 -0
- package/src/__tests__/flow-engine.test.ts +189 -0
- package/src/__tests__/flowContext.test.ts +2012 -0
- package/src/__tests__/flowEngine.saveModel.test.ts +171 -0
- package/src/__tests__/flowI18n.test.ts +28 -0
- package/src/__tests__/flowModel.getFlows.test.ts +61 -0
- package/src/__tests__/flowModel.openView.navigation.test.ts +78 -0
- package/src/__tests__/flowRuntimeContext.test.ts +187 -0
- package/src/__tests__/flowSettings.open.test.tsx +1920 -0
- package/src/__tests__/flowSettings.test.ts +566 -0
- package/src/__tests__/globalFlowRegistry.test.ts +77 -0
- package/src/__tests__/isFieldInterfaceMatch.test.ts +51 -0
- package/src/__tests__/metaTreeNodeCache.test.ts +234 -0
- package/src/__tests__/path-aggregation.test.ts +85 -0
- package/src/__tests__/provider.test.tsx +28 -0
- package/src/__tests__/renderHiddenInConfig.test.tsx +91 -0
- package/src/__tests__/runjsContext.test.ts +60 -0
- package/src/__tests__/viewScopedFlowEngine.test.ts +212 -0
- package/src/acl/Acl.tsx +109 -0
- package/src/acl/__tests__/Acl.test.tsx +72 -0
- package/src/action-registry/BaseActionRegistry.ts +46 -0
- package/src/action-registry/EngineActionRegistry.ts +32 -0
- package/src/action-registry/ModelActionRegistry.ts +75 -0
- package/src/action-registry/__tests__/engineActionRegistry.test.ts +43 -0
- package/src/action-registry/__tests__/modelActionRegistry.test.ts +107 -0
- package/src/components/DynamicFlowsEditor.tsx +318 -0
- package/src/components/FieldModelRenderer.tsx +62 -0
- package/src/components/FlowContextSelector.tsx +255 -0
- package/src/components/FlowErrorFallback.tsx +316 -0
- package/src/components/FlowModelRenderer.tsx +428 -0
- package/src/components/FormItem.tsx +130 -0
- package/src/components/__tests__/flow-model-render-error-fallback.test.tsx +226 -0
- package/src/components/common/FlowSettingsButton.tsx +30 -0
- package/src/components/common/index.ts +10 -0
- package/src/components/common/withFlowDesignMode.tsx +49 -0
- package/src/components/dnd/getMousePositionOnElement.ts +115 -0
- package/src/components/dnd/index.tsx +128 -0
- package/src/components/dnd/moveBlock.ts +379 -0
- package/src/components/index.ts +20 -0
- package/src/components/settings/independents/dropdown/FlowsDropdownButton.tsx +279 -0
- package/src/components/settings/independents/dropdown/index.ts +10 -0
- package/src/components/settings/independents/index.ts +2 -0
- package/src/components/settings/index.ts +11 -0
- package/src/components/settings/wrappers/contextual/DefaultSettingsIcon.tsx +617 -0
- package/src/components/settings/wrappers/contextual/FlowsContextMenu.tsx +292 -0
- package/src/components/settings/wrappers/contextual/FlowsFloatContextMenu.tsx +655 -0
- package/src/components/settings/wrappers/contextual/StepRequiredSettingsDialog.tsx +446 -0
- package/src/components/settings/wrappers/contextual/StepSettings.tsx +109 -0
- package/src/components/settings/wrappers/contextual/StepSettingsDialog.tsx +217 -0
- package/src/components/settings/wrappers/contextual/StepSettingsDrawer.tsx +32 -0
- package/src/components/settings/wrappers/contextual/index.ts +15 -0
- package/src/components/settings/wrappers/embedded/FlowSettings.tsx +258 -0
- package/src/components/settings/wrappers/embedded/FlowsSettings.tsx +111 -0
- package/src/components/settings/wrappers/embedded/FlowsSettingsContent.tsx +96 -0
- package/src/components/settings/wrappers/embedded/index.ts +11 -0
- package/src/components/settings/wrappers/index.ts +5 -0
- package/src/components/subModel/AddSubModelButton.tsx +575 -0
- package/src/components/subModel/LazyDropdown.tsx +714 -0
- package/src/components/subModel/__tests__/AddSubModelButton.test.tsx +1185 -0
- package/src/components/subModel/__tests__/buildWrapperFieldChildren.test.ts +192 -0
- package/src/components/subModel/__tests__/utils.test.ts +425 -0
- package/src/components/subModel/index.ts +12 -0
- package/src/components/subModel/utils.ts +278 -0
- package/src/components/variables/InlineVariableTag.tsx +97 -0
- package/src/components/variables/SlateVariableEditor.tsx +384 -0
- package/src/components/variables/VariableInput.tsx +342 -0
- package/src/components/variables/VariableTag.tsx +123 -0
- package/src/components/variables/VariableTrigger.tsx +116 -0
- package/src/components/variables/__tests__/FlowContextSelector.test.tsx +553 -0
- package/src/components/variables/__tests__/VariableInput.test.tsx +550 -0
- package/src/components/variables/__tests__/VariableTag.test.tsx +347 -0
- package/src/components/variables/__tests__/test-utils.tsx +62 -0
- package/src/components/variables/__tests__/utils.test.ts +310 -0
- package/src/components/variables/index.ts +16 -0
- package/src/components/variables/types.ts +100 -0
- package/src/components/variables/useResolvedMetaTree.ts +76 -0
- package/src/components/variables/utils.ts +192 -0
- package/src/data-source/__tests__/collection.test.ts +58 -0
- package/src/data-source/__tests__/index.test.ts +82 -0
- package/src/data-source/__tests__/jioToJoiSchema.test.ts +56 -0
- package/src/data-source/index.ts +812 -0
- package/src/data-source/jioToJoiSchema.ts +103 -0
- package/src/decorators/index.ts +10 -0
- package/src/decorators/largeField.ts +14 -0
- package/src/emitter.ts +33 -0
- package/src/event-registry/BaseEventRegistry.ts +40 -0
- package/src/event-registry/EngineEventRegistry.ts +26 -0
- package/src/event-registry/ModelEventRegistry.ts +69 -0
- package/src/event-registry/__tests__/engineEventRegistry.test.ts +48 -0
- package/src/executor/FlowExecutor.ts +256 -0
- package/src/executor/__tests__/eventStep.test.ts +157 -0
- package/src/executor/__tests__/flowExecutor.test.ts +163 -0
- package/src/flow-registry/BaseFlowRegistry.ts +91 -0
- package/src/flow-registry/GlobalFlowRegistry.ts +82 -0
- package/src/flow-registry/InstanceFlowRegistry.ts +39 -0
- package/src/flow-registry/__tests__/globalFlowRegistry.test.ts +141 -0
- package/src/flow-registry/__tests__/instance-and-global-registry.test.ts +67 -0
- package/src/flow-registry/__tests__/instanceFlowRegistry.test.ts +83 -0
- package/src/flow-registry/index.ts +12 -0
- package/src/flowContext.ts +1639 -0
- package/src/flowEngine.ts +905 -0
- package/src/flowI18n.ts +96 -0
- package/src/flowSettings.ts +1045 -0
- package/src/hooks/index.ts +15 -0
- package/src/hooks/useApplyAutoFlows.ts +51 -0
- package/src/hooks/useFlowModel.tsx +59 -0
- package/src/hooks/useFlowModelById.ts +37 -0
- package/src/hooks/useFlowSettingsContext.tsx +37 -0
- package/src/hooks/useFlowStep.tsx +19 -0
- package/src/hooks/useNiceDropdownMaxHeight.ts +34 -0
- package/src/index.ts +38 -0
- package/src/locale/en-US.json +61 -0
- package/src/locale/index.ts +38 -0
- package/src/locale/zh-CN.json +61 -0
- package/src/models/CollectionFieldModel.tsx +269 -0
- package/src/models/DisplayItemModel.tsx +13 -0
- package/src/models/EditableItemModel.tsx +13 -0
- package/src/models/FilterableItemModel.tsx +13 -0
- package/src/models/__tests__/CollectionFieldModel.test.ts +122 -0
- package/src/models/__tests__/defaultParams-on-create.test.ts +83 -0
- package/src/models/__tests__/flow-model-oninit.test.ts +44 -0
- package/src/models/__tests__/flowModel.actions.integration.test.ts +100 -0
- package/src/models/__tests__/flowModel.getFlows.sort.test.ts +100 -0
- package/src/models/__tests__/flowModel.test.ts +2746 -0
- package/src/models/__tests__/flowRegistry.test.ts +512 -0
- package/src/models/__tests__/forkFlowModel.test.ts +1047 -0
- package/src/models/__tests__/model-actions.test.ts +70 -0
- package/src/models/__tests__/model-events.test.ts +69 -0
- package/src/models/flowModel.tsx +1398 -0
- package/src/models/forkFlowModel.ts +287 -0
- package/src/models/index.ts +17 -0
- package/src/provider.tsx +101 -0
- package/src/resources/__tests__/apiResource.test.ts +201 -0
- package/src/resources/__tests__/baseRecordResource.test.ts +262 -0
- package/src/resources/__tests__/filterItem.test.ts +260 -0
- package/src/resources/__tests__/flowResource.test.ts +127 -0
- package/src/resources/apiResource.ts +148 -0
- package/src/resources/baseRecordResource.ts +279 -0
- package/src/resources/filterItem.ts +74 -0
- package/src/resources/flowResource.ts +143 -0
- package/src/resources/index.ts +17 -0
- package/src/resources/multiRecordResource.ts +219 -0
- package/src/resources/singleRecordResource.ts +83 -0
- package/src/resources/sqlResource.ts +299 -0
- package/src/runjs-context/contexts/FlowRunJSContext.ts +190 -0
- package/src/runjs-context/contexts/FormJSFieldItemRunJSContext.ts +39 -0
- package/src/runjs-context/contexts/JSBlockRunJSContext.ts +52 -0
- package/src/runjs-context/contexts/JSCollectionActionRunJSContext.ts +32 -0
- package/src/runjs-context/contexts/JSFieldRunJSContext.ts +43 -0
- package/src/runjs-context/contexts/JSItemRunJSContext.ts +39 -0
- package/src/runjs-context/contexts/JSRecordActionRunJSContext.ts +34 -0
- package/src/runjs-context/contexts/LinkageRunJSContext.ts +35 -0
- package/src/runjs-context/helpers.ts +56 -0
- package/src/runjs-context/index.ts +20 -0
- package/src/runjs-context/registry.ts +65 -0
- package/src/runjs-context/snippets/global/api-request-get.snippet.ts +20 -0
- package/src/runjs-context/snippets/global/api-request-post.snippet.ts +20 -0
- package/src/runjs-context/snippets/global/console-log-ctx.snippet.ts +19 -0
- package/src/runjs-context/snippets/global/copy-record-json.snippet.ts +21 -0
- package/src/runjs-context/snippets/global/copy-to-clipboard.snippet.ts +21 -0
- package/src/runjs-context/snippets/global/log-json-record.snippet.ts +21 -0
- package/src/runjs-context/snippets/global/message-error.snippet.ts +20 -0
- package/src/runjs-context/snippets/global/message-success.snippet.ts +20 -0
- package/src/runjs-context/snippets/global/notification-open.snippet.ts +21 -0
- package/src/runjs-context/snippets/global/open-view-dialog.snippet.ts +26 -0
- package/src/runjs-context/snippets/global/open-view-drawer.snippet.ts +26 -0
- package/src/runjs-context/snippets/global/requireAsync.snippet.ts +24 -0
- package/src/runjs-context/snippets/global/sleep.snippet.ts +21 -0
- package/src/runjs-context/snippets/global/try-catch-async.snippet.ts +22 -0
- package/src/runjs-context/snippets/global/view-navigation-push.snippet.ts +23 -0
- package/src/runjs-context/snippets/global/window-open.snippet.ts +19 -0
- package/src/runjs-context/snippets/index.ts +59 -0
- package/src/runjs-context/snippets/libs/echarts-init.snippet.ts +24 -0
- package/src/runjs-context/snippets/scene/actions/collection-selected-count.snippet.ts +22 -0
- package/src/runjs-context/snippets/scene/actions/iterate-selected-rows.snippet.ts +21 -0
- package/src/runjs-context/snippets/scene/actions/record-id-message.snippet.ts +21 -0
- package/src/runjs-context/snippets/scene/actions/run-action-basic.snippet.ts +18 -0
- package/src/runjs-context/snippets/scene/jsblock/add-event-listener.snippet.ts +29 -0
- package/src/runjs-context/snippets/scene/jsblock/append-style.snippet.ts +20 -0
- package/src/runjs-context/snippets/scene/jsblock/jsx-mount.snippet.ts +24 -0
- package/src/runjs-context/snippets/scene/jsblock/jsx-unmount.snippet.ts +19 -0
- package/src/runjs-context/snippets/scene/jsblock/render-basic.snippet.ts +24 -0
- package/src/runjs-context/snippets/scene/jsblock/render-button-handler.snippet.ts +24 -0
- package/src/runjs-context/snippets/scene/jsblock/render-card.snippet.ts +30 -0
- package/src/runjs-context/snippets/scene/jsblock/render-react.snippet.ts +34 -0
- package/src/runjs-context/snippets/scene/jsfield/color-by-value.snippet.ts +20 -0
- package/src/runjs-context/snippets/scene/jsfield/format-number.snippet.ts +19 -0
- package/src/runjs-context/snippets/scene/jsfield/innerHTML-value.snippet.ts +18 -0
- package/src/runjs-context/snippets/scene/jsitem/render-basic.snippet.ts +27 -0
- package/src/runjs-context/snippets/scene/linkage/set-disabled.snippet.ts +38 -0
- package/src/runjs-context/snippets/scene/linkage/set-field-value.snippet.ts +37 -0
- package/src/runjs-context/snippets/scene/linkage/set-required.snippet.ts +38 -0
- package/src/runjs-context/snippets/scene/linkage/toggle-visible.snippet.ts +38 -0
- package/src/runjs-context/snippets/types.ts +17 -0
- package/src/types.ts +474 -0
- package/src/utils/__tests__/context.test.ts +93 -0
- package/src/utils/__tests__/params-resolvers.test.ts +652 -0
- package/src/utils/__tests__/parsePathnameToViewParams.test.ts +104 -0
- package/src/utils/__tests__/safeGlobals.test.ts +29 -0
- package/src/utils/__tests__/utils.test.ts +1021 -0
- package/src/utils/__tests__/variablesParams.test.ts +52 -0
- package/src/utils/autoFlowError.ts +29 -0
- package/src/utils/constants.ts +60 -0
- package/src/utils/context.ts +70 -0
- package/src/utils/createCollectionContextMeta.ts +122 -0
- package/src/utils/exceptions.ts +36 -0
- package/src/utils/flow-definitions.ts +16 -0
- package/src/utils/index.ts +63 -0
- package/src/utils/inheritance.ts +39 -0
- package/src/utils/params-resolvers.ts +482 -0
- package/src/utils/parsePathnameToViewParams.ts +103 -0
- package/src/utils/safeGlobals.ts +188 -0
- package/src/utils/schema-utils.ts +201 -0
- package/src/utils/serverContextParams.ts +111 -0
- package/src/utils/setupRuntimeContextSteps.ts +89 -0
- package/src/utils/translation.ts +37 -0
- package/src/utils/variablesParams.ts +175 -0
- package/src/views/DialogComponent.tsx +79 -0
- package/src/views/DrawerComponent.tsx +72 -0
- package/src/views/FlowView.tsx +103 -0
- package/src/views/PageComponent.tsx +150 -0
- package/src/views/ViewNavigation.ts +122 -0
- package/src/views/__tests__/FlowView.test.ts +31 -0
- package/src/views/__tests__/ViewNavigation.test.ts +191 -0
- package/src/views/__tests__/usePatchElement.test.tsx +28 -0
- package/src/views/createViewMeta.ts +157 -0
- package/src/views/index.tsx +14 -0
- package/src/views/useDialog.tsx +192 -0
- package/src/views/useDrawer.tsx +205 -0
- package/src/views/usePage.tsx +182 -0
- package/src/views/usePatchElement.tsx +27 -0
- package/src/views/usePopover.tsx +131 -0
|
@@ -0,0 +1,161 @@
|
|
|
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 schema_utils_exports = {};
|
|
29
|
+
__export(schema_utils_exports, {
|
|
30
|
+
compileUiSchema: () => compileUiSchema,
|
|
31
|
+
resolveStepUiSchema: () => resolveStepUiSchema,
|
|
32
|
+
resolveUiMode: () => resolveUiMode
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(schema_utils_exports);
|
|
35
|
+
var import_json_schema = require("@formily/json-schema");
|
|
36
|
+
var import_flowContext = require("../flowContext");
|
|
37
|
+
var import_setupRuntimeContextSteps = require("./setupRuntimeContextSteps");
|
|
38
|
+
async function resolveUiSchema(uiSchema, ctx) {
|
|
39
|
+
if (!uiSchema) {
|
|
40
|
+
return {};
|
|
41
|
+
}
|
|
42
|
+
if (typeof uiSchema === "function") {
|
|
43
|
+
try {
|
|
44
|
+
const result = await uiSchema(ctx);
|
|
45
|
+
return result || {};
|
|
46
|
+
} catch (error) {
|
|
47
|
+
console.error("Error resolving uiSchema function:", error);
|
|
48
|
+
return {};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return uiSchema;
|
|
52
|
+
}
|
|
53
|
+
__name(resolveUiSchema, "resolveUiSchema");
|
|
54
|
+
async function resolveUiMode(uiMode, ctx) {
|
|
55
|
+
if (!uiMode) {
|
|
56
|
+
return "dialog";
|
|
57
|
+
}
|
|
58
|
+
if (typeof uiMode === "function") {
|
|
59
|
+
try {
|
|
60
|
+
const result = await uiMode(ctx);
|
|
61
|
+
return result || "dialog";
|
|
62
|
+
} catch (error) {
|
|
63
|
+
console.error("Error resolving uiMode function:", error);
|
|
64
|
+
return "dialog";
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return uiMode;
|
|
68
|
+
}
|
|
69
|
+
__name(resolveUiMode, "resolveUiMode");
|
|
70
|
+
const compileCache = {};
|
|
71
|
+
function compileUiSchema(scope, uiSchema, options = {}) {
|
|
72
|
+
const { noCache = false } = options;
|
|
73
|
+
const hasVariable = /* @__PURE__ */ __name((source) => {
|
|
74
|
+
const reg = /\{\{.*?\}\}/g;
|
|
75
|
+
return reg.test(source);
|
|
76
|
+
}, "hasVariable");
|
|
77
|
+
const compile = /* @__PURE__ */ __name((source) => {
|
|
78
|
+
let shouldCompile = false;
|
|
79
|
+
let cacheKey;
|
|
80
|
+
if (typeof source === "string" && source.startsWith("{{")) {
|
|
81
|
+
shouldCompile = true;
|
|
82
|
+
cacheKey = source;
|
|
83
|
+
}
|
|
84
|
+
if (source && typeof source === "object" && !Array.isArray(source)) {
|
|
85
|
+
try {
|
|
86
|
+
cacheKey = JSON.stringify(source);
|
|
87
|
+
} catch (e) {
|
|
88
|
+
console.warn("Failed to stringify:", e);
|
|
89
|
+
return source;
|
|
90
|
+
}
|
|
91
|
+
if (compileCache[cacheKey]) return compileCache[cacheKey];
|
|
92
|
+
shouldCompile = hasVariable(cacheKey);
|
|
93
|
+
}
|
|
94
|
+
if (Array.isArray(source)) {
|
|
95
|
+
try {
|
|
96
|
+
cacheKey = JSON.stringify(source);
|
|
97
|
+
} catch (e) {
|
|
98
|
+
console.warn("Failed to stringify:", e);
|
|
99
|
+
return source;
|
|
100
|
+
}
|
|
101
|
+
if (compileCache[cacheKey]) return compileCache[cacheKey];
|
|
102
|
+
shouldCompile = hasVariable(cacheKey);
|
|
103
|
+
}
|
|
104
|
+
if (shouldCompile) {
|
|
105
|
+
if (!cacheKey) {
|
|
106
|
+
try {
|
|
107
|
+
return import_json_schema.Schema.compile(source, scope);
|
|
108
|
+
} catch (error) {
|
|
109
|
+
console.warn("Failed to compile with Formily Schema.compile:", error);
|
|
110
|
+
return source;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
try {
|
|
114
|
+
if (noCache) {
|
|
115
|
+
return import_json_schema.Schema.compile(source, scope);
|
|
116
|
+
}
|
|
117
|
+
compileCache[cacheKey] = compileCache[cacheKey] || import_json_schema.Schema.compile(source, scope);
|
|
118
|
+
return compileCache[cacheKey];
|
|
119
|
+
} catch (e) {
|
|
120
|
+
console.log("compileUiSchema error", source, e);
|
|
121
|
+
try {
|
|
122
|
+
return import_json_schema.Schema.compile(source, scope);
|
|
123
|
+
} catch (error) {
|
|
124
|
+
return source;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return source;
|
|
129
|
+
}, "compile");
|
|
130
|
+
return compile(uiSchema);
|
|
131
|
+
}
|
|
132
|
+
__name(compileUiSchema, "compileUiSchema");
|
|
133
|
+
async function resolveStepUiSchema(model, flow, step) {
|
|
134
|
+
var _a, _b;
|
|
135
|
+
const flowRuntimeContext = new import_flowContext.FlowRuntimeContext(model, flow.key, "settings");
|
|
136
|
+
(0, import_setupRuntimeContextSteps.setupRuntimeContextSteps)(flowRuntimeContext, flow.steps, model, flow.key);
|
|
137
|
+
flowRuntimeContext.defineProperty("currentStep", { value: step });
|
|
138
|
+
let stepUiSchema = step.uiSchema;
|
|
139
|
+
if (step.use) {
|
|
140
|
+
try {
|
|
141
|
+
const action = (_b = (_a = model.flowEngine) == null ? void 0 : _a.getAction) == null ? void 0 : _b.call(_a, step.use);
|
|
142
|
+
if (action && action.uiSchema) {
|
|
143
|
+
stepUiSchema = stepUiSchema || action.uiSchema;
|
|
144
|
+
}
|
|
145
|
+
} catch (error) {
|
|
146
|
+
console.warn(`Failed to get action ${step.use}:`, error);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const resolvedStepUiSchema = await resolveUiSchema(stepUiSchema || {}, flowRuntimeContext);
|
|
150
|
+
if (Object.keys(resolvedStepUiSchema).length === 0) {
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
return resolvedStepUiSchema;
|
|
154
|
+
}
|
|
155
|
+
__name(resolveStepUiSchema, "resolveStepUiSchema");
|
|
156
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
157
|
+
0 && (module.exports = {
|
|
158
|
+
compileUiSchema,
|
|
159
|
+
resolveStepUiSchema,
|
|
160
|
+
resolveUiMode
|
|
161
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { FlowContext } from '../flowContext';
|
|
10
|
+
export type RecordRef = {
|
|
11
|
+
collection?: string;
|
|
12
|
+
id?: any;
|
|
13
|
+
filterByTk?: any;
|
|
14
|
+
dataSourceKey?: string;
|
|
15
|
+
fields?: string[];
|
|
16
|
+
appends?: string[];
|
|
17
|
+
record?: any;
|
|
18
|
+
};
|
|
19
|
+
export type BuildServerContextParamsInput = Record<string, any>;
|
|
20
|
+
export type ServerContextParams = Record<string, NormalizedRecordParams>;
|
|
21
|
+
export type NormalizedRecordParams = {
|
|
22
|
+
collection: string;
|
|
23
|
+
filterByTk: any;
|
|
24
|
+
dataSourceKey?: string;
|
|
25
|
+
fields?: string[];
|
|
26
|
+
appends?: string[];
|
|
27
|
+
};
|
|
28
|
+
export declare function buildServerContextParams(ctx: FlowContext, input?: BuildServerContextParamsInput): ServerContextParams | undefined;
|
|
@@ -0,0 +1,106 @@
|
|
|
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 serverContextParams_exports = {};
|
|
29
|
+
__export(serverContextParams_exports, {
|
|
30
|
+
buildServerContextParams: () => buildServerContextParams
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(serverContextParams_exports);
|
|
33
|
+
function pickDefined(obj) {
|
|
34
|
+
const out = {};
|
|
35
|
+
Object.entries(obj || {}).forEach(([k, v]) => {
|
|
36
|
+
if (typeof v !== "undefined" && v !== null) out[k] = v;
|
|
37
|
+
});
|
|
38
|
+
return out;
|
|
39
|
+
}
|
|
40
|
+
__name(pickDefined, "pickDefined");
|
|
41
|
+
function resolvePrimaryKey(ctx, dataSourceKey, collection) {
|
|
42
|
+
var _a, _b, _c, _d, _e;
|
|
43
|
+
try {
|
|
44
|
+
const ds = (_b = (_a = ctx.dataSourceManager) == null ? void 0 : _a.getDataSource) == null ? void 0 : _b.call(_a, dataSourceKey || "main");
|
|
45
|
+
const col = (_d = (_c = ds == null ? void 0 : ds.collectionManager) == null ? void 0 : _c.getCollection) == null ? void 0 : _d.call(_c, collection);
|
|
46
|
+
const pk = (_e = col == null ? void 0 : col.getPrimaryKey) == null ? void 0 : _e.call(col);
|
|
47
|
+
return pk || "id";
|
|
48
|
+
} catch (e) {
|
|
49
|
+
return "id";
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
__name(resolvePrimaryKey, "resolvePrimaryKey");
|
|
53
|
+
function normalizeOne(ctx, ref) {
|
|
54
|
+
var _a, _b;
|
|
55
|
+
if (!ref) return void 0;
|
|
56
|
+
const dataSourceKey = ref.dataSourceKey || "main";
|
|
57
|
+
const collection = ref.collection || ((_a = ref.record) == null ? void 0 : _a.__collectionName);
|
|
58
|
+
if (!collection) return void 0;
|
|
59
|
+
const pk = resolvePrimaryKey(ctx, dataSourceKey, collection) || "id";
|
|
60
|
+
const filterByTk = typeof ref.filterByTk !== "undefined" ? ref.filterByTk : typeof ref.id !== "undefined" ? ref.id : (_b = ref.record) == null ? void 0 : _b[pk];
|
|
61
|
+
if (typeof filterByTk === "undefined") return void 0;
|
|
62
|
+
return pickDefined({
|
|
63
|
+
collection,
|
|
64
|
+
filterByTk,
|
|
65
|
+
dataSourceKey,
|
|
66
|
+
fields: ref.fields,
|
|
67
|
+
appends: ref.appends
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
__name(normalizeOne, "normalizeOne");
|
|
71
|
+
function buildServerContextParams(ctx, input = {}) {
|
|
72
|
+
const isRecordRef = /* @__PURE__ */ __name((val) => {
|
|
73
|
+
if (!val || typeof val !== "object") return false;
|
|
74
|
+
return typeof val.collection === "string" && (typeof val.filterByTk !== "undefined" || typeof val.id !== "undefined" || val.record);
|
|
75
|
+
}, "isRecordRef");
|
|
76
|
+
const out = {};
|
|
77
|
+
const visit = /* @__PURE__ */ __name((src, path) => {
|
|
78
|
+
if (isRecordRef(src)) {
|
|
79
|
+
const norm = normalizeOne(ctx, src);
|
|
80
|
+
if (norm) {
|
|
81
|
+
const key = path.join(".");
|
|
82
|
+
out[key] = norm;
|
|
83
|
+
}
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (Array.isArray(src)) {
|
|
87
|
+
for (let i = 0; i < src.length; i++) {
|
|
88
|
+
visit(src[i], [...path, String(i)]);
|
|
89
|
+
}
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (src && typeof src === "object") {
|
|
93
|
+
for (const [k, v] of Object.entries(src)) {
|
|
94
|
+
visit(v, [...path, k]);
|
|
95
|
+
}
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
}, "visit");
|
|
99
|
+
visit(input, []);
|
|
100
|
+
return Object.keys(out).length ? out : void 0;
|
|
101
|
+
}
|
|
102
|
+
__name(buildServerContextParams, "buildServerContextParams");
|
|
103
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
104
|
+
0 && (module.exports = {
|
|
105
|
+
buildServerContextParams
|
|
106
|
+
});
|
|
@@ -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 { FlowRuntimeContext } from '../flowContext';
|
|
10
|
+
import { FlowModel } from '../models/flowModel';
|
|
11
|
+
import { DefaultStructure, StepDefinition } from '../types';
|
|
12
|
+
/**
|
|
13
|
+
* 为 FlowRuntimeContext 设置 steps 属性及其 meta 信息
|
|
14
|
+
* @param ctx FlowRuntimeContext 实例
|
|
15
|
+
* @param flowSteps 流定义
|
|
16
|
+
* @param model FlowModel 实例
|
|
17
|
+
* @param flowKey key
|
|
18
|
+
*/
|
|
19
|
+
export declare function setupRuntimeContextSteps(ctx: FlowRuntimeContext<any>, flowSteps: Record<string, StepDefinition<FlowModel<DefaultStructure>>>, model: FlowModel, flowKey: string): void;
|
|
@@ -0,0 +1,88 @@
|
|
|
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 setupRuntimeContextSteps_exports = {};
|
|
29
|
+
__export(setupRuntimeContextSteps_exports, {
|
|
30
|
+
setupRuntimeContextSteps: () => setupRuntimeContextSteps
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(setupRuntimeContextSteps_exports);
|
|
33
|
+
function setupRuntimeContextSteps(ctx, flowSteps, model, flowKey) {
|
|
34
|
+
var _a;
|
|
35
|
+
const steps = {};
|
|
36
|
+
const stepsMetaProperties = {};
|
|
37
|
+
for (const stepKey in flowSteps) {
|
|
38
|
+
if (Object.prototype.hasOwnProperty.call(flowSteps, stepKey)) {
|
|
39
|
+
const flowStep = flowSteps[stepKey];
|
|
40
|
+
const paramsProperties = {};
|
|
41
|
+
if (flowStep.uiSchema && typeof flowStep.uiSchema === "object") {
|
|
42
|
+
for (const [paramKey, paramSchema] of Object.entries(flowStep.uiSchema)) {
|
|
43
|
+
if (paramSchema && typeof paramSchema === "object") {
|
|
44
|
+
const schema = paramSchema;
|
|
45
|
+
paramsProperties[paramKey] = {
|
|
46
|
+
type: schema.type || "any",
|
|
47
|
+
title: schema.title || ((_a = schema["x-decorator-props"]) == null ? void 0 : _a.label) || paramKey,
|
|
48
|
+
interface: schema["x-component"],
|
|
49
|
+
uiSchema: schema
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const hasParams = Object.keys(paramsProperties).length > 0;
|
|
55
|
+
stepsMetaProperties[stepKey] = {
|
|
56
|
+
type: "object",
|
|
57
|
+
title: ctx.t(flowStep.title) || stepKey,
|
|
58
|
+
display: hasParams ? "default" : "none",
|
|
59
|
+
properties: hasParams ? {
|
|
60
|
+
params: {
|
|
61
|
+
type: "object",
|
|
62
|
+
title: "Parameters",
|
|
63
|
+
display: "flatten",
|
|
64
|
+
properties: paramsProperties
|
|
65
|
+
}
|
|
66
|
+
} : void 0
|
|
67
|
+
};
|
|
68
|
+
steps[stepKey] = {
|
|
69
|
+
get params() {
|
|
70
|
+
return model.getStepParams(flowKey, stepKey) || {};
|
|
71
|
+
},
|
|
72
|
+
get uiSchema() {
|
|
73
|
+
return flowStep.uiSchema;
|
|
74
|
+
},
|
|
75
|
+
result: void 0
|
|
76
|
+
// result 会在运行时被设置
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
ctx.defineProperty("steps", {
|
|
81
|
+
get: /* @__PURE__ */ __name(() => steps, "get")
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
__name(setupRuntimeContextSteps, "setupRuntimeContextSteps");
|
|
85
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
86
|
+
0 && (module.exports = {
|
|
87
|
+
setupRuntimeContextSteps
|
|
88
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
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 { TFuncKey, TOptions } from 'i18next';
|
|
10
|
+
import type { FlowModel } from '../models';
|
|
11
|
+
/**
|
|
12
|
+
* 获取带有 flow-engine 命名空间的翻译函数
|
|
13
|
+
* @param model FlowModel 实例
|
|
14
|
+
* @returns 翻译函数,自动使用 flow-engine 命名空间
|
|
15
|
+
*/
|
|
16
|
+
export declare function getT(model: FlowModel): (key: string, options?: any) => string;
|
|
17
|
+
export declare function escapeT(text: TFuncKey | TFuncKey[], options?: TOptions): string;
|
|
18
|
+
export { escapeT as tExpr };
|
|
@@ -0,0 +1,58 @@
|
|
|
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 translation_exports = {};
|
|
29
|
+
__export(translation_exports, {
|
|
30
|
+
escapeT: () => escapeT,
|
|
31
|
+
getT: () => getT,
|
|
32
|
+
tExpr: () => escapeT
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(translation_exports);
|
|
35
|
+
var import_constants = require("./constants");
|
|
36
|
+
function getT(model) {
|
|
37
|
+
var _a;
|
|
38
|
+
if ((_a = model.flowEngine) == null ? void 0 : _a.translate) {
|
|
39
|
+
return (key, options) => {
|
|
40
|
+
return model.flowEngine.translate(key, { ns: [import_constants.FLOW_ENGINE_NAMESPACE, "client"], nsMode: "fallback", ...options });
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return (key) => key;
|
|
44
|
+
}
|
|
45
|
+
__name(getT, "getT");
|
|
46
|
+
function escapeT(text, options) {
|
|
47
|
+
if (options) {
|
|
48
|
+
return `{{t(${JSON.stringify(text)}, ${JSON.stringify(options)})}}`;
|
|
49
|
+
}
|
|
50
|
+
return `{{t(${JSON.stringify(text)})}}`;
|
|
51
|
+
}
|
|
52
|
+
__name(escapeT, "escapeT");
|
|
53
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
54
|
+
0 && (module.exports = {
|
|
55
|
+
escapeT,
|
|
56
|
+
getT,
|
|
57
|
+
tExpr
|
|
58
|
+
});
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { FlowContext, PropertyMeta, PropertyMetaFactory } from '../flowContext';
|
|
10
|
+
import type { JSONValue } from './params-resolvers';
|
|
11
|
+
import type { Collection } from '../data-source';
|
|
12
|
+
import { type RecordRef, type ServerContextParams } from '../utils/serverContextParams';
|
|
13
|
+
export declare function inferRecordRef(ctx: FlowContext): RecordRef | undefined;
|
|
14
|
+
export declare function inferParentRecordRef(ctx: FlowContext): RecordRef | undefined;
|
|
15
|
+
export type RecordParamsBuilder = (ctx: FlowContext) => RecordRef | Promise<RecordRef> | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Build a PropertyMeta for a record-like property with variablesParams included.
|
|
18
|
+
*/
|
|
19
|
+
export declare function buildRecordMeta(collectionAccessor: () => Collection | null, title?: string, paramsBuilder?: RecordParamsBuilder): Promise<PropertyMeta | null>;
|
|
20
|
+
/**
|
|
21
|
+
* Convenience helper to create a PropertyMetaFactory for a record-like variable.
|
|
22
|
+
* It sets the factory.title so UI can display an immediate label before lazy resolution.
|
|
23
|
+
*/
|
|
24
|
+
export declare function createRecordMetaFactory(collectionAccessor: () => Collection | null, title: string, paramsBuilder?: RecordParamsBuilder): PropertyMetaFactory;
|
|
25
|
+
/**
|
|
26
|
+
* Sugar for the most common case: a current record meta bound to FlowContext.
|
|
27
|
+
* - Title: t('Current record')
|
|
28
|
+
* - Params: inferRecordRef(ctx)
|
|
29
|
+
*/
|
|
30
|
+
export declare function createCurrentRecordMetaFactory(ctx: FlowContext, collectionAccessor: () => Collection | null): PropertyMetaFactory;
|
|
31
|
+
/**
|
|
32
|
+
* Extract top-level ctx variable names used inside a JSON template.
|
|
33
|
+
* Supports dot and bracket notations, e.g. {{ ctx.record.id }}, {{ ctx['parentRecord'].name }}.
|
|
34
|
+
*/
|
|
35
|
+
export declare const extractUsedVariableNames: any;
|
|
36
|
+
/**
|
|
37
|
+
* Extract used top-level ctx variables with their subpaths.
|
|
38
|
+
* Returns a map: varName -> string[] subPaths
|
|
39
|
+
* Examples:
|
|
40
|
+
* - {{ ctx.user.id }} => { user: ['id'] }
|
|
41
|
+
* - {{ ctx['user'].roles[0].name }} => { user: ['roles[0].name'] }
|
|
42
|
+
* - {{ ctx.view.record.id }} => { view: ['record.id'] }
|
|
43
|
+
* - {{ ctx.twice(21) }} => { twice: [''] } // method call -> empty subPath
|
|
44
|
+
*/
|
|
45
|
+
export declare const extractUsedVariablePaths: any;
|
|
46
|
+
/**
|
|
47
|
+
* 根据模板中用到的 ctx 变量,收集并构建服务端解析所需的 contextParams。
|
|
48
|
+
* - 通过 FlowContext 的 PropertyMeta.buildVariablesParams 收集 RecordRef
|
|
49
|
+
* - 仅包含模板中实际使用到的顶层变量键,避免无谓膨胀
|
|
50
|
+
*/
|
|
51
|
+
export declare function collectContextParamsForTemplate(ctx: FlowContext, template: JSONValue): Promise<ServerContextParams | undefined>;
|
|
@@ -0,0 +1,150 @@
|
|
|
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 variablesParams_exports = {};
|
|
29
|
+
__export(variablesParams_exports, {
|
|
30
|
+
buildRecordMeta: () => buildRecordMeta,
|
|
31
|
+
collectContextParamsForTemplate: () => collectContextParamsForTemplate,
|
|
32
|
+
createCurrentRecordMetaFactory: () => createCurrentRecordMetaFactory,
|
|
33
|
+
createRecordMetaFactory: () => createRecordMetaFactory,
|
|
34
|
+
extractUsedVariableNames: () => extractUsedVariableNames,
|
|
35
|
+
extractUsedVariablePaths: () => extractUsedVariablePaths,
|
|
36
|
+
inferParentRecordRef: () => inferParentRecordRef,
|
|
37
|
+
inferRecordRef: () => inferRecordRef
|
|
38
|
+
});
|
|
39
|
+
module.exports = __toCommonJS(variablesParams_exports);
|
|
40
|
+
var import_createCollectionContextMeta = require("./createCollectionContextMeta");
|
|
41
|
+
var import_serverContextParams = require("../utils/serverContextParams");
|
|
42
|
+
var import_client = require("@nocobase/utils/client");
|
|
43
|
+
function isObject(value) {
|
|
44
|
+
return typeof value === "object" && value !== null;
|
|
45
|
+
}
|
|
46
|
+
__name(isObject, "isObject");
|
|
47
|
+
function getResource(ctx) {
|
|
48
|
+
const r = ctx["resource"];
|
|
49
|
+
return isObject(r) ? r : void 0;
|
|
50
|
+
}
|
|
51
|
+
__name(getResource, "getResource");
|
|
52
|
+
function getCollection(ctx) {
|
|
53
|
+
const c = ctx["collection"];
|
|
54
|
+
if (isObject(c)) {
|
|
55
|
+
const mc = c;
|
|
56
|
+
return { name: mc.name, dataSourceKey: mc.dataSourceKey };
|
|
57
|
+
}
|
|
58
|
+
return void 0;
|
|
59
|
+
}
|
|
60
|
+
__name(getCollection, "getCollection");
|
|
61
|
+
function inferRecordRef(ctx) {
|
|
62
|
+
var _a, _b, _c;
|
|
63
|
+
const resource = getResource(ctx);
|
|
64
|
+
const collectionObj = getCollection(ctx);
|
|
65
|
+
const resourceName = (collectionObj == null ? void 0 : collectionObj.name) || ((_a = resource == null ? void 0 : resource.getResourceName) == null ? void 0 : _a.call(resource));
|
|
66
|
+
const dataSourceKey = (collectionObj == null ? void 0 : collectionObj.dataSourceKey) || ((_b = resource == null ? void 0 : resource.getDataSourceKey) == null ? void 0 : _b.call(resource));
|
|
67
|
+
const filterByTk = (_c = resource == null ? void 0 : resource.getFilterByTk) == null ? void 0 : _c.call(resource);
|
|
68
|
+
if (!resourceName || typeof filterByTk === "undefined" || filterByTk === null) return void 0;
|
|
69
|
+
const parts = String(resourceName).split(".");
|
|
70
|
+
const collection = parts[parts.length - 1];
|
|
71
|
+
return { collection, dataSourceKey, filterByTk };
|
|
72
|
+
}
|
|
73
|
+
__name(inferRecordRef, "inferRecordRef");
|
|
74
|
+
function inferParentRecordRef(ctx) {
|
|
75
|
+
var _a, _b, _c, _d;
|
|
76
|
+
const resource = getResource(ctx);
|
|
77
|
+
const dataSourceKey = ((_a = getCollection(ctx)) == null ? void 0 : _a.dataSourceKey) || ((_b = resource == null ? void 0 : resource.getDataSourceKey) == null ? void 0 : _b.call(resource));
|
|
78
|
+
const rn = (_c = resource == null ? void 0 : resource.getResourceName) == null ? void 0 : _c.call(resource);
|
|
79
|
+
const sourceId = (_d = resource == null ? void 0 : resource.getSourceId) == null ? void 0 : _d.call(resource);
|
|
80
|
+
if (!rn || typeof sourceId === "undefined" || sourceId === null) return void 0;
|
|
81
|
+
const parts = String(rn).split(".");
|
|
82
|
+
if (parts.length < 2) return void 0;
|
|
83
|
+
return { collection: parts[0], dataSourceKey, filterByTk: sourceId };
|
|
84
|
+
}
|
|
85
|
+
__name(inferParentRecordRef, "inferParentRecordRef");
|
|
86
|
+
async function buildRecordMeta(collectionAccessor, title, paramsBuilder) {
|
|
87
|
+
const base = await (0, import_createCollectionContextMeta.createCollectionContextMeta)(collectionAccessor, title)();
|
|
88
|
+
if (!base) return null;
|
|
89
|
+
return {
|
|
90
|
+
...base,
|
|
91
|
+
buildVariablesParams: /* @__PURE__ */ __name((ctx) => paramsBuilder ? paramsBuilder(ctx) : inferRecordRef(ctx), "buildVariablesParams")
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
__name(buildRecordMeta, "buildRecordMeta");
|
|
95
|
+
function createRecordMetaFactory(collectionAccessor, title, paramsBuilder) {
|
|
96
|
+
const factory = /* @__PURE__ */ __name(async () => buildRecordMeta(collectionAccessor, title, paramsBuilder), "factory");
|
|
97
|
+
factory.title = title;
|
|
98
|
+
return factory;
|
|
99
|
+
}
|
|
100
|
+
__name(createRecordMetaFactory, "createRecordMetaFactory");
|
|
101
|
+
function createCurrentRecordMetaFactory(ctx, collectionAccessor) {
|
|
102
|
+
var _a;
|
|
103
|
+
const title = ((_a = ctx == null ? void 0 : ctx.t) == null ? void 0 : _a.call(ctx, "Current record")) || "Current record";
|
|
104
|
+
return createRecordMetaFactory(collectionAccessor, title, (c) => inferRecordRef(c));
|
|
105
|
+
}
|
|
106
|
+
__name(createCurrentRecordMetaFactory, "createCurrentRecordMetaFactory");
|
|
107
|
+
const extractUsedVariableNames = import_client.extractUsedVariableNames;
|
|
108
|
+
const extractUsedVariablePaths = import_client.extractUsedVariablePaths;
|
|
109
|
+
async function collectContextParamsForTemplate(ctx, template) {
|
|
110
|
+
var _a;
|
|
111
|
+
try {
|
|
112
|
+
const usage = (0, import_client.extractUsedVariablePaths)(template) || {};
|
|
113
|
+
const varNames = Object.keys(usage);
|
|
114
|
+
if (!varNames.length) return void 0;
|
|
115
|
+
const input = {};
|
|
116
|
+
for (const key of varNames) {
|
|
117
|
+
const opt = (_a = ctx.getPropertyOptions) == null ? void 0 : _a.call(ctx, key);
|
|
118
|
+
const meta = opt == null ? void 0 : opt.meta;
|
|
119
|
+
if (!meta) continue;
|
|
120
|
+
let built;
|
|
121
|
+
try {
|
|
122
|
+
const resolvedMeta = typeof meta === "function" ? await meta() : meta;
|
|
123
|
+
const builder = resolvedMeta == null ? void 0 : resolvedMeta.buildVariablesParams;
|
|
124
|
+
if (typeof builder === "function") {
|
|
125
|
+
built = await builder(ctx);
|
|
126
|
+
}
|
|
127
|
+
} catch (err) {
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
if (built) {
|
|
131
|
+
input[key] = built;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return (0, import_serverContextParams.buildServerContextParams)(ctx, input);
|
|
135
|
+
} catch (_) {
|
|
136
|
+
return void 0;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
__name(collectContextParamsForTemplate, "collectContextParamsForTemplate");
|
|
140
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
141
|
+
0 && (module.exports = {
|
|
142
|
+
buildRecordMeta,
|
|
143
|
+
collectContextParamsForTemplate,
|
|
144
|
+
createCurrentRecordMetaFactory,
|
|
145
|
+
createRecordMetaFactory,
|
|
146
|
+
extractUsedVariableNames,
|
|
147
|
+
extractUsedVariablePaths,
|
|
148
|
+
inferParentRecordRef,
|
|
149
|
+
inferRecordRef
|
|
150
|
+
});
|