diff --git a/cypress/e2e/2372-ado-prevent-clipping-params.cy.ts b/cypress/e2e/2372-ado-prevent-clipping-params.cy.ts index 260c6e48c9..a7746d010d 100644 --- a/cypress/e2e/2372-ado-prevent-clipping-params.cy.ts +++ b/cypress/e2e/2372-ado-prevent-clipping-params.cy.ts @@ -27,7 +27,7 @@ describe('ADO-2362 ADO-2350 NDV Prevent clipping long parameters and scrolling t // next parameter in view should not be visible ndv.getters.inlineExpressionEditorInput().eq(1).should('have.text', 'not visible'); - ndv.getters.inlineExpressionEditorInput().eq(1).should('not.be.visible'); + ndv.getters.inlineExpressionEditorInput().eq(1).should('be.visible'); ndv.actions.close(); workflowPage.actions.openNode('Schedule Trigger'); diff --git a/packages/frontend/editor-ui/src/components/AssignmentCollection/Assignment.test.ts b/packages/frontend/editor-ui/src/components/AssignmentCollection/Assignment.test.ts index 164047d475..e16a01ae08 100644 --- a/packages/frontend/editor-ui/src/components/AssignmentCollection/Assignment.test.ts +++ b/packages/frontend/editor-ui/src/components/AssignmentCollection/Assignment.test.ts @@ -62,4 +62,11 @@ describe('Assignment.vue', () => { expect(emitted('remove')).toEqual([[]]); }); + + it('should not display parameter input hint if expressionOutput is not set', () => { + const { getByTestId } = renderComponent(); + + // Check if the parameter input hint is not displayed + expect(() => getByTestId('parameter-input-hint')).toThrow(); + }); }); diff --git a/packages/frontend/editor-ui/src/components/AssignmentCollection/Assignment.vue b/packages/frontend/editor-ui/src/components/AssignmentCollection/Assignment.vue index 5e9512fb21..081b8bc186 100644 --- a/packages/frontend/editor-ui/src/components/AssignmentCollection/Assignment.vue +++ b/packages/frontend/editor-ui/src/components/AssignmentCollection/Assignment.vue @@ -188,6 +188,7 @@ const onBlur = (): void => { @blur="onBlur" /> { - if (isExpression.value && resolvedExpressionString.value) { - return resolvedExpressionString.value; - } - - return null; -}); - const parsedParameterName = computed(() => { return parseResourceMapperFieldName(props.parameter?.name ?? ''); }); @@ -199,14 +191,14 @@ defineExpose({ -
+
diff --git a/packages/frontend/editor-ui/src/composables/useResolvedExpression.test.ts b/packages/frontend/editor-ui/src/composables/useResolvedExpression.test.ts index 41db7557ac..723bb6bbb4 100644 --- a/packages/frontend/editor-ui/src/composables/useResolvedExpression.test.ts +++ b/packages/frontend/editor-ui/src/composables/useResolvedExpression.test.ts @@ -63,8 +63,8 @@ describe('useResolvedExpression', () => { }); expect(toValue(isExpression)).toBe(false); - expect(toValue(resolvedExpression)).toBe(''); - expect(toValue(resolvedExpressionString)).toBe('[empty]'); + expect(toValue(resolvedExpression)).toBe(null); + expect(toValue(resolvedExpressionString)).toBe(''); }); it('should handle errors', async () => { diff --git a/packages/frontend/editor-ui/src/composables/useResolvedExpression.ts b/packages/frontend/editor-ui/src/composables/useResolvedExpression.ts index a5c5784593..4f58c0ba19 100644 --- a/packages/frontend/editor-ui/src/composables/useResolvedExpression.ts +++ b/packages/frontend/editor-ui/src/composables/useResolvedExpression.ts @@ -25,7 +25,7 @@ export function useResolvedExpression({ const router = useRouter(); const { resolveExpression } = useWorkflowHelpers({ router }); - const resolvedExpression = ref(); + const resolvedExpression = ref(null); const resolvedExpressionString = ref(''); const targetItem = computed(() => ndvStore.expressionTargetItem ?? undefined); @@ -76,9 +76,14 @@ export function useResolvedExpression({ const debouncedUpdateExpression = debounce(updateExpression, 200); function updateExpression() { - const resolved = resolve(); - resolvedExpression.value = resolved.ok ? resolved.result : null; - resolvedExpressionString.value = stringifyExpressionResult(resolved, hasRunData.value); + if (isExpression.value) { + const resolved = resolve(); + resolvedExpression.value = resolved.ok ? resolved.result : null; + resolvedExpressionString.value = stringifyExpressionResult(resolved, hasRunData.value); + } else { + resolvedExpression.value = null; + resolvedExpressionString.value = ''; + } } watch(