feat(trigger): optimize trigger parameter schema handling in useConfig

- Refactored the trigger parameter schema construction in `useConfig` to utilize a Map for improved efficiency and clarity.
- Updated the return value to ensure unique schema entries, enhancing the integrity of the trigger configuration.

These changes streamline the management of trigger parameters, improving performance and maintainability in the workflow component.
This commit is contained in:
Harry 2025-09-08 23:39:44 +08:00
parent 5a1e0a8379
commit 8e600f3302
1 changed files with 9 additions and 2 deletions

View File

@ -68,8 +68,14 @@ const useConfig = (id: string, payload: PluginTriggerNodeType) => {
// Combined parameter schema (subscription + trigger specific)
const triggerParameterSchema = useMemo(() => {
return [...subscriptionParameterSchema, ...triggerSpecificParameterSchema]
}, [subscriptionParameterSchema, triggerSpecificParameterSchema])
const schemaMap = new Map()
triggerSpecificParameterSchema.forEach((schema) => {
schemaMap.set(schema.variable || schema.name, schema)
})
return Array.from(schemaMap.values())
}, [triggerSpecificParameterSchema])
const triggerParameterValue = useMemo(() => {
if (!triggerParameterSchema.length) return {}
@ -149,6 +155,7 @@ const useConfig = (id: string, payload: PluginTriggerNodeType) => {
currentTrigger,
triggerParameterSchema,
triggerParameterValue,
subscriptionParameterSchema,
setTriggerParameterValue,
setInputVar,
outputSchema,