From a986c02737254f6e0091df4a965854ea2615e5e9 Mon Sep 17 00:00:00 2001 From: Nikunj Hudka Date: Sun, 23 Feb 2025 23:05:27 -0400 Subject: [PATCH] feat: ui:disabled allowed in GerritRepoPicker Signed-off-by: Nikunj Hudka --- .../RepoUrlPicker/GerritRepoPicker.test.tsx | 17 +++++++++++++++++ .../fields/RepoUrlPicker/GerritRepoPicker.tsx | 4 +++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.test.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.test.tsx index f00e286418..54fb0e0e3f 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.test.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.test.tsx @@ -20,6 +20,23 @@ import { fireEvent } from '@testing-library/react'; import { renderInTestApp } from '@backstage/test-utils'; describe('GerritRepoPicker', () => { + it('disables input fields when isDisabled is true', async () => { + const { getAllByRole } = await renderInTestApp( + , + ); + + const allInputs = getAllByRole('textbox'); + + allInputs.forEach(input => { + expect(input).toBeDisabled(); + }); + }); + describe('owner input field', () => { it('calls onChange when the owner input changes', async () => { const onChange = jest.fn(); diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.tsx index bcc665976f..20d601bf45 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/GerritRepoPicker.tsx @@ -21,7 +21,7 @@ import { useTranslationRef } from '@backstage/core-plugin-api/alpha'; import { scaffolderTranslationRef } from '../../../translation'; export const GerritRepoPicker = (props: BaseRepoUrlPickerProps) => { - const { onChange, rawErrors, state } = props; + const { onChange, rawErrors, state, isDisabled } = props; const { t } = useTranslationRef(scaffolderTranslationRef); const { workspace, owner } = state; return ( @@ -32,6 +32,7 @@ export const GerritRepoPicker = (props: BaseRepoUrlPickerProps) => { label={t('fields.gerritRepoPicker.owner.title')} onChange={e => onChange({ owner: e.target.value })} helperText={t('fields.gerritRepoPicker.owner.description')} + disabled={isDisabled} value={owner} /> @@ -44,6 +45,7 @@ export const GerritRepoPicker = (props: BaseRepoUrlPickerProps) => { id="parentInput" label={t('fields.gerritRepoPicker.parent.title')} onChange={e => onChange({ workspace: e.target.value })} + disabled={isDisabled} value={workspace} helperText={t('fields.gerritRepoPicker.parent.description')} />