Merge pull request #26157 from stephenglass/fix/secrets-required

fix secret widgets not able to be required or disabled
This commit is contained in:
Ben Lambert
2024-08-23 09:19:33 +02:00
committed by GitHub
3 changed files with 25 additions and 3 deletions
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/plugin-scaffolder-react': patch
---
- Fix secret widget field not displaying as required.
- Fix secret widget not able to be required inside nested objects.
- Fix secret widget not able to be disabled.
- Support `minLength` and `maxLength` properties for secret widget.
+4 -1
View File
@@ -152,7 +152,10 @@ export type ScaffolderReactTemplateCategoryPickerClassKey = 'root' | 'label';
// @alpha
export const SecretWidget: (
props: Pick<WidgetProps, 'name' | 'onChange' | 'schema'>,
props: Pick<
WidgetProps,
'name' | 'onChange' | 'schema' | 'required' | 'disabled'
>,
) => React_2.JSX.Element;
// @alpha
@@ -24,13 +24,18 @@ import React from 'react';
* @alpha
*/
export const SecretWidget = (
props: Pick<WidgetProps, 'name' | 'onChange' | 'schema'>,
props: Pick<
WidgetProps,
'name' | 'onChange' | 'schema' | 'required' | 'disabled'
>,
) => {
const { setSecrets, secrets } = useTemplateSecrets();
const {
name,
onChange,
schema: { title },
schema: { title, minLength, maxLength },
required,
disabled,
} = props;
return (
@@ -45,6 +50,12 @@ export const SecretWidget = (
value={secrets[name] ?? ''}
type="password"
autoComplete="off"
required={required}
disabled={disabled}
inputProps={{
minLength,
maxLength,
}}
/>
);
};