feat(FlowSubstep): show autocomplete option value

This commit is contained in:
Ali BARIN
2022-12-04 22:33:28 +01:00
parent e451dd2262
commit 4ab76e7507
3 changed files with 26 additions and 4 deletions

View File

@@ -1,7 +1,8 @@
import * as React from 'react';
import FormHelperText from '@mui/material/FormHelperText';
import { Controller, useFormContext } from 'react-hook-form';
import FormHelperText from '@mui/material/FormHelperText';
import Autocomplete, { AutocompleteProps } from '@mui/material/Autocomplete';
import Typography from '@mui/material/Typography';
import type { IFieldDropdownOption } from '@automatisch/types';
interface ControlledAutocompleteProps
@@ -9,6 +10,7 @@ interface ControlledAutocompleteProps
shouldUnregister?: boolean;
name: string;
required?: boolean;
showOptionValue?: boolean;
description?: string;
dependsOn?: string[];
}
@@ -31,6 +33,7 @@ function ControlledAutocomplete(
description,
options = [],
dependsOn = [],
showOptionValue,
...autocompleteProps
} = props;
@@ -97,8 +100,16 @@ function ControlledAutocomplete(
ref={ref}
data-test={`${name}-autocomplete`}
renderOption={(optionProps, option) => (
<li {...optionProps} key={option.value.toString()}>
{option.label}
<li
{...optionProps}
key={option.value.toString()}
style={{ flexDirection: 'column', alignItems: 'start' }}
>
<Typography>{option.label}</Typography>
{showOptionValue && (
<Typography variant="caption">{option.value}</Typography>
)}
</li>
)}
/>

View File

@@ -94,6 +94,7 @@ function FlowSubstep(props: FlowSubstepProps): React.ReactElement {
namePrefix="parameters"
stepId={step.id}
disabled={editorContext.readOnly}
showOptionValue={true}
/>
))}
</Stack>

View File

@@ -14,6 +14,7 @@ type InputCreatorProps = {
namePrefix?: string;
stepId?: string;
disabled?: boolean;
showOptionValue?: boolean;
};
type RawOption = {
@@ -27,7 +28,15 @@ const optionGenerator = (options: RawOption[]): IFieldDropdownOption[] =>
export default function InputCreator(
props: InputCreatorProps
): React.ReactElement {
const { onChange, onBlur, schema, namePrefix, stepId, disabled } = props;
const {
onChange,
onBlur,
schema,
namePrefix,
stepId,
disabled,
showOptionValue,
} = props;
const {
key: name,
@@ -62,6 +71,7 @@ export default function InputCreator(
description={description}
loading={loading}
disabled={disabled}
showOptionValue={showOptionValue}
/>
);
}