refactor(catalog): extract entity contentes extensions file

Signed-off-by: Camila Belo <camilaibs@gmail.com>
This commit is contained in:
Camila Belo
2023-10-21 17:37:22 +02:00
parent 29ccace57b
commit 24dced7352
2 changed files with 49 additions and 31 deletions
@@ -0,0 +1,46 @@
/*
* 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.
*/
import React from 'react';
import { Grid } from '@material-ui/core';
import {
coreExtensionData,
createExtensionInput,
} from '@backstage/frontend-plugin-api';
import { createEntityContentExtension } from '@backstage/plugin-catalog-react/alpha';
export const OverviewEntityContent = createEntityContentExtension({
id: 'overview',
defaultPath: '/',
defaultTitle: 'Overview',
disabled: false,
inputs: {
cards: createExtensionInput({
element: coreExtensionData.reactElement,
}),
},
loader: async ({ inputs }) => (
<Grid container spacing={3} alignItems="stretch">
{inputs.cards.map(card => (
<Grid item md={6} xs={12}>
{card.element}
</Grid>
))}
</Grid>
),
});
export default [OverviewEntityContent];
+3 -31
View File
@@ -14,18 +14,10 @@
* limitations under the License.
*/
import React from 'react';
import Grid from '@material-ui/core/Grid';
import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha';
import {
createPlugin,
coreExtensionData,
createExtensionInput,
} from '@backstage/frontend-plugin-api';
import { createPlugin } from '@backstage/frontend-plugin-api';
import { entityRouteRef } from '@backstage/plugin-catalog-react';
import { createEntityContentExtension } from '@backstage/plugin-catalog-react/alpha';
import {
createComponentRouteRef,
@@ -39,29 +31,9 @@ import pages from './pages';
import filters from './filters';
import navItems from './navItems';
import entityCards from './entityCards';
import entityContents from './entityContents';
import searchResultItems from './searchResultItems';
const OverviewEntityContent = createEntityContentExtension({
id: 'overview',
defaultPath: '/',
defaultTitle: 'Overview',
disabled: false,
inputs: {
cards: createExtensionInput({
element: coreExtensionData.reactElement,
}),
},
loader: async ({ inputs }) => (
<Grid container spacing={3} alignItems="stretch">
{inputs.cards.map(card => (
<Grid item md={6} xs={12}>
{card.element}
</Grid>
))}
</Grid>
),
});
/** @alpha */
export default createPlugin({
id: 'catalog',
@@ -80,7 +52,7 @@ export default createPlugin({
...filters,
...navItems,
...entityCards,
...entityContents,
...searchResultItems,
OverviewEntityContent,
],
});