diff --git a/packages/plugins/@nocobase/plugin-workflow/src/client/components/TriggerCollectionRecordSelect.tsx b/packages/plugins/@nocobase/plugin-workflow/src/client/components/TriggerCollectionRecordSelect.tsx index ca1f085b11..42d964426c 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/client/components/TriggerCollectionRecordSelect.tsx +++ b/packages/plugins/@nocobase/plugin-workflow/src/client/components/TriggerCollectionRecordSelect.tsx @@ -21,19 +21,19 @@ export function TriggerCollectionRecordSelect(props) { const [dataSourceName, collectionName] = parseCollectionName(workflow.config.collection); const { collectionManager } = app.dataSourceManager.getDataSource(dataSourceName); const collection = collectionManager.getCollection(collectionName); - const render = (props) => ( + const render = (p) => ( ); return ( @@ -42,6 +42,7 @@ export function TriggerCollectionRecordSelect(props) { onChange={props.onChange} nullable={false} changeOnSelect + {...props} render={render} /> ); diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts index 375ef784ab..a2343e8fb2 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts @@ -9,6 +9,7 @@ import Trigger from '..'; import type Plugin from '../../Plugin'; +import { WorkflowModel } from '../../types'; import DateFieldScheduleTrigger from './DateFieldScheduleTrigger'; import StaticScheduleTrigger from './StaticScheduleTrigger'; import { SCHEDULE_MODE } from './utils'; @@ -67,19 +68,15 @@ export default class ScheduleTrigger extends Trigger { // return !existed.length; // } - validateContext(values) { - if (!values?.mode) { - return { - mode: 'Mode is required', - }; - } - const trigger = this.getTrigger(values.mode); + validateContext(values, workflow: WorkflowModel) { + const { mode } = workflow.config; + const trigger = this.getTrigger(mode); if (!trigger) { return { mode: 'Mode in invalid', }; } - return trigger.validateContext?.(values); + return trigger.validateContext?.(values, workflow); } } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts index 24c01d874e..50e462fd33 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts @@ -20,7 +20,7 @@ export abstract class Trigger { return true; } duplicateConfig?(workflow: WorkflowModel, options: Transactionable): object | Promise; - validateContext?(values: any): null | void | { [key: string]: string }; + validateContext?(values: any, workflow: WorkflowModel): null | void | { [key: string]: string }; sync?: boolean; execute?( workflow: WorkflowModel,