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:
Thomas Trompette
2025-09-01 18:46:33 +02:00
committed by GitHub
parent 0d5fedfb0a
commit bcd5cf7f25
16 changed files with 198 additions and 31 deletions
@@ -16,6 +16,7 @@ import { workflowInsertStepIdsComponentState } from '@/workflow/workflow-steps/s
import { AI_ACTIONS } from '@/workflow/workflow-steps/workflow-actions/constants/AiActions';
import { CORE_ACTIONS } from '@/workflow/workflow-steps/workflow-actions/constants/CoreActions';
import { HUMAN_INPUT_ACTIONS } from '@/workflow/workflow-steps/workflow-actions/constants/HumanInputActions';
import { OTHER_ACTIONS } from '@/workflow/workflow-steps/workflow-actions/constants/OtherActions';
import { RECORD_ACTIONS } from '@/workflow/workflow-steps/workflow-actions/constants/RecordActions';
import { getActionIcon } from '@/workflow/workflow-steps/workflow-actions/utils/getActionIcon';
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
@@ -91,6 +92,9 @@ export const CommandMenuWorkflowSelectActionContent = ({
const theme = useTheme();
const isAiEnabled = useIsFeatureEnabled(FeatureFlagKey.IS_AI_ENABLED);
const isIteratorEnabled = useIsFeatureEnabled(
FeatureFlagKey.IS_WORKFLOW_ITERATOR_ENABLED,
);
const { t } = useLingui();
@@ -116,6 +120,14 @@ export const CommandMenuWorkflowSelectActionContent = ({
{t`Human Input`}
</RightDrawerWorkflowSelectStepTitle>
{WorkflowActionMenuItems(HUMAN_INPUT_ACTIONS, theme, handleCreateStep)}
{isIteratorEnabled && (
<>
<RightDrawerWorkflowSelectStepTitle>
{t`Others`}
</RightDrawerWorkflowSelectStepTitle>
{WorkflowActionMenuItems(OTHER_ACTIONS, theme, handleCreateStep)}
</>
)}
</RightDrawerStepListContainer>
);
};