From 9695c9e29bf5585bcaa55b2ed52bc1ab5ddef622 Mon Sep 17 00:00:00 2001 From: Nikunj Hudka Date: Sun, 23 Feb 2025 23:06:04 -0400 Subject: [PATCH] feat: ui:disabled allowed in GiteaRepoPicker Signed-off-by: Nikunj Hudka --- .../RepoUrlPicker/GiteaRepoPicker.test.tsx | 16 ++++++++++++++++ .../fields/RepoUrlPicker/GiteaRepoPicker.tsx | 5 +++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/GiteaRepoPicker.test.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/GiteaRepoPicker.test.tsx index 056d8f0d11..885e5e3e44 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/GiteaRepoPicker.test.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/GiteaRepoPicker.test.tsx @@ -20,6 +20,22 @@ import { fireEvent } from '@testing-library/react'; import { renderInTestApp } from '@backstage/test-utils'; describe('GiteaRepoPicker', () => { + 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/GiteaRepoPicker.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/GiteaRepoPicker.tsx index 9478d61838..92433e0796 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/GiteaRepoPicker.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/GiteaRepoPicker.tsx @@ -28,7 +28,7 @@ export const GiteaRepoPicker = ( allowedRepos?: string[]; }>, ) => { - const { allowedOwners = [], state, onChange, rawErrors } = props; + const { allowedOwners = [], state, onChange, rawErrors, isDisabled } = props; const { t } = useTranslationRef(scaffolderTranslationRef); const ownerItems: SelectItem[] = allowedOwners ? allowedOwners.map(i => ({ label: i, value: i })) @@ -55,7 +55,7 @@ export const GiteaRepoPicker = ( ), }) } - disabled={allowedOwners.length === 1} + disabled={isDisabled || allowedOwners.length === 1} selected={owner} items={ownerItems} /> @@ -70,6 +70,7 @@ export const GiteaRepoPicker = ( label={t('fields.giteaRepoPicker.owner.inputTitle')} onChange={e => onChange({ owner: e.target.value })} helperText={t('fields.giteaRepoPicker.owner.description')} + disabled={isDisabled} value={owner} />