Move formFieldsApiRef and ScaffolderFormFieldsApi to scaffolder-react
The formFieldsApiRef and ScaffolderFormFieldsApi type are now defined and exported from @backstage/plugin-scaffolder-react/alpha, and re-exported from @backstage/plugin-scaffolder/alpha for backwards compatibility. Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-react': minor
|
||||
---
|
||||
|
||||
Added `formFieldsApiRef` and `ScaffolderFormFieldsApi` as alpha exports.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder': patch
|
||||
---
|
||||
|
||||
The `formFieldsApiRef` and `ScaffolderFormFieldsApi` alpha exports are now re-exported from `@backstage/plugin-scaffolder-react`.
|
||||
@@ -5,6 +5,7 @@
|
||||
```ts
|
||||
import { AnyApiRef } from '@backstage/core-plugin-api';
|
||||
import { ApiHolder } from '@backstage/core-plugin-api';
|
||||
import { ApiRef } from '@backstage/frontend-plugin-api';
|
||||
import { ComponentType } from 'react';
|
||||
import { ConfigurableExtensionDataRef } from '@backstage/frontend-plugin-api';
|
||||
import { CustomFieldValidator } from '@backstage/plugin-scaffolder-react';
|
||||
@@ -198,6 +199,9 @@ export type FormFieldExtensionData<
|
||||
schema?: FieldSchema<z.output<TReturnValue>, z.output<TUiOptions>>;
|
||||
};
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const formFieldsApiRef: ApiRef<ScaffolderFormFieldsApi>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export type FormValidation = {
|
||||
[name: string]: FieldValidation | FormValidation;
|
||||
@@ -272,6 +276,12 @@ export type ScaffolderFormDecoratorContext<
|
||||
) => void;
|
||||
};
|
||||
|
||||
// @alpha (undocumented)
|
||||
export interface ScaffolderFormFieldsApi {
|
||||
// (undocumented)
|
||||
loadFormFields(): Promise<FormField[]>;
|
||||
}
|
||||
|
||||
// @alpha (undocumented)
|
||||
export function ScaffolderPageContextMenu(
|
||||
props: ScaffolderPageContextMenuProps,
|
||||
|
||||
@@ -14,4 +14,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export { type FormField } from './types';
|
||||
import { createApiRef } from '@backstage/frontend-plugin-api';
|
||||
import { ScaffolderFormFieldsApi } from './types';
|
||||
|
||||
export { type FormField, type ScaffolderFormFieldsApi } from './types';
|
||||
|
||||
/** @alpha */
|
||||
export const formFieldsApiRef = createApiRef<ScaffolderFormFieldsApi>({
|
||||
id: 'plugin.scaffolder.form-fields-loader',
|
||||
});
|
||||
|
||||
@@ -18,3 +18,8 @@
|
||||
export interface FormField {
|
||||
readonly $$type: '@backstage/scaffolder/FormField';
|
||||
}
|
||||
|
||||
/** @alpha */
|
||||
export interface ScaffolderFormFieldsApi {
|
||||
loadFormFields(): Promise<FormField[]>;
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import { ExternalRouteRef } from '@backstage/core-plugin-api';
|
||||
import { FieldExtensionOptions } from '@backstage/plugin-scaffolder-react';
|
||||
import { FilterPredicate } from '@backstage/filter-predicates';
|
||||
import { FormField } from '@backstage/plugin-scaffolder-react/alpha';
|
||||
import { formFieldsApiRef } from '@backstage/plugin-scaffolder-react/alpha';
|
||||
import type { FormProps as FormProps_2 } from '@rjsf/core';
|
||||
import { FormProps as FormProps_3 } from '@backstage/plugin-scaffolder-react';
|
||||
import { IconComponent } from '@backstage/frontend-plugin-api';
|
||||
@@ -31,6 +32,7 @@ import { ReviewStepProps } from '@backstage/plugin-scaffolder-react';
|
||||
import { RouteRef } from '@backstage/core-plugin-api';
|
||||
import { RouteRef as RouteRef_2 } from '@backstage/frontend-plugin-api';
|
||||
import { ScaffolderFormDecorator } from '@backstage/plugin-scaffolder-react/alpha';
|
||||
import { ScaffolderFormFieldsApi } from '@backstage/plugin-scaffolder-react/alpha';
|
||||
import { SubRouteRef } from '@backstage/core-plugin-api';
|
||||
import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common';
|
||||
import { TemplateGroupFilter } from '@backstage/plugin-scaffolder-react';
|
||||
@@ -480,8 +482,7 @@ export const formDecoratorsApi: OverridableExtensionDefinition<{
|
||||
// @alpha (undocumented)
|
||||
export const formDecoratorsApiRef: ApiRef<ScaffolderFormDecoratorsApi>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const formFieldsApiRef: ApiRef<ScaffolderFormFieldsApi>;
|
||||
export { formFieldsApiRef };
|
||||
|
||||
// @alpha @deprecated
|
||||
export type FormProps = Pick<
|
||||
@@ -502,11 +503,7 @@ export interface ScaffolderFormDecoratorsApi {
|
||||
getFormDecorators(): Promise<ScaffolderFormDecorator[]>;
|
||||
}
|
||||
|
||||
// @alpha (undocumented)
|
||||
export interface ScaffolderFormFieldsApi {
|
||||
// (undocumented)
|
||||
loadFormFields(): Promise<FormField[]>;
|
||||
}
|
||||
export { ScaffolderFormFieldsApi };
|
||||
|
||||
// @public (undocumented)
|
||||
export type ScaffolderTemplateEditorClassKey =
|
||||
|
||||
@@ -25,11 +25,13 @@ import {
|
||||
} from '@backstage/frontend-plugin-api';
|
||||
import { rootRouteRef } from '../routes';
|
||||
import CreateComponentIcon from '@material-ui/icons/AddCircleOutline';
|
||||
import { FormFieldBlueprint } from '@backstage/plugin-scaffolder-react/alpha';
|
||||
import {
|
||||
FormFieldBlueprint,
|
||||
formFieldsApiRef,
|
||||
} from '@backstage/plugin-scaffolder-react/alpha';
|
||||
import { scmIntegrationsApiRef } from '@backstage/integration-react';
|
||||
import { scaffolderApiRef } from '@backstage/plugin-scaffolder-react';
|
||||
import { ScaffolderClient } from '../api';
|
||||
import { formFieldsApiRef } from './formFieldsApi';
|
||||
|
||||
export const scaffolderPage = PageBlueprint.makeWithOverrides({
|
||||
inputs: {
|
||||
|
||||
@@ -16,25 +16,14 @@
|
||||
|
||||
import {
|
||||
ApiBlueprint,
|
||||
createApiRef,
|
||||
createExtensionInput,
|
||||
} from '@backstage/frontend-plugin-api';
|
||||
import {
|
||||
FormFieldBlueprint,
|
||||
type FormField,
|
||||
formFieldsApiRef,
|
||||
} from '@backstage/plugin-scaffolder-react/alpha';
|
||||
import { OpaqueFormField } from '@internal/scaffolder';
|
||||
|
||||
/** @alpha */
|
||||
export interface ScaffolderFormFieldsApi {
|
||||
loadFormFields(): Promise<FormField[]>;
|
||||
}
|
||||
|
||||
/** @alpha */
|
||||
const formFieldsApiRef = createApiRef<ScaffolderFormFieldsApi>({
|
||||
id: 'plugin.scaffolder.form-fields-loader',
|
||||
});
|
||||
|
||||
export const formFieldsApi = ApiBlueprint.makeWithOverrides({
|
||||
name: 'form-fields',
|
||||
inputs: {
|
||||
@@ -69,4 +58,7 @@ export const formFieldsApi = ApiBlueprint.makeWithOverrides({
|
||||
},
|
||||
});
|
||||
|
||||
export { formFieldsApiRef };
|
||||
export {
|
||||
formFieldsApiRef,
|
||||
type ScaffolderFormFieldsApi,
|
||||
} from '@backstage/plugin-scaffolder-react/alpha';
|
||||
|
||||
Reference in New Issue
Block a user