Add first frontend version for iterators (#14213)
Add a base for testing iterator step in frontend. Loop next step ids need to be added to an input since the loop handle does not exist on the step yet. Here is an example of run: <img width="1271" height="653" alt="Capture d’écran 2025-09-01 à 16 21 39" src="https://github.com/user-attachments/assets/06ecf981-be17-4d31-84f6-11c2cc98cb66" /> First create record in the loop name is `{{currentItem}} - first`, the second is `{{currentItem}} - second` <img width="276" height="326" alt="Capture d’écran 2025-09-01 à 16 22 25" src="https://github.com/user-attachments/assets/0ae03b65-aeda-41a6-8693-c17711ec2102" />
This commit is contained in:
@@ -23,6 +23,7 @@ export {
|
||||
workflowHttpRequestActionSettingsSchema,
|
||||
workflowAiAgentActionSettingsSchema,
|
||||
workflowFilterActionSettingsSchema,
|
||||
workflowIteratorActionSettingsSchema,
|
||||
workflowCodeActionSchema,
|
||||
workflowSendEmailActionSchema,
|
||||
workflowCreateRecordActionSchema,
|
||||
@@ -33,6 +34,7 @@ export {
|
||||
workflowHttpRequestActionSchema,
|
||||
workflowAiAgentActionSchema,
|
||||
workflowFilterActionSchema,
|
||||
workflowIteratorActionSchema,
|
||||
workflowActionSchema,
|
||||
workflowDatabaseEventTriggerSchema,
|
||||
workflowManualTriggerSchema,
|
||||
|
||||
@@ -219,6 +219,15 @@ export const workflowFilterActionSettingsSchema =
|
||||
}),
|
||||
});
|
||||
|
||||
export const workflowIteratorActionSettingsSchema =
|
||||
baseWorkflowActionSettingsSchema.extend({
|
||||
input: z.object({
|
||||
items: z.union([z.array(z.any()), z.string()]).optional(),
|
||||
// TODO: should never be a string once fix the UI
|
||||
initialLoopStepIds: z.union([z.array(z.string()), z.string()]).optional(),
|
||||
}),
|
||||
});
|
||||
|
||||
// Action schemas
|
||||
export const workflowCodeActionSchema = baseWorkflowActionSchema.extend({
|
||||
type: z.literal('CODE'),
|
||||
@@ -270,6 +279,11 @@ export const workflowFilterActionSchema = baseWorkflowActionSchema.extend({
|
||||
settings: workflowFilterActionSettingsSchema,
|
||||
});
|
||||
|
||||
export const workflowIteratorActionSchema = baseWorkflowActionSchema.extend({
|
||||
type: z.literal('ITERATOR'),
|
||||
settings: workflowIteratorActionSettingsSchema,
|
||||
});
|
||||
|
||||
// Combined action schema
|
||||
export const workflowActionSchema = z.discriminatedUnion('type', [
|
||||
workflowCodeActionSchema,
|
||||
@@ -282,6 +296,7 @@ export const workflowActionSchema = z.discriminatedUnion('type', [
|
||||
workflowHttpRequestActionSchema,
|
||||
workflowAiAgentActionSchema,
|
||||
workflowFilterActionSchema,
|
||||
workflowIteratorActionSchema,
|
||||
]);
|
||||
|
||||
// Trigger schemas
|
||||
|
||||
Reference in New Issue
Block a user