rename ReviewStateWrapper to ReviewStateComponent

Signed-off-by: Paul Cowan <paul.cowan@cutting.scot>
This commit is contained in:
Paul Cowan
2023-01-15 08:14:51 +00:00
parent 72e9ee90ae
commit 7e6fdc0146
5 changed files with 29 additions and 36 deletions
+7 -18
View File
@@ -190,12 +190,10 @@ export interface ParsedTemplateSchema {
export const ReviewState: (props: ReviewStateProps) => JSX.Element;
// @alpha
export interface ReviewStateProps {
// (undocumented)
formState: JsonObject;
// (undocumented)
export type ReviewStateProps = {
schemas: ParsedTemplateSchema[];
}
formState: JsonObject;
};
// @public
export interface ScaffolderApi {
@@ -348,12 +346,7 @@ export const SecretsContextProvider: ({
}: PropsWithChildren<{}>) => JSX.Element;
// @alpha
export const Stepper: ({
ReviewStateWrapper,
createButtonText,
reviewButtonText,
...props
}: StepperProps) => JSX.Element;
export const Stepper: (stepperProps: StepperProps) => JSX.Element;
// @alpha
export type StepperProps = {
@@ -363,7 +356,7 @@ export type StepperProps = {
FormProps?: FormProps;
initialState?: Record<string, JsonValue>;
onComplete: (values: Record<string, JsonValue>) => Promise<void>;
ReviewStateWrapper?: (props: ReviewStateProps) => JSX.Element;
ReviewStateComponent?: (props: ReviewStateProps) => JSX.Element;
createButtonText?: string;
reviewButtonText?: string;
};
@@ -448,11 +441,7 @@ export const useTemplateSchema: (manifest: TemplateParameterSchema) => {
export const useTemplateSecrets: () => ScaffolderUseTemplateSecrets;
// @alpha (undocumented)
export const Workflow: ({
ReviewStateWrapper,
FormProps,
...props
}: WorkflowProps) => JSX.Element | null;
export const Workflow: (workflowProps: WorkflowProps) => JSX.Element | null;
// @alpha (undocumented)
export interface WorkflowProps {
@@ -471,7 +460,7 @@ export interface WorkflowProps {
// (undocumented)
onError(error: Error | undefined): JSX.Element | null;
// (undocumented)
ReviewStateWrapper?: (props: ReviewStateProps) => JSX.Element;
ReviewStateComponent?: (props: ReviewStateProps) => JSX.Element;
// (undocumented)
templateName: string;
// (undocumented)
@@ -23,10 +23,10 @@ import { ParsedTemplateSchema } from '../../hooks/useTemplateSchema';
* The props for the {@link ReviewState} component.
* @alpha
*/
export interface ReviewStateProps {
export type ReviewStateProps = {
schemas: ParsedTemplateSchema[];
formState: JsonObject;
}
};
/**
* The component used by the {@link Stepper} to render the review step.
@@ -61,7 +61,7 @@ export type StepperProps = {
initialState?: Record<string, JsonValue>;
onComplete: (values: Record<string, JsonValue>) => Promise<void>;
ReviewStateWrapper?: (props: ReviewStateProps) => JSX.Element;
ReviewStateComponent?: (props: ReviewStateProps) => JSX.Element;
createButtonText?: string;
reviewButtonText?: string;
};
@@ -76,12 +76,14 @@ const Form = withTheme(require('@rjsf/material-ui-v5').Theme);
* @alpha
*/
export const Stepper = ({
ReviewStateWrapper = ReviewState,
createButtonText = 'Create',
reviewButtonText = 'Review',
...props
}: StepperProps) => {
export const Stepper = (stepperProps: StepperProps) => {
const {
ReviewStateComponent = ReviewState,
createButtonText = 'Create',
reviewButtonText = 'Review',
...props
} = stepperProps;
const analytics = useAnalytics();
const { steps } = useTemplateSchema(props.manifest);
const apiHolder = useApiHolder();
@@ -191,7 +193,7 @@ export const Stepper = ({
</Form>
) : (
<>
<ReviewStateWrapper formState={formState} schemas={steps} />
<ReviewStateComponent formState={formState} schemas={steps} />
<div className={styles.footer}>
<Button
onClick={handleBack}
@@ -80,7 +80,7 @@ describe('<Workflow />', () => {
initialFormState={{
name: 'prefilled-name',
}}
ReviewStateWrapper={() => (
ReviewStateComponent={() => (
<h1>This is a different wrapper for the review page</h1>
)}
customFieldExtensions={[]}
@@ -59,17 +59,19 @@ export interface WorkflowProps {
onError(error: Error | undefined): JSX.Element | null;
initialFormState?: Record<string, JsonValue>;
FormProps?: FormProps;
ReviewStateWrapper?: (props: ReviewStateProps) => JSX.Element;
ReviewStateComponent?: (props: ReviewStateProps) => JSX.Element;
}
/**
* @alpha
*/
export const Workflow = ({
ReviewStateWrapper = ReviewState,
FormProps = {},
...props
}: WorkflowProps): JSX.Element | null => {
export const Workflow = (workflowProps: WorkflowProps): JSX.Element | null => {
const {
ReviewStateComponent = ReviewState,
FormProps = {},
...props
} = workflowProps;
const styles = useStyles();
const templateRef = stringifyEntityRef({
kind: 'Template',
@@ -114,7 +116,7 @@ export const Workflow = ({
onComplete={props.onComplete}
FormProps={FormProps}
initialState={props.initialFormState}
ReviewStateWrapper={ReviewStateWrapper}
ReviewStateComponent={ReviewStateComponent}
/>
</InfoCard>
)}