import React, { useContext } from 'react'; import { Card } from 'antd'; import { CollectionManagerContext, PluginManagerContext, RouteSwitchContext, SchemaComponent, SchemaComponentOptions, SettingsCenterProvider, registerField, useCollectionDataSource, } from '@nocobase/client'; import { WorkflowPage } from './WorkflowPage'; import { ExecutionPage } from './ExecutionPage'; import { triggers } from './triggers'; import { instructions } from './nodes'; import { lang } from './locale'; import { workflowSchema } from './schemas/workflows'; import { WorkflowLink } from './WorkflowLink'; import { ExecutionResourceProvider } from './ExecutionResourceProvider'; import { ExecutionLink } from './ExecutionLink'; import OpenDrawer from './components/OpenDrawer'; import { WorkflowTodo } from './nodes/manual/WorkflowTodo'; import { WorkflowTodoBlockInitializer } from './nodes/manual/WorkflowTodoBlockInitializer'; import { DynamicExpression } from './components/DynamicExpression'; import expressionField from './interfaces/expression'; // registerField(expressionField.group, 'expression', expressionField); export const WorkflowContext = React.createContext({}); export function useWorkflowContext() { return useContext(WorkflowContext); } function WorkflowPane() { return ( ); } export const WorkflowProvider = (props) => { const pmCtx = useContext(PluginManagerContext); const cmCtx = useContext(CollectionManagerContext); const { routes, components, ...others } = useContext(RouteSwitchContext); routes[1].routes.unshift( { type: 'route', path: '/admin/settings/workflow/workflows/:id', component: 'WorkflowPage', }, { type: 'route', path: '/admin/settings/workflow/executions/:id', component: 'ExecutionPage', }, ); return ( {props.children} ); };