From 008a7f7f3351bdedf01b4490d1658edeacc95a16 Mon Sep 17 00:00:00 2001 From: chenos Date: Wed, 29 Jun 2022 17:32:10 +0800 Subject: [PATCH] fix(workflow): merge workflow providers --- .../client/src/application/Application.tsx | 5 +--- .../client/src/workflow/WorkflowProvider.tsx | 29 +++++++++++++++++++ .../src/workflow/WorkflowRouteProvider.tsx | 12 -------- packages/core/client/src/workflow/index.tsx | 3 +- 4 files changed, 32 insertions(+), 17 deletions(-) create mode 100644 packages/core/client/src/workflow/WorkflowProvider.tsx delete mode 100644 packages/core/client/src/workflow/WorkflowRouteProvider.tsx diff --git a/packages/core/client/src/application/Application.tsx b/packages/core/client/src/application/Application.tsx index 134a2c4f2..23df94457 100644 --- a/packages/core/client/src/application/Application.tsx +++ b/packages/core/client/src/application/Application.tsx @@ -47,7 +47,6 @@ export class Application { plugins: PluginCallback[] = []; constructor(options: ApplicationOptions) { - const { WorkflowPage, WorkflowRouteProvider, WorkflowShortcut } = require('../workflow'); this.apiClient = new APIClient({ baseURL: process.env.API_BASE_URL, headers: { @@ -66,7 +65,6 @@ export class Application { RouteSchemaComponent, SigninPage, SignupPage, - WorkflowPage, BlockTemplatePage, BlockTemplateDetails, }, @@ -77,7 +75,6 @@ export class Application { ACLShortcut, DesignableSwitch, CollectionManagerShortcut, - WorkflowShortcut, SystemSettingsShortcut, SchemaTemplateShortcut, FileStorageShortcut, @@ -93,7 +90,7 @@ export class Application { this.use(AntdSchemaComponentProvider); this.use(ACLProvider); this.use(RemoteDocumentTitleProvider); - this.use(WorkflowRouteProvider); + this.use(require('../workflow').WorkflowProvider); for (const plugin of options.plugins) { const [component, props] = Array.isArray(plugin) ? plugin : [plugin]; this.use(component, props); diff --git a/packages/core/client/src/workflow/WorkflowProvider.tsx b/packages/core/client/src/workflow/WorkflowProvider.tsx new file mode 100644 index 000000000..016ee0f7c --- /dev/null +++ b/packages/core/client/src/workflow/WorkflowProvider.tsx @@ -0,0 +1,29 @@ +import React, { useContext } from 'react'; +import { PluginManagerContext } from '../plugin-manager'; +import { RouteSwitchContext } from '../route-switch'; +import { WorkflowPage } from './WorkflowPage'; +import { WorkflowShortcut } from './WorkflowShortcut'; + +export const WorkflowProvider = (props) => { + const ctx = useContext(PluginManagerContext); + const { routes, components, ...others } = useContext(RouteSwitchContext); + routes[1].routes.unshift({ + type: 'route', + path: '/admin/plugins/workflows/:id', + component: 'WorkflowPage', + }); + return ( + + + {props.children} + + + ); +}; diff --git a/packages/core/client/src/workflow/WorkflowRouteProvider.tsx b/packages/core/client/src/workflow/WorkflowRouteProvider.tsx deleted file mode 100644 index e82bab153..000000000 --- a/packages/core/client/src/workflow/WorkflowRouteProvider.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import React, { useContext } from 'react'; -import { RouteSwitchContext } from '../route-switch'; - -export const WorkflowRouteProvider = (props) => { - const { routes, ...others } = useContext(RouteSwitchContext); - routes[1].routes.unshift({ - type: 'route', - path: '/admin/plugins/workflows/:id', - component: 'WorkflowPage', - }); - return {props.children}; -}; diff --git a/packages/core/client/src/workflow/index.tsx b/packages/core/client/src/workflow/index.tsx index 664b40d2b..3693ff0ae 100644 --- a/packages/core/client/src/workflow/index.tsx +++ b/packages/core/client/src/workflow/index.tsx @@ -1,5 +1,6 @@ export * from './ExecutionResourceProvider'; export * from './WorkflowLink'; export * from './WorkflowPage'; -export * from './WorkflowRouteProvider'; +export * from './WorkflowProvider'; export * from './WorkflowShortcut'; +