@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,340 @@
|
|
|
1
|
+
import pino from 'pino';
|
|
2
|
+
import { FlowExecutor } from './executor/FlowExecutor';
|
|
3
|
+
import { FlowContext, FlowEngineContext, FlowRuntimeContext } from './flowContext';
|
|
4
|
+
import { FlowSettings } from './flowSettings';
|
|
5
|
+
import { FlowModel } from './models';
|
|
6
|
+
import { ReactView } from './ReactView';
|
|
7
|
+
import { FlowResource } from './resources';
|
|
8
|
+
import type { ActionDefinition, ApplyFlowCacheEntry, CreateModelOptions, EventDefinition, FlowModelOptions, IFlowModelRepository, ModelConstructor, PersistOptions, ResourceType } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* FlowEngine is the core class of the flow engine, responsible for managing flow models, actions, model repository, and more.
|
|
11
|
+
* It provides capabilities for registering, creating, finding, persisting, replacing, and moving models.
|
|
12
|
+
* Supports flow definitions, action definitions, model class inheritance and filtering.
|
|
13
|
+
* Integrates FlowEngineContext, FlowSettings, and ReactView for context, configuration, and view rendering.
|
|
14
|
+
*
|
|
15
|
+
* Main features:
|
|
16
|
+
* - Register, get, and find model classes and model instances
|
|
17
|
+
* - Register and get action definitions
|
|
18
|
+
* - Persist and query models via the model repository
|
|
19
|
+
* - Register flow definitions
|
|
20
|
+
* - Create, find, replace, move, and destroy model instances
|
|
21
|
+
* - Support for model class inheritance and filtering
|
|
22
|
+
* - Internationalization support
|
|
23
|
+
* - Integration with React view rendering
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* const engine = new FlowEngine();
|
|
27
|
+
* engine.registerModels({ MyModel });
|
|
28
|
+
* engine.setModelRepository(new MyRepository());
|
|
29
|
+
* const model = engine.createModel({ use: 'MyModel', uid: 'xxx' });
|
|
30
|
+
*/
|
|
31
|
+
export declare class FlowEngine {
|
|
32
|
+
#private;
|
|
33
|
+
/**
|
|
34
|
+
* Global action registry
|
|
35
|
+
*/
|
|
36
|
+
private _actionRegistry;
|
|
37
|
+
/**
|
|
38
|
+
* Global event registry
|
|
39
|
+
*/
|
|
40
|
+
private _eventRegistry;
|
|
41
|
+
/**
|
|
42
|
+
* Registered model classes.
|
|
43
|
+
* Key is the model class name, value is the model class constructor.
|
|
44
|
+
* @private
|
|
45
|
+
*/
|
|
46
|
+
private _modelClasses;
|
|
47
|
+
/**
|
|
48
|
+
* Created model instances.
|
|
49
|
+
* Key is the model instance UID, value is the model instance object.
|
|
50
|
+
* @private
|
|
51
|
+
*/
|
|
52
|
+
private _modelInstances;
|
|
53
|
+
/**
|
|
54
|
+
* The current model repository instance, implements IFlowModelRepository.
|
|
55
|
+
* Used for model persistence and queries.
|
|
56
|
+
* @private
|
|
57
|
+
*/
|
|
58
|
+
private _modelRepository;
|
|
59
|
+
/**
|
|
60
|
+
* Flow application cache.
|
|
61
|
+
* Key is the cache key, value is ApplyFlowCacheEntry.
|
|
62
|
+
* @private
|
|
63
|
+
*/
|
|
64
|
+
private _applyFlowCache;
|
|
65
|
+
/**
|
|
66
|
+
* Model saving state tracking.
|
|
67
|
+
* Key is the model UID, value is the save promise.
|
|
68
|
+
* @private
|
|
69
|
+
*/
|
|
70
|
+
private _savingModels;
|
|
71
|
+
/**
|
|
72
|
+
* Flow engine context object.
|
|
73
|
+
* @private
|
|
74
|
+
*/
|
|
75
|
+
private _flowContext;
|
|
76
|
+
/**
|
|
77
|
+
* 视图作用域引擎的栈式链表指针。
|
|
78
|
+
* - previousEngine:打开当前视图的上一个引擎
|
|
79
|
+
* - nextEngine:在当前之上的下一个引擎
|
|
80
|
+
*/
|
|
81
|
+
private _previousEngine?;
|
|
82
|
+
private _nextEngine?;
|
|
83
|
+
private _resources;
|
|
84
|
+
logger: pino.Logger;
|
|
85
|
+
/**
|
|
86
|
+
* Flow settings, including components and form scopes.
|
|
87
|
+
* @public
|
|
88
|
+
*/
|
|
89
|
+
flowSettings: FlowSettings;
|
|
90
|
+
/**
|
|
91
|
+
* Experimental API: Integrates React view rendering capability into FlowEngine.
|
|
92
|
+
* This property may change or be removed in the future. Use with caution.
|
|
93
|
+
* @experimental
|
|
94
|
+
* @public
|
|
95
|
+
*/
|
|
96
|
+
reactView: ReactView;
|
|
97
|
+
/**
|
|
98
|
+
* Flow executor that runs flows and auto-flows.
|
|
99
|
+
*/
|
|
100
|
+
executor: FlowExecutor;
|
|
101
|
+
/**
|
|
102
|
+
* Constructor. Initializes React view, registers default model and form scopes.
|
|
103
|
+
*/
|
|
104
|
+
constructor();
|
|
105
|
+
/** 上一个引擎(根引擎为 undefined) */
|
|
106
|
+
get previousEngine(): FlowEngine | undefined;
|
|
107
|
+
/** 下一个引擎(若存在) */
|
|
108
|
+
get nextEngine(): FlowEngine | undefined;
|
|
109
|
+
/**
|
|
110
|
+
* 将当前引擎链接到 prev 之后(用于视图打开时形成栈关系)。
|
|
111
|
+
*/
|
|
112
|
+
linkAfter(engine: FlowEngine): void;
|
|
113
|
+
/**
|
|
114
|
+
* 将当前引擎从栈中移除并修复相邻指针(用于视图关闭时)。
|
|
115
|
+
*/
|
|
116
|
+
unlinkFromStack(): void;
|
|
117
|
+
/**
|
|
118
|
+
* Get the flow engine context object.
|
|
119
|
+
* @returns {FlowEngineContext} Flow engine context
|
|
120
|
+
*/
|
|
121
|
+
get context(): FlowEngineContext;
|
|
122
|
+
get dataSourceManager(): import("./data-source").DataSourceManager;
|
|
123
|
+
/**
|
|
124
|
+
* Get the flow application cache.
|
|
125
|
+
* @returns {Map<string, ApplyFlowCacheEntry>} Flow application cache map
|
|
126
|
+
* @internal
|
|
127
|
+
*/
|
|
128
|
+
get applyFlowCache(): Map<string, ApplyFlowCacheEntry>;
|
|
129
|
+
/**
|
|
130
|
+
* Set the model repository for persisting and querying model instances.
|
|
131
|
+
* If a model repository was already set, it will be overwritten and a warning will be printed.
|
|
132
|
+
* @param {IFlowModelRepository} modelRepository The model repository instance implementing IFlowModelRepository.
|
|
133
|
+
* @example
|
|
134
|
+
* flowEngine.setModelRepository(new MyFlowModelRepository());
|
|
135
|
+
*/
|
|
136
|
+
setModelRepository(modelRepository: IFlowModelRepository): void;
|
|
137
|
+
get modelRepository(): IFlowModelRepository | null;
|
|
138
|
+
/**
|
|
139
|
+
* Internationalization translation method, calls the context's t method.
|
|
140
|
+
* @param {string} keyOrTemplate Translation key or template string
|
|
141
|
+
* @param {any} [options] Optional parameters
|
|
142
|
+
* @returns {string} Translated string
|
|
143
|
+
*/
|
|
144
|
+
translate(keyOrTemplate: string, options?: any): string;
|
|
145
|
+
/**
|
|
146
|
+
* Register multiple actions.
|
|
147
|
+
* @param {Record<string, ActionDefinition>} actions Action definition object collection
|
|
148
|
+
*/
|
|
149
|
+
registerActions(actions: Record<string, ActionDefinition>): void;
|
|
150
|
+
/**
|
|
151
|
+
* Get a registered action definition.
|
|
152
|
+
* @template TModel Specific FlowModel subclass type
|
|
153
|
+
* @param {string} name Action name
|
|
154
|
+
* @returns {ActionDefinition<TModel> | undefined} Action definition, or undefined if not found
|
|
155
|
+
*/
|
|
156
|
+
getAction<TModel extends FlowModel = FlowModel, TCtx extends FlowContext = FlowRuntimeContext<TModel>>(name: string): ActionDefinition<TModel, TCtx> | undefined;
|
|
157
|
+
/**
|
|
158
|
+
* Get all registered global actions.
|
|
159
|
+
* Returns a new Map to avoid external mutation of internal state.
|
|
160
|
+
*/
|
|
161
|
+
getActions<TModel extends FlowModel = FlowModel, TCtx extends FlowContext = FlowRuntimeContext<TModel>>(): Map<string, ActionDefinition<TModel, TCtx>>;
|
|
162
|
+
/**
|
|
163
|
+
* Register multiple events.
|
|
164
|
+
*/
|
|
165
|
+
registerEvents(events: Record<string, EventDefinition>): void;
|
|
166
|
+
/**
|
|
167
|
+
* Get a registered event definition.
|
|
168
|
+
*/
|
|
169
|
+
getEvent<TModel extends FlowModel = FlowModel>(name: string): EventDefinition<TModel> | undefined;
|
|
170
|
+
/**
|
|
171
|
+
* Get all registered global events.
|
|
172
|
+
*/
|
|
173
|
+
getEvents<TModel extends FlowModel = FlowModel>(): Map<string, EventDefinition<TModel>>;
|
|
174
|
+
/**
|
|
175
|
+
* Register multiple model classes.
|
|
176
|
+
* @param {Record<string, ModelConstructor>} models Model class map, key is model name, value is model constructor
|
|
177
|
+
* @returns {void}
|
|
178
|
+
* @example
|
|
179
|
+
* flowEngine.registerModels({ UserModel, OrderModel });
|
|
180
|
+
*/
|
|
181
|
+
registerModels(models: Record<string, ModelConstructor | typeof FlowModel<any>>): void;
|
|
182
|
+
registerResources(resources: Record<string, any>): void;
|
|
183
|
+
createResource<T = FlowResource>(resourceType: ResourceType<T>, options?: {
|
|
184
|
+
context?: FlowContext;
|
|
185
|
+
}): T;
|
|
186
|
+
/**
|
|
187
|
+
* Get all registered model classes.
|
|
188
|
+
* @returns {Map<string, ModelConstructor>} Model class map
|
|
189
|
+
*/
|
|
190
|
+
getModelClasses(): Map<string, ModelConstructor>;
|
|
191
|
+
/**
|
|
192
|
+
* Get a registered model class (constructor).
|
|
193
|
+
* @param {string} name Model class name
|
|
194
|
+
* @returns {ModelConstructor | undefined} Model constructor, or undefined if not found
|
|
195
|
+
*/
|
|
196
|
+
getModelClass(name: string): ModelConstructor | undefined;
|
|
197
|
+
/**
|
|
198
|
+
* Find a registered model class by predicate.
|
|
199
|
+
* @param predicate Callback function, arguments are (name, ModelClass), returns true if matched
|
|
200
|
+
* @returns {[string, ModelConstructor] | undefined} Matched model class and name
|
|
201
|
+
*/
|
|
202
|
+
findModelClass(predicate: (name: string, ModelClass: ModelConstructor) => boolean): [string, ModelConstructor] | undefined;
|
|
203
|
+
/**
|
|
204
|
+
* Filter model classes by base class (supports multi-level inheritance), with optional custom filter.
|
|
205
|
+
* @param {string | ModelConstructor} baseClass Base class name or constructor
|
|
206
|
+
* @param {(ModelClass: ModelConstructor, className: string) => boolean} [filter] Optional filter function
|
|
207
|
+
* @returns {Map<string, ModelConstructor>} Model classes inherited from base class and passed the filter
|
|
208
|
+
*/
|
|
209
|
+
getSubclassesOf(baseClass: string | ModelConstructor, filter?: (ModelClass: ModelConstructor, className: string) => boolean): Map<string, ModelConstructor>;
|
|
210
|
+
/**
|
|
211
|
+
* Create and register a model instance.
|
|
212
|
+
* If an instance with the same UID exists, returns the existing instance.
|
|
213
|
+
* @template T FlowModel subclass type, defaults to FlowModel.
|
|
214
|
+
* @param {CreateModelOptions} options Model creation options
|
|
215
|
+
* @returns {T} Created model instance
|
|
216
|
+
*/
|
|
217
|
+
createModel<T extends FlowModel = FlowModel>(options: CreateModelOptions, extra?: {
|
|
218
|
+
delegateToParent?: boolean;
|
|
219
|
+
delegate?: FlowContext;
|
|
220
|
+
}): T;
|
|
221
|
+
/**
|
|
222
|
+
* 尝试应用当前模型可用 flow 的 defaultParams(如果存在)到 model.stepParams。
|
|
223
|
+
* 仅对尚未存在的步骤参数进行填充,不覆盖已有值。
|
|
224
|
+
*/
|
|
225
|
+
_applyFlowDefinitionDefaultParams(model: FlowModel): Promise<void>;
|
|
226
|
+
/**
|
|
227
|
+
* Get a model instance by UID.
|
|
228
|
+
* @template T FlowModel subclass type, defaults to FlowModel.
|
|
229
|
+
* @param {string} uid Model instance UID
|
|
230
|
+
* @returns {T | undefined} Model instance, or undefined if not found
|
|
231
|
+
*/
|
|
232
|
+
getModel<T extends FlowModel = FlowModel>(uid: string, global?: boolean): T | undefined;
|
|
233
|
+
/**
|
|
234
|
+
* Iterate all registered model instances.
|
|
235
|
+
* @template T FlowModel subclass type, defaults to FlowModel.
|
|
236
|
+
* @param {(model: T) => void} callback Callback function
|
|
237
|
+
*/
|
|
238
|
+
forEachModel<T extends FlowModel = FlowModel>(callback: (model: T) => void): void;
|
|
239
|
+
/**
|
|
240
|
+
* Remove a local model instance.
|
|
241
|
+
* @param {string} uid UID of the model instance to destroy
|
|
242
|
+
* @returns {boolean} Returns true if successfully destroyed, false otherwise (e.g. instance does not exist)
|
|
243
|
+
*/
|
|
244
|
+
removeModel(uid: string): boolean;
|
|
245
|
+
/**
|
|
246
|
+
* Check if the model repository is set.
|
|
247
|
+
* @returns {boolean} Returns true if set, false otherwise.
|
|
248
|
+
* @private
|
|
249
|
+
*/
|
|
250
|
+
private ensureModelRepository;
|
|
251
|
+
/**
|
|
252
|
+
* Load a model instance (prefers local, falls back to repository).
|
|
253
|
+
* @template T FlowModel subclass type, defaults to FlowModel.
|
|
254
|
+
* @param {any} options Load options
|
|
255
|
+
* @returns {Promise<T | null>} Loaded model instance or null
|
|
256
|
+
*/
|
|
257
|
+
loadModel<T extends FlowModel = FlowModel>(options: any): Promise<T | null>;
|
|
258
|
+
/**
|
|
259
|
+
* Find a sub-model by parent model ID and subKey.
|
|
260
|
+
* @template T FlowModel subclass type, defaults to FlowModel.
|
|
261
|
+
* @param {string} parentId Parent model UID
|
|
262
|
+
* @param {string} subKey Sub-model key
|
|
263
|
+
* @returns {T | null} Found sub-model or null
|
|
264
|
+
*/
|
|
265
|
+
findModelByParentId<T extends FlowModel = FlowModel>(parentId: string, subKey: string): T | null;
|
|
266
|
+
/**
|
|
267
|
+
* Load or create a model instance.
|
|
268
|
+
* @template T FlowModel subclass type, defaults to FlowModel.
|
|
269
|
+
* @param {any} options Load or create options
|
|
270
|
+
* @returns {Promise<T | null>} Model instance or null
|
|
271
|
+
*/
|
|
272
|
+
loadOrCreateModel<T extends FlowModel = FlowModel>(options: any, extra?: {
|
|
273
|
+
delegateToParent?: boolean;
|
|
274
|
+
delegate?: FlowContext;
|
|
275
|
+
}): Promise<T | null>;
|
|
276
|
+
/**
|
|
277
|
+
* Persist and save a model instance.
|
|
278
|
+
* Prevents concurrent saves of the same model by tracking save operations.
|
|
279
|
+
* If a model is already being saved, subsequent calls will wait for the existing save to complete.
|
|
280
|
+
*
|
|
281
|
+
* @template T FlowModel subclass type, defaults to FlowModel.
|
|
282
|
+
* @param {T} model Model instance to save
|
|
283
|
+
* @param {object} [options] Save options
|
|
284
|
+
* @param {boolean} [options.onlyStepParams] Whether to save only step parameters
|
|
285
|
+
* @returns {Promise<any>} Repository save result
|
|
286
|
+
*/
|
|
287
|
+
saveModel<T extends FlowModel = FlowModel>(model: T, options?: {
|
|
288
|
+
onlyStepParams?: boolean;
|
|
289
|
+
}): Promise<any>;
|
|
290
|
+
/**
|
|
291
|
+
* Perform the actual model save operation.
|
|
292
|
+
* @template T FlowModel subclass type, defaults to FlowModel.
|
|
293
|
+
* @param {T} model Model instance to save
|
|
294
|
+
* @param {object} [options] Save options
|
|
295
|
+
* @returns {Promise<any>} Repository save result
|
|
296
|
+
* @private
|
|
297
|
+
*/
|
|
298
|
+
_performModelSave<T extends FlowModel = FlowModel>(model: T, options?: {
|
|
299
|
+
onlyStepParams?: boolean;
|
|
300
|
+
}): Promise<any>;
|
|
301
|
+
/**
|
|
302
|
+
* Destroy a model instance (persistently delete and remove local instance).
|
|
303
|
+
* @param {string} uid UID of the model to destroy
|
|
304
|
+
* @returns {Promise<boolean>} Whether destroyed successfully
|
|
305
|
+
*/
|
|
306
|
+
destroyModel(uid: string): Promise<boolean>;
|
|
307
|
+
/**
|
|
308
|
+
* Replace a model instance with a new instance of a class.
|
|
309
|
+
* @template T New model type
|
|
310
|
+
* @param {string} uid UID of the model to replace
|
|
311
|
+
* @param {Partial<FlowModelOptions> | ((oldModel: FlowModel) => Partial<FlowModelOptions>)} [optionsOrFn]
|
|
312
|
+
* Options for creating the new model, supports two forms:
|
|
313
|
+
* 1. Pass options directly
|
|
314
|
+
* 2. Pass a function that receives current options and returns new options
|
|
315
|
+
* @returns {Promise<T | null>} Newly created model instance
|
|
316
|
+
*/
|
|
317
|
+
replaceModel<T extends FlowModel = FlowModel>(uid: string, optionsOrFn?: Partial<FlowModelOptions> | ((currentOptions: FlowModelOptions) => Partial<FlowModelOptions>)): Promise<T | null>;
|
|
318
|
+
/**
|
|
319
|
+
* Move a model instance within its parent model.
|
|
320
|
+
* @param {any} sourceId Source model UID
|
|
321
|
+
* @param {any} targetId Target model UID
|
|
322
|
+
* @returns {Promise<void>} No return value
|
|
323
|
+
*/
|
|
324
|
+
moveModel(sourceId: any, targetId: any, options?: PersistOptions): Promise<void>;
|
|
325
|
+
/**
|
|
326
|
+
* Filter model classes by parent class (supports multi-level inheritance).
|
|
327
|
+
* @param {string | ModelConstructor} parentClass Parent class name or constructor
|
|
328
|
+
* @returns {Map<string, ModelConstructor>} Model classes inherited from the specified parent class
|
|
329
|
+
*/
|
|
330
|
+
filterModelClassByParent(parentClass: string | ModelConstructor): Map<any, any>;
|
|
331
|
+
/**
|
|
332
|
+
* Generate a unique key for the flow application cache.
|
|
333
|
+
* @param {string} prefix Prefix
|
|
334
|
+
* @param {string} flowKey Flow key
|
|
335
|
+
* @param {string} modelUid Model UID
|
|
336
|
+
* @returns {string} Unique cache key
|
|
337
|
+
* @internal
|
|
338
|
+
*/
|
|
339
|
+
static generateApplyFlowCacheKey(prefix: string, flowKey: string, modelUid: string): string;
|
|
340
|
+
}
|