From 7d51e8cb0ada97a4b03f284a19529dd8bf7d9541 Mon Sep 17 00:00:00 2001 From: Min Kim Date: Fri, 17 Mar 2023 15:25:57 -0400 Subject: [PATCH] Move `CategoryPicker` to scaffolder-react Signed-off-by: Min Kim --- plugins/scaffolder-react/alpha-api-report.md | 3 +++ .../TemplateCategoryPicker.test.tsx} | 16 ++++++++-------- .../TemplateCategoryPicker.tsx} | 4 +++- .../components/TemplateCategoryPicker/index.ts | 16 ++++++++++++++++ .../src/next/components/index.ts | 1 + .../next/TemplateListPage/TemplateListPage.tsx | 5 +++-- 6 files changed, 34 insertions(+), 11 deletions(-) rename plugins/{scaffolder/src/next/TemplateListPage/CategoryPicker.test.tsx => scaffolder-react/src/next/components/TemplateCategoryPicker/TemplateCategoryPicker.test.tsx} (93%) rename plugins/{scaffolder/src/next/TemplateListPage/CategoryPicker.tsx => scaffolder-react/src/next/components/TemplateCategoryPicker/TemplateCategoryPicker.tsx} (97%) create mode 100644 plugins/scaffolder-react/src/next/components/TemplateCategoryPicker/index.ts diff --git a/plugins/scaffolder-react/alpha-api-report.md b/plugins/scaffolder-react/alpha-api-report.md index 35029cb796..8d3b593816 100644 --- a/plugins/scaffolder-react/alpha-api-report.md +++ b/plugins/scaffolder-react/alpha-api-report.md @@ -190,6 +190,9 @@ export interface TemplateCardProps { template: TemplateEntityV1beta3; } +// @alpha +export const TemplateCategoryPicker: () => JSX.Element | null; + // @alpha export const TemplateGroup: (props: TemplateGroupProps) => JSX.Element; diff --git a/plugins/scaffolder/src/next/TemplateListPage/CategoryPicker.test.tsx b/plugins/scaffolder-react/src/next/components/TemplateCategoryPicker/TemplateCategoryPicker.test.tsx similarity index 93% rename from plugins/scaffolder/src/next/TemplateListPage/CategoryPicker.test.tsx rename to plugins/scaffolder-react/src/next/components/TemplateCategoryPicker/TemplateCategoryPicker.test.tsx index f02ca51354..ce6e342809 100644 --- a/plugins/scaffolder/src/next/TemplateListPage/CategoryPicker.test.tsx +++ b/plugins/scaffolder-react/src/next/components/TemplateCategoryPicker/TemplateCategoryPicker.test.tsx @@ -16,7 +16,7 @@ import React from 'react'; import { useEntityTypeFilter } from '@backstage/plugin-catalog-react'; -import { CategoryPicker } from './CategoryPicker'; +import { TemplateCategoryPicker } from './TemplateCategoryPicker'; import { renderInTestApp, TestApiProvider } from '@backstage/test-utils'; import { alertApiRef } from '@backstage/core-plugin-api'; import { fireEvent } from '@testing-library/react'; @@ -25,7 +25,7 @@ jest.mock('@backstage/plugin-catalog-react', () => ({ useEntityTypeFilter: jest.fn(), })); -describe('CategoryPicker', () => { +describe('TemplateCategoryPicker', () => { const mockAlertApi = { post: jest.fn() }; beforeEach(() => { @@ -39,7 +39,7 @@ describe('CategoryPicker', () => { await renderInTestApp( - + , ); @@ -56,7 +56,7 @@ describe('CategoryPicker', () => { const { findByTestId } = await renderInTestApp( - + , ); @@ -70,7 +70,7 @@ describe('CategoryPicker', () => { const { queryByText } = await renderInTestApp( - + , ); @@ -86,7 +86,7 @@ describe('CategoryPicker', () => { const { getByRole } = await renderInTestApp( - + , ); @@ -108,7 +108,7 @@ describe('CategoryPicker', () => { const { getByRole } = await renderInTestApp( - + , ); @@ -139,7 +139,7 @@ describe('CategoryPicker', () => { const { getByRole } = await renderInTestApp( - + , ); diff --git a/plugins/scaffolder/src/next/TemplateListPage/CategoryPicker.tsx b/plugins/scaffolder-react/src/next/components/TemplateCategoryPicker/TemplateCategoryPicker.tsx similarity index 97% rename from plugins/scaffolder/src/next/TemplateListPage/CategoryPicker.tsx rename to plugins/scaffolder-react/src/next/components/TemplateCategoryPicker/TemplateCategoryPicker.tsx index 483751f2e2..5d7021bc8c 100644 --- a/plugins/scaffolder/src/next/TemplateListPage/CategoryPicker.tsx +++ b/plugins/scaffolder-react/src/next/components/TemplateCategoryPicker/TemplateCategoryPicker.tsx @@ -37,8 +37,10 @@ const checkedIcon = ; /** * The Category Picker that is rendered on the left side for picking * categories and filtering the template list. + * + * @alpha */ -export const CategoryPicker = () => { +export const TemplateCategoryPicker = () => { const alertApi = useApi(alertApiRef); const { error, loading, availableTypes, selectedTypes, setSelectedTypes } = useEntityTypeFilter(); diff --git a/plugins/scaffolder-react/src/next/components/TemplateCategoryPicker/index.ts b/plugins/scaffolder-react/src/next/components/TemplateCategoryPicker/index.ts new file mode 100644 index 0000000000..cf41f3f7f9 --- /dev/null +++ b/plugins/scaffolder-react/src/next/components/TemplateCategoryPicker/index.ts @@ -0,0 +1,16 @@ +/* + * Copyright 2023 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export { TemplateCategoryPicker } from './TemplateCategoryPicker'; diff --git a/plugins/scaffolder-react/src/next/components/index.ts b/plugins/scaffolder-react/src/next/components/index.ts index 083d88927e..f63faa9e41 100644 --- a/plugins/scaffolder-react/src/next/components/index.ts +++ b/plugins/scaffolder-react/src/next/components/index.ts @@ -22,3 +22,4 @@ export * from './TemplateOutputs'; export * from './Form'; export * from './TaskSteps'; export * from './TaskLogStream'; +export * from './TemplateCategoryPicker'; diff --git a/plugins/scaffolder/src/next/TemplateListPage/TemplateListPage.tsx b/plugins/scaffolder/src/next/TemplateListPage/TemplateListPage.tsx index 0af20db6c9..74d6e07c52 100644 --- a/plugins/scaffolder/src/next/TemplateListPage/TemplateListPage.tsx +++ b/plugins/scaffolder/src/next/TemplateListPage/TemplateListPage.tsx @@ -32,7 +32,8 @@ import { CatalogFilterLayout, UserListPicker, } from '@backstage/plugin-catalog-react'; -import { CategoryPicker } from './CategoryPicker'; +import { TemplateCategoryPicker } from '@backstage/plugin-scaffolder-react/alpha'; + import { RegisterExistingButton } from './RegisterExistingButton'; import { useRouteRef } from '@backstage/core-plugin-api'; import { TemplateGroupFilter, TemplateGroups } from './TemplateGroups'; @@ -110,7 +111,7 @@ export const TemplateListPage = (props: TemplateListPageProps) => { initialFilter="all" availableFilters={['all', 'starred']} /> - +