Make it possible to define control buttons text (Back, Create, Review) per template
Signed-off-by: Bogdan Nechyporenko <bnechyporenko@bol.com>
This commit is contained in:
@@ -44,6 +44,15 @@ export interface TaskStep {
|
||||
name: string;
|
||||
}
|
||||
|
||||
// @public
|
||||
export interface TemplateConfigurationsV1beta3 extends JsonObject {
|
||||
buttonLabels?: {
|
||||
backButtonText?: string;
|
||||
createButtonText?: string;
|
||||
reviewButtonText?: string;
|
||||
};
|
||||
}
|
||||
|
||||
// @public
|
||||
export interface TemplateEntityStepV1beta3 extends JsonObject {
|
||||
// (undocumented)
|
||||
@@ -66,6 +75,7 @@ export interface TemplateEntityV1beta3 extends Entity {
|
||||
kind: 'Template';
|
||||
spec: {
|
||||
type: string;
|
||||
configurations?: TemplateConfigurationsV1beta3;
|
||||
parameters?: TemplateParametersV1beta3 | TemplateParametersV1beta3[];
|
||||
steps: Array<TemplateEntityStepV1beta3>;
|
||||
output?: {
|
||||
|
||||
@@ -46,6 +46,9 @@ export interface TemplateEntityV1beta3 extends Entity {
|
||||
*/
|
||||
type: string;
|
||||
|
||||
/**
|
||||
* Template specific configurations.
|
||||
*/
|
||||
configurations?: TemplateConfigurationsV1beta3;
|
||||
|
||||
/**
|
||||
@@ -70,10 +73,27 @@ export interface TemplateEntityV1beta3 extends Entity {
|
||||
};
|
||||
}
|
||||
|
||||
export interface TemplateConfigurationsV1beta3 {
|
||||
/**
|
||||
* The configuration of the template.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
export interface TemplateConfigurationsV1beta3 extends JsonObject {
|
||||
/**
|
||||
* Overrides default buttons' text
|
||||
*/
|
||||
buttonLabels?: {
|
||||
/**
|
||||
* The text for the button which leads to the previous template page
|
||||
*/
|
||||
backButtonText?: string;
|
||||
/**
|
||||
* The text for the button which starts the execution of the template
|
||||
*/
|
||||
createButtonText?: string;
|
||||
/**
|
||||
* The text for the button which opens template's review/summary
|
||||
*/
|
||||
reviewButtonText?: string;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import { ScaffolderStep } from '@backstage/plugin-scaffolder-react';
|
||||
import { ScaffolderTaskOutput } from '@backstage/plugin-scaffolder-react';
|
||||
import { SetStateAction } from 'react';
|
||||
import { TaskStep } from '@backstage/plugin-scaffolder-common';
|
||||
import { TemplateConfigurationsV1beta3 } from '@backstage/plugin-scaffolder-common';
|
||||
import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common';
|
||||
import { TemplateParameterSchema } from '@backstage/plugin-scaffolder-react';
|
||||
import { UIOptionsType } from '@rjsf/utils';
|
||||
@@ -183,6 +184,7 @@ export type StepperProps = {
|
||||
onCreate: (values: Record<string, JsonValue>) => Promise<void>;
|
||||
components?: {
|
||||
ReviewStateComponent?: (props: ReviewStateProps) => JSX.Element;
|
||||
backButtonText?: ReactNode;
|
||||
createButtonText?: ReactNode;
|
||||
reviewButtonText?: ReactNode;
|
||||
};
|
||||
@@ -303,6 +305,7 @@ export const useTemplateParameterSchema: (templateRef: string) => {
|
||||
// @alpha
|
||||
export const useTemplateSchema: (manifest: TemplateParameterSchema) => {
|
||||
steps: ParsedTemplateSchema[];
|
||||
configurations?: TemplateConfigurationsV1beta3 | undefined;
|
||||
};
|
||||
|
||||
// @alpha (undocumented)
|
||||
|
||||
@@ -19,6 +19,7 @@ import { PropsWithChildren } from 'react';
|
||||
import { default as React_2 } from 'react';
|
||||
import { TaskSpec } from '@backstage/plugin-scaffolder-common';
|
||||
import { TaskStep } from '@backstage/plugin-scaffolder-common';
|
||||
import { TemplateConfigurationsV1beta3 } from '@backstage/plugin-scaffolder-common';
|
||||
|
||||
// @public
|
||||
export type Action = {
|
||||
@@ -317,6 +318,7 @@ export type TaskStream = {
|
||||
export type TemplateParameterSchema = {
|
||||
title: string;
|
||||
description?: string;
|
||||
configurations?: TemplateConfigurationsV1beta3;
|
||||
steps: Array<{
|
||||
title: string;
|
||||
description?: string;
|
||||
|
||||
Reference in New Issue
Block a user