Merge pull request #21849 from backstage/rugvip/naming
frontend-system: updates to fit new naming patterns
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-react': patch
|
||||
---
|
||||
|
||||
Grouped all `/alpha` extension data reference exports under `catalogExtensionData`.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog': patch
|
||||
---
|
||||
|
||||
Internal naming updates for `/alpha` exports.
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-import': patch
|
||||
'@backstage/plugin-stack-overflow': patch
|
||||
'@backstage/plugin-user-settings': patch
|
||||
'@backstage/plugin-search-react': patch
|
||||
'@backstage/plugin-tech-radar': patch
|
||||
'@backstage/plugin-graphiql': patch
|
||||
'@backstage/plugin-techdocs': patch
|
||||
'@backstage/plugin-explore': patch
|
||||
'@backstage/plugin-search': patch
|
||||
'@backstage/plugin-home': patch
|
||||
'@backstage/plugin-adr': patch
|
||||
---
|
||||
|
||||
Updated `/alpha` exports to fit new naming patterns.
|
||||
@@ -8,7 +8,7 @@ import { ExtensionDefinition } from '@backstage/frontend-plugin-api';
|
||||
import { TranslationRef } from '@backstage/core-plugin-api/alpha';
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const AdrSearchResultListItemExtension: ExtensionDefinition<{
|
||||
export const adrSearchResultListItemExtension: ExtensionDefinition<{
|
||||
lineClamp: number;
|
||||
noTrack: boolean;
|
||||
}>;
|
||||
|
||||
@@ -29,7 +29,7 @@ function isAdrDocument(result: any): result is AdrDocument {
|
||||
}
|
||||
|
||||
/** @alpha */
|
||||
export const AdrSearchResultListItemExtension =
|
||||
export const adrSearchResultListItemExtension =
|
||||
createSearchResultListItemExtension({
|
||||
configSchema: createSchemaFromZod(z =>
|
||||
z.object({
|
||||
@@ -53,5 +53,5 @@ export const AdrSearchResultListItemExtension =
|
||||
/** @alpha */
|
||||
export default createPlugin({
|
||||
id: 'adr',
|
||||
extensions: [AdrSearchResultListItemExtension],
|
||||
extensions: [adrSearchResultListItemExtension],
|
||||
});
|
||||
|
||||
@@ -40,7 +40,7 @@ import { catalogApiRef } from '@backstage/plugin-catalog-react';
|
||||
|
||||
// TODO: It's currently possible to override the import page with a custom one. We need to decide
|
||||
// whether this type of override is typically done with an input or by overriding the entire extension.
|
||||
const CatalogImportPageExtension = createPageExtension({
|
||||
const catalogImportPage = createPageExtension({
|
||||
defaultPath: '/catalog-import',
|
||||
routeRef: convertLegacyRouteRef(rootRouteRef),
|
||||
loader: () =>
|
||||
@@ -49,7 +49,7 @@ const CatalogImportPageExtension = createPageExtension({
|
||||
),
|
||||
});
|
||||
|
||||
const CatalogImportService = createApiExtension({
|
||||
const catalogImportApi = createApiExtension({
|
||||
factory: createApiFactory({
|
||||
api: catalogImportApiRef,
|
||||
deps: {
|
||||
@@ -82,7 +82,7 @@ const CatalogImportService = createApiExtension({
|
||||
/** @alpha */
|
||||
export default createPlugin({
|
||||
id: 'catalog-import',
|
||||
extensions: [CatalogImportService, CatalogImportPageExtension],
|
||||
extensions: [catalogImportApi, catalogImportPage],
|
||||
routes: {
|
||||
importPage: convertLegacyRouteRef(rootRouteRef),
|
||||
},
|
||||
|
||||
@@ -13,6 +13,16 @@ import { ResolvedExtensionInputs } from '@backstage/frontend-plugin-api';
|
||||
import { ResourcePermission } from '@backstage/plugin-permission-common';
|
||||
import { RouteRef } from '@backstage/frontend-plugin-api';
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const catalogExtensionData: {
|
||||
entityContentTitle: ConfigurableExtensionDataRef<string, {}>;
|
||||
entityFilterFunction: ConfigurableExtensionDataRef<
|
||||
(entity: Entity) => boolean,
|
||||
{}
|
||||
>;
|
||||
entityFilterExpression: ConfigurableExtensionDataRef<string, {}>;
|
||||
};
|
||||
|
||||
// @alpha (undocumented)
|
||||
export function createEntityCardExtension<
|
||||
TInputs extends AnyExtensionInputMap,
|
||||
@@ -26,8 +36,8 @@ export function createEntityCardExtension<
|
||||
disabled?: boolean;
|
||||
inputs?: TInputs;
|
||||
filter?:
|
||||
| typeof entityFilterFunctionExtensionDataRef.T
|
||||
| typeof entityFilterExpressionExtensionDataRef.T;
|
||||
| typeof catalogExtensionData.entityFilterFunction.T
|
||||
| typeof catalogExtensionData.entityFilterExpression.T;
|
||||
loader: (options: {
|
||||
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
||||
}) => Promise<JSX.Element>;
|
||||
@@ -51,8 +61,8 @@ export function createEntityContentExtension<
|
||||
defaultPath: string;
|
||||
defaultTitle: string;
|
||||
filter?:
|
||||
| typeof entityFilterFunctionExtensionDataRef.T
|
||||
| typeof entityFilterExpressionExtensionDataRef.T;
|
||||
| typeof catalogExtensionData.entityFilterFunction.T
|
||||
| typeof catalogExtensionData.entityFilterExpression.T;
|
||||
loader: (options: {
|
||||
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
||||
}) => Promise<JSX.Element>;
|
||||
@@ -62,24 +72,6 @@ export function createEntityContentExtension<
|
||||
filter?: string | undefined;
|
||||
}>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const entityContentTitleExtensionDataRef: ConfigurableExtensionDataRef<
|
||||
string,
|
||||
{}
|
||||
>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const entityFilterExpressionExtensionDataRef: ConfigurableExtensionDataRef<
|
||||
string,
|
||||
{}
|
||||
>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const entityFilterFunctionExtensionDataRef: ConfigurableExtensionDataRef<
|
||||
(entity: Entity) => boolean,
|
||||
{}
|
||||
>;
|
||||
|
||||
// @alpha
|
||||
export function isOwnerOf(owner: Entity, entity: Entity): boolean;
|
||||
|
||||
|
||||
@@ -33,17 +33,17 @@ export { useEntityPermission } from './hooks/useEntityPermission';
|
||||
export { isOwnerOf } from './utils';
|
||||
|
||||
/** @alpha */
|
||||
export const entityContentTitleExtensionDataRef =
|
||||
createExtensionDataRef<string>('plugin.catalog.entity.content.title');
|
||||
|
||||
/** @alpha */
|
||||
export const entityFilterFunctionExtensionDataRef = createExtensionDataRef<
|
||||
(entity: Entity) => boolean
|
||||
>('plugin.catalog.entity.filter.fn');
|
||||
|
||||
/** @alpha */
|
||||
export const entityFilterExpressionExtensionDataRef =
|
||||
createExtensionDataRef<string>('plugin.catalog.entity.filter.expression');
|
||||
export const catalogExtensionData = {
|
||||
entityContentTitle: createExtensionDataRef<string>(
|
||||
'catalog.entity-content-title',
|
||||
),
|
||||
entityFilterFunction: createExtensionDataRef<(entity: Entity) => boolean>(
|
||||
'catalog.entity-filter-function',
|
||||
),
|
||||
entityFilterExpression: createExtensionDataRef<string>(
|
||||
'catalog.entity-filter-expression',
|
||||
),
|
||||
};
|
||||
|
||||
// TODO: Figure out how to merge with provided config schema
|
||||
/** @alpha */
|
||||
@@ -56,8 +56,8 @@ export function createEntityCardExtension<
|
||||
disabled?: boolean;
|
||||
inputs?: TInputs;
|
||||
filter?:
|
||||
| typeof entityFilterFunctionExtensionDataRef.T
|
||||
| typeof entityFilterExpressionExtensionDataRef.T;
|
||||
| typeof catalogExtensionData.entityFilterFunction.T
|
||||
| typeof catalogExtensionData.entityFilterExpression.T;
|
||||
loader: (options: {
|
||||
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
||||
}) => Promise<JSX.Element>;
|
||||
@@ -73,8 +73,8 @@ export function createEntityCardExtension<
|
||||
disabled: options.disabled ?? true,
|
||||
output: {
|
||||
element: coreExtensionData.reactElement,
|
||||
filterFunction: entityFilterFunctionExtensionDataRef.optional(),
|
||||
filterExpression: entityFilterExpressionExtensionDataRef.optional(),
|
||||
filterFunction: catalogExtensionData.entityFilterFunction.optional(),
|
||||
filterExpression: catalogExtensionData.entityFilterExpression.optional(),
|
||||
},
|
||||
inputs: options.inputs,
|
||||
configSchema: createSchemaFromZod(z =>
|
||||
@@ -114,8 +114,8 @@ export function createEntityContentExtension<
|
||||
defaultPath: string;
|
||||
defaultTitle: string;
|
||||
filter?:
|
||||
| typeof entityFilterFunctionExtensionDataRef.T
|
||||
| typeof entityFilterExpressionExtensionDataRef.T;
|
||||
| typeof catalogExtensionData.entityFilterFunction.T
|
||||
| typeof catalogExtensionData.entityFilterExpression.T;
|
||||
loader: (options: {
|
||||
inputs: Expand<ResolvedExtensionInputs<TInputs>>;
|
||||
}) => Promise<JSX.Element>;
|
||||
@@ -133,9 +133,9 @@ export function createEntityContentExtension<
|
||||
element: coreExtensionData.reactElement,
|
||||
path: coreExtensionData.routePath,
|
||||
routeRef: coreExtensionData.routeRef.optional(),
|
||||
title: entityContentTitleExtensionDataRef,
|
||||
filterFunction: entityFilterFunctionExtensionDataRef.optional(),
|
||||
filterExpression: entityFilterExpressionExtensionDataRef.optional(),
|
||||
title: catalogExtensionData.entityContentTitle,
|
||||
filterFunction: catalogExtensionData.entityFilterFunction.optional(),
|
||||
filterExpression: catalogExtensionData.entityFilterExpression.optional(),
|
||||
},
|
||||
inputs: options.inputs,
|
||||
configSchema: createSchemaFromZod(z =>
|
||||
@@ -173,15 +173,15 @@ export function createEntityContentExtension<
|
||||
function mergeFilters(inputs: {
|
||||
options: {
|
||||
filter?:
|
||||
| typeof entityFilterFunctionExtensionDataRef.T
|
||||
| typeof entityFilterExpressionExtensionDataRef.T;
|
||||
| typeof catalogExtensionData.entityFilterFunction.T
|
||||
| typeof catalogExtensionData.entityFilterExpression.T;
|
||||
};
|
||||
config: {
|
||||
filter?: string;
|
||||
};
|
||||
}): {
|
||||
filterFunction?: typeof entityFilterFunctionExtensionDataRef.T;
|
||||
filterExpression?: typeof entityFilterExpressionExtensionDataRef.T;
|
||||
filterFunction?: typeof catalogExtensionData.entityFilterFunction.T;
|
||||
filterExpression?: typeof catalogExtensionData.entityFilterExpression.T;
|
||||
} {
|
||||
const { options, config } = inputs;
|
||||
if (config.filter) {
|
||||
|
||||
@@ -28,7 +28,7 @@ import {
|
||||
} from '@backstage/plugin-catalog-react';
|
||||
import { DefaultStarredEntitiesApi } from '../apis';
|
||||
|
||||
export const CatalogApi = createApiExtension({
|
||||
export const catalogApi = createApiExtension({
|
||||
factory: createApiFactory({
|
||||
api: catalogApiRef,
|
||||
deps: {
|
||||
@@ -40,7 +40,7 @@ export const CatalogApi = createApiExtension({
|
||||
}),
|
||||
});
|
||||
|
||||
export const StarredEntitiesApi = createApiExtension({
|
||||
export const catalogStarredEntitiesApi = createApiExtension({
|
||||
factory: createApiFactory({
|
||||
api: starredEntitiesApiRef,
|
||||
deps: { storageApi: storageApiRef },
|
||||
@@ -48,4 +48,4 @@ export const StarredEntitiesApi = createApiExtension({
|
||||
}),
|
||||
});
|
||||
|
||||
export default [CatalogApi, StarredEntitiesApi];
|
||||
export default [catalogApi, catalogStarredEntitiesApi];
|
||||
|
||||
@@ -18,7 +18,7 @@ import React from 'react';
|
||||
import { createEntityCardExtension } from '@backstage/plugin-catalog-react/alpha';
|
||||
import { compatWrapper } from '@backstage/core-compat-api';
|
||||
|
||||
export const EntityAboutCard = createEntityCardExtension({
|
||||
export const catalogAboutEntityCard = createEntityCardExtension({
|
||||
name: 'about',
|
||||
loader: async () =>
|
||||
import('../components/AboutCard').then(m =>
|
||||
@@ -26,7 +26,7 @@ export const EntityAboutCard = createEntityCardExtension({
|
||||
),
|
||||
});
|
||||
|
||||
export const EntityLinksCard = createEntityCardExtension({
|
||||
export const catalogLinksEntityCard = createEntityCardExtension({
|
||||
name: 'links',
|
||||
filter: 'has:links',
|
||||
loader: async () =>
|
||||
@@ -35,7 +35,7 @@ export const EntityLinksCard = createEntityCardExtension({
|
||||
),
|
||||
});
|
||||
|
||||
export const EntityLabelsCard = createEntityCardExtension({
|
||||
export const catalogLabelsEntityCard = createEntityCardExtension({
|
||||
name: 'labels',
|
||||
filter: 'has:labels',
|
||||
loader: async () =>
|
||||
@@ -44,7 +44,7 @@ export const EntityLabelsCard = createEntityCardExtension({
|
||||
),
|
||||
});
|
||||
|
||||
export const EntityDependsOnComponentsCard = createEntityCardExtension({
|
||||
export const catalogDependsOnComponentsEntityCard = createEntityCardExtension({
|
||||
name: 'depends-on-components',
|
||||
loader: async () =>
|
||||
import('../components/DependsOnComponentsCard').then(m =>
|
||||
@@ -52,7 +52,7 @@ export const EntityDependsOnComponentsCard = createEntityCardExtension({
|
||||
),
|
||||
});
|
||||
|
||||
export const EntityDependsOnResourcesCard = createEntityCardExtension({
|
||||
export const catalogDependsOnResourcesEntityCard = createEntityCardExtension({
|
||||
name: 'depends-on-resources',
|
||||
loader: async () =>
|
||||
import('../components/DependsOnResourcesCard').then(m =>
|
||||
@@ -60,7 +60,7 @@ export const EntityDependsOnResourcesCard = createEntityCardExtension({
|
||||
),
|
||||
});
|
||||
|
||||
export const EntityHasComponentsCard = createEntityCardExtension({
|
||||
export const catalogHasComponentsEntityCard = createEntityCardExtension({
|
||||
name: 'has-components',
|
||||
loader: async () =>
|
||||
import('../components/HasComponentsCard').then(m =>
|
||||
@@ -68,7 +68,7 @@ export const EntityHasComponentsCard = createEntityCardExtension({
|
||||
),
|
||||
});
|
||||
|
||||
export const EntityHasResourcesCard = createEntityCardExtension({
|
||||
export const catalogHasResourcesEntityCard = createEntityCardExtension({
|
||||
name: 'has-resources',
|
||||
loader: async () =>
|
||||
import('../components/HasResourcesCard').then(m =>
|
||||
@@ -76,7 +76,7 @@ export const EntityHasResourcesCard = createEntityCardExtension({
|
||||
),
|
||||
});
|
||||
|
||||
export const EntityHasSubcomponentsCard = createEntityCardExtension({
|
||||
export const catalogHasSubcomponentsEntityCard = createEntityCardExtension({
|
||||
name: 'has-subcomponents',
|
||||
loader: async () =>
|
||||
import('../components/HasSubcomponentsCard').then(m =>
|
||||
@@ -84,7 +84,7 @@ export const EntityHasSubcomponentsCard = createEntityCardExtension({
|
||||
),
|
||||
});
|
||||
|
||||
export const EntityHasSystemsCard = createEntityCardExtension({
|
||||
export const catalogHasSystemsEntityCard = createEntityCardExtension({
|
||||
name: 'has-systems',
|
||||
loader: async () =>
|
||||
import('../components/HasSystemsCard').then(m =>
|
||||
@@ -93,13 +93,13 @@ export const EntityHasSystemsCard = createEntityCardExtension({
|
||||
});
|
||||
|
||||
export default [
|
||||
EntityAboutCard,
|
||||
EntityLinksCard,
|
||||
EntityLabelsCard,
|
||||
EntityDependsOnComponentsCard,
|
||||
EntityDependsOnResourcesCard,
|
||||
EntityHasComponentsCard,
|
||||
EntityHasResourcesCard,
|
||||
EntityHasSubcomponentsCard,
|
||||
EntityHasSystemsCard,
|
||||
catalogAboutEntityCard,
|
||||
catalogLinksEntityCard,
|
||||
catalogLabelsEntityCard,
|
||||
catalogDependsOnComponentsEntityCard,
|
||||
catalogDependsOnResourcesEntityCard,
|
||||
catalogHasComponentsEntityCard,
|
||||
catalogHasResourcesEntityCard,
|
||||
catalogHasSubcomponentsEntityCard,
|
||||
catalogHasSystemsEntityCard,
|
||||
];
|
||||
|
||||
@@ -21,11 +21,10 @@ import {
|
||||
} from '@backstage/frontend-plugin-api';
|
||||
import {
|
||||
createEntityContentExtension,
|
||||
entityFilterFunctionExtensionDataRef,
|
||||
entityFilterExpressionExtensionDataRef,
|
||||
catalogExtensionData,
|
||||
} from '@backstage/plugin-catalog-react/alpha';
|
||||
|
||||
export const OverviewEntityContent = createEntityContentExtension({
|
||||
export const catalogOverviewEntityContent = createEntityContentExtension({
|
||||
name: 'overview',
|
||||
defaultPath: '/',
|
||||
defaultTitle: 'Overview',
|
||||
@@ -33,8 +32,8 @@ export const OverviewEntityContent = createEntityContentExtension({
|
||||
inputs: {
|
||||
cards: createExtensionInput({
|
||||
element: coreExtensionData.reactElement,
|
||||
filterFunction: entityFilterFunctionExtensionDataRef.optional(),
|
||||
filterExpression: entityFilterExpressionExtensionDataRef.optional(),
|
||||
filterFunction: catalogExtensionData.entityFilterFunction.optional(),
|
||||
filterExpression: catalogExtensionData.entityFilterExpression.optional(),
|
||||
}),
|
||||
},
|
||||
loader: async ({ inputs }) =>
|
||||
@@ -43,4 +42,4 @@ export const OverviewEntityContent = createEntityContentExtension({
|
||||
)),
|
||||
});
|
||||
|
||||
export default [OverviewEntityContent];
|
||||
export default [catalogOverviewEntityContent];
|
||||
|
||||
@@ -18,7 +18,7 @@ import React from 'react';
|
||||
import { createCatalogFilterExtension } from './createCatalogFilterExtension';
|
||||
import { createSchemaFromZod } from '@backstage/frontend-plugin-api';
|
||||
|
||||
const CatalogEntityTagFilter = createCatalogFilterExtension({
|
||||
const catalogTagCatalogFilter = createCatalogFilterExtension({
|
||||
name: 'tag',
|
||||
loader: async () => {
|
||||
const { EntityTagPicker } = await import('@backstage/plugin-catalog-react');
|
||||
@@ -26,7 +26,7 @@ const CatalogEntityTagFilter = createCatalogFilterExtension({
|
||||
},
|
||||
});
|
||||
|
||||
const CatalogEntityKindFilter = createCatalogFilterExtension({
|
||||
const catalogKindCatalogFilter = createCatalogFilterExtension({
|
||||
name: 'kind',
|
||||
configSchema: createSchemaFromZod(z =>
|
||||
z.object({
|
||||
@@ -41,7 +41,7 @@ const CatalogEntityKindFilter = createCatalogFilterExtension({
|
||||
},
|
||||
});
|
||||
|
||||
const CatalogEntityTypeFilter = createCatalogFilterExtension({
|
||||
const catalogTypeCatalogFilter = createCatalogFilterExtension({
|
||||
name: 'type',
|
||||
loader: async () => {
|
||||
const { EntityTypePicker } = await import(
|
||||
@@ -51,7 +51,7 @@ const CatalogEntityTypeFilter = createCatalogFilterExtension({
|
||||
},
|
||||
});
|
||||
|
||||
const CatalogEntityOwnerFilter = createCatalogFilterExtension({
|
||||
const catalogModeCatalogFilter = createCatalogFilterExtension({
|
||||
name: 'mode',
|
||||
configSchema: createSchemaFromZod(z =>
|
||||
z.object({
|
||||
@@ -66,7 +66,7 @@ const CatalogEntityOwnerFilter = createCatalogFilterExtension({
|
||||
},
|
||||
});
|
||||
|
||||
const CatalogEntityNamespaceFilter = createCatalogFilterExtension({
|
||||
const catalogNamespaceCatalogFilter = createCatalogFilterExtension({
|
||||
name: 'namespace',
|
||||
loader: async () => {
|
||||
const { EntityNamespacePicker } = await import(
|
||||
@@ -76,7 +76,7 @@ const CatalogEntityNamespaceFilter = createCatalogFilterExtension({
|
||||
},
|
||||
});
|
||||
|
||||
const CatalogEntityLifecycleFilter = createCatalogFilterExtension({
|
||||
const catalogLifecycleCatalogFilter = createCatalogFilterExtension({
|
||||
name: 'lifecycle',
|
||||
loader: async () => {
|
||||
const { EntityLifecyclePicker } = await import(
|
||||
@@ -86,8 +86,8 @@ const CatalogEntityLifecycleFilter = createCatalogFilterExtension({
|
||||
},
|
||||
});
|
||||
|
||||
const CatalogEntityProcessingStatusFilter = createCatalogFilterExtension({
|
||||
name: 'processing.status',
|
||||
const catalogProcessingStatusCatalogFilter = createCatalogFilterExtension({
|
||||
name: 'processing-status',
|
||||
loader: async () => {
|
||||
const { EntityProcessingStatusPicker } = await import(
|
||||
'@backstage/plugin-catalog-react'
|
||||
@@ -96,7 +96,7 @@ const CatalogEntityProcessingStatusFilter = createCatalogFilterExtension({
|
||||
},
|
||||
});
|
||||
|
||||
const CatalogUserListFilter = createCatalogFilterExtension({
|
||||
const catalogListCatalogFilter = createCatalogFilterExtension({
|
||||
name: 'list',
|
||||
configSchema: createSchemaFromZod(z =>
|
||||
z.object({
|
||||
@@ -110,12 +110,12 @@ const CatalogUserListFilter = createCatalogFilterExtension({
|
||||
});
|
||||
|
||||
export default [
|
||||
CatalogEntityTagFilter,
|
||||
CatalogEntityKindFilter,
|
||||
CatalogEntityTypeFilter,
|
||||
CatalogEntityOwnerFilter,
|
||||
CatalogEntityNamespaceFilter,
|
||||
CatalogEntityLifecycleFilter,
|
||||
CatalogEntityProcessingStatusFilter,
|
||||
CatalogUserListFilter,
|
||||
catalogTagCatalogFilter,
|
||||
catalogKindCatalogFilter,
|
||||
catalogTypeCatalogFilter,
|
||||
catalogModeCatalogFilter,
|
||||
catalogNamespaceCatalogFilter,
|
||||
catalogLifecycleCatalogFilter,
|
||||
catalogProcessingStatusCatalogFilter,
|
||||
catalogListCatalogFilter,
|
||||
];
|
||||
|
||||
@@ -19,10 +19,10 @@ import { convertLegacyRouteRef } from '@backstage/core-compat-api';
|
||||
import { createNavItemExtension } from '@backstage/frontend-plugin-api';
|
||||
import { rootRouteRef } from '../routes';
|
||||
|
||||
export const CatalogIndexNavItem = createNavItemExtension({
|
||||
export const catalogNavItem = createNavItemExtension({
|
||||
routeRef: convertLegacyRouteRef(rootRouteRef),
|
||||
title: 'Catalog',
|
||||
icon: HomeIcon,
|
||||
});
|
||||
|
||||
export default [CatalogIndexNavItem];
|
||||
export default [catalogNavItem];
|
||||
|
||||
@@ -28,11 +28,11 @@ import {
|
||||
AsyncEntityProvider,
|
||||
entityRouteRef,
|
||||
} from '@backstage/plugin-catalog-react';
|
||||
import { entityContentTitleExtensionDataRef } from '@backstage/plugin-catalog-react/alpha';
|
||||
import { catalogExtensionData } from '@backstage/plugin-catalog-react/alpha';
|
||||
import { rootRouteRef } from '../routes';
|
||||
import { useEntityFromUrl } from '../components/CatalogEntityPage/useEntityFromUrl';
|
||||
|
||||
export const CatalogIndexPage = createPageExtension({
|
||||
export const catalogPage = createPageExtension({
|
||||
defaultPath: '/catalog',
|
||||
routeRef: convertLegacyRouteRef(rootRouteRef),
|
||||
inputs: {
|
||||
@@ -47,7 +47,7 @@ export const CatalogIndexPage = createPageExtension({
|
||||
},
|
||||
});
|
||||
|
||||
export const CatalogEntityPage = createPageExtension({
|
||||
export const catalogEntityPage = createPageExtension({
|
||||
name: 'entity',
|
||||
defaultPath: '/catalog/:namespace/:kind/:name',
|
||||
routeRef: convertLegacyRouteRef(entityRouteRef),
|
||||
@@ -56,7 +56,7 @@ export const CatalogEntityPage = createPageExtension({
|
||||
element: coreExtensionData.reactElement,
|
||||
path: coreExtensionData.routePath,
|
||||
routeRef: coreExtensionData.routeRef.optional(),
|
||||
title: entityContentTitleExtensionDataRef,
|
||||
title: catalogExtensionData.entityContentTitle,
|
||||
}),
|
||||
},
|
||||
loader: async ({ inputs }) => {
|
||||
@@ -82,4 +82,4 @@ export const CatalogEntityPage = createPageExtension({
|
||||
},
|
||||
});
|
||||
|
||||
export default [CatalogIndexPage, CatalogEntityPage];
|
||||
export default [catalogPage, catalogEntityPage];
|
||||
|
||||
@@ -16,13 +16,12 @@
|
||||
|
||||
import { createSearchResultListItemExtension } from '@backstage/plugin-search-react/alpha';
|
||||
|
||||
export const CatalogSearchResultListItemExtension =
|
||||
createSearchResultListItemExtension({
|
||||
predicate: result => result.type === 'software-catalog',
|
||||
component: () =>
|
||||
import('../components/CatalogSearchResultListItem').then(
|
||||
m => m.CatalogSearchResultListItem,
|
||||
),
|
||||
});
|
||||
export const catalogSearchResultListItem = createSearchResultListItemExtension({
|
||||
predicate: result => result.type === 'software-catalog',
|
||||
component: () =>
|
||||
import('../components/CatalogSearchResultListItem').then(
|
||||
m => m.CatalogSearchResultListItem,
|
||||
),
|
||||
});
|
||||
|
||||
export default [CatalogSearchResultListItemExtension];
|
||||
export default [catalogSearchResultListItem];
|
||||
|
||||
@@ -11,7 +11,7 @@ const _default: BackstagePlugin<{}, {}>;
|
||||
export default _default;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const ExploreSearchResultListItemExtension: ExtensionDefinition<{
|
||||
export const exploreSearchResultListItem: ExtensionDefinition<{
|
||||
noTrack?: boolean | undefined;
|
||||
}>;
|
||||
|
||||
|
||||
@@ -18,17 +18,16 @@ import { createPlugin } from '@backstage/frontend-plugin-api';
|
||||
import { createSearchResultListItemExtension } from '@backstage/plugin-search-react/alpha';
|
||||
|
||||
/** @alpha */
|
||||
export const ExploreSearchResultListItemExtension =
|
||||
createSearchResultListItemExtension({
|
||||
predicate: result => result.type === 'tools',
|
||||
component: () =>
|
||||
import('./components/ToolSearchResultListItem').then(
|
||||
m => m.ToolSearchResultListItem,
|
||||
),
|
||||
});
|
||||
export const exploreSearchResultListItem = createSearchResultListItemExtension({
|
||||
predicate: result => result.type === 'tools',
|
||||
component: () =>
|
||||
import('./components/ToolSearchResultListItem').then(
|
||||
m => m.ToolSearchResultListItem,
|
||||
),
|
||||
});
|
||||
|
||||
/** @alpha */
|
||||
export default createPlugin({
|
||||
id: 'explore',
|
||||
extensions: [ExploreSearchResultListItemExtension],
|
||||
extensions: [exploreSearchResultListItem],
|
||||
});
|
||||
|
||||
@@ -33,13 +33,13 @@ export default _default;
|
||||
export const graphiqlBrowseApi: ExtensionDefinition<{}>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const GraphiqlPage: ExtensionDefinition<{
|
||||
path: string;
|
||||
export const graphiqlNavItem: ExtensionDefinition<{
|
||||
title: string;
|
||||
}>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const graphiqlPageSidebarItem: ExtensionDefinition<{
|
||||
title: string;
|
||||
export const graphiqlPage: ExtensionDefinition<{
|
||||
path: string;
|
||||
}>;
|
||||
|
||||
// (No @packageDocumentation comment for this package)
|
||||
|
||||
@@ -40,7 +40,7 @@ import {
|
||||
} from '@backstage/core-compat-api';
|
||||
|
||||
/** @alpha */
|
||||
export const GraphiqlPage = createPageExtension({
|
||||
export const graphiqlPage = createPageExtension({
|
||||
defaultPath: '/graphiql',
|
||||
routeRef: convertLegacyRouteRef(graphiQLRouteRef),
|
||||
loader: () =>
|
||||
@@ -48,7 +48,7 @@ export const GraphiqlPage = createPageExtension({
|
||||
});
|
||||
|
||||
/** @alpha */
|
||||
export const graphiqlPageSidebarItem = createNavItemExtension({
|
||||
export const graphiqlNavItem = createNavItemExtension({
|
||||
title: 'GraphiQL',
|
||||
icon: GraphiQLIcon as IconComponent,
|
||||
routeRef: convertLegacyRouteRef(graphiQLRouteRef),
|
||||
@@ -56,7 +56,7 @@ export const graphiqlPageSidebarItem = createNavItemExtension({
|
||||
|
||||
/** @internal */
|
||||
const endpointDataRef = createExtensionDataRef<GraphQLEndpoint>(
|
||||
'plugin.graphiql.endpoint',
|
||||
'graphiql.graphiql-endpoint',
|
||||
);
|
||||
|
||||
/** @alpha */
|
||||
@@ -102,29 +102,31 @@ export function createGraphiQLEndpointExtension<TConfig extends {}>(options: {
|
||||
}
|
||||
|
||||
/** @alpha */
|
||||
const gitlabGraphiQLBrowseExtension = createGraphiQLEndpointExtension({
|
||||
name: 'gitlab',
|
||||
disabled: true,
|
||||
configSchema: createSchemaFromZod(z =>
|
||||
z
|
||||
.object({
|
||||
id: z.string().default('gitlab'),
|
||||
title: z.string().default('GitLab'),
|
||||
url: z.string().default('https://gitlab.com/api/graphql'),
|
||||
})
|
||||
.default({}),
|
||||
),
|
||||
factory: ({ config }) => ({ endpoint: GraphQLEndpoints.create(config) }),
|
||||
});
|
||||
const graphiqlGitlabGraphiQLEndpointExtension = createGraphiQLEndpointExtension(
|
||||
{
|
||||
name: 'gitlab',
|
||||
disabled: true,
|
||||
configSchema: createSchemaFromZod(z =>
|
||||
z
|
||||
.object({
|
||||
id: z.string().default('gitlab'),
|
||||
title: z.string().default('GitLab'),
|
||||
url: z.string().default('https://gitlab.com/api/graphql'),
|
||||
})
|
||||
.default({}),
|
||||
),
|
||||
factory: ({ config }) => ({ endpoint: GraphQLEndpoints.create(config) }),
|
||||
},
|
||||
);
|
||||
|
||||
/** @alpha */
|
||||
export default createPlugin({
|
||||
id: 'graphiql',
|
||||
extensions: [
|
||||
GraphiqlPage,
|
||||
graphiqlPage,
|
||||
graphiqlBrowseApi,
|
||||
gitlabGraphiQLBrowseExtension,
|
||||
graphiqlPageSidebarItem,
|
||||
graphiqlGitlabGraphiQLEndpointExtension,
|
||||
graphiqlNavItem,
|
||||
],
|
||||
routes: {
|
||||
root: convertLegacyRouteRef(graphiQLRouteRef),
|
||||
|
||||
@@ -33,7 +33,7 @@ const rootRouteRef = createRouteRef();
|
||||
*/
|
||||
export const titleExtensionDataRef = createExtensionDataRef<string>('title');
|
||||
|
||||
const HomepageCompositionRootExtension = createPageExtension({
|
||||
const homePage = createPageExtension({
|
||||
defaultPath: '/home',
|
||||
routeRef: rootRouteRef,
|
||||
inputs: {
|
||||
@@ -65,5 +65,5 @@ const HomepageCompositionRootExtension = createPageExtension({
|
||||
*/
|
||||
export default createPlugin({
|
||||
id: 'home',
|
||||
extensions: [HomepageCompositionRootExtension],
|
||||
extensions: [homePage],
|
||||
});
|
||||
|
||||
@@ -27,6 +27,18 @@ export function createSearchResultListItemExtension<
|
||||
options: SearchResultItemExtensionOptions<TConfig>,
|
||||
): ExtensionDefinition<TConfig>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export namespace createSearchResultListItemExtension {
|
||||
const // (undocumented)
|
||||
itemDataRef: ConfigurableExtensionDataRef<
|
||||
{
|
||||
predicate?: SearchResultItemExtensionPredicate | undefined;
|
||||
component: SearchResultItemExtensionComponent;
|
||||
},
|
||||
{}
|
||||
>;
|
||||
}
|
||||
|
||||
// @alpha (undocumented)
|
||||
export type SearchResultItemExtensionComponent = <
|
||||
P extends BaseSearchResultListItemProps,
|
||||
@@ -34,15 +46,6 @@ export type SearchResultItemExtensionComponent = <
|
||||
props: P,
|
||||
) => JSX.Element | null;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const searchResultItemExtensionData: ConfigurableExtensionDataRef<
|
||||
{
|
||||
predicate?: SearchResultItemExtensionPredicate | undefined;
|
||||
component: SearchResultItemExtensionComponent;
|
||||
},
|
||||
{}
|
||||
>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export type SearchResultItemExtensionOptions<
|
||||
TConfig extends {
|
||||
|
||||
@@ -26,7 +26,6 @@ import React from 'react';
|
||||
import {
|
||||
BaseSearchResultListItemProps,
|
||||
createSearchResultListItemExtension,
|
||||
searchResultItemExtensionData as searchResultListItemExtensionData,
|
||||
} from './alpha';
|
||||
|
||||
describe('createSearchResultListItemExtension', () => {
|
||||
@@ -76,7 +75,7 @@ describe('createSearchResultListItemExtension', () => {
|
||||
defaultPath: '/',
|
||||
inputs: {
|
||||
items: createExtensionInput({
|
||||
item: searchResultListItemExtensionData,
|
||||
item: createSearchResultListItemExtension.itemDataRef,
|
||||
}),
|
||||
},
|
||||
loader: async ({ inputs }) => {
|
||||
|
||||
@@ -47,12 +47,6 @@ export type SearchResultItemExtensionPredicate = (
|
||||
result: SearchResult,
|
||||
) => boolean;
|
||||
|
||||
/** @alpha */
|
||||
export const searchResultItemExtensionData = createExtensionDataRef<{
|
||||
predicate?: SearchResultItemExtensionPredicate;
|
||||
component: SearchResultItemExtensionComponent;
|
||||
}>('plugin.search.result.item.data');
|
||||
|
||||
/** @alpha */
|
||||
export type SearchResultItemExtensionOptions<
|
||||
TConfig extends { noTrack?: boolean },
|
||||
@@ -109,7 +103,7 @@ export function createSearchResultListItemExtension<
|
||||
},
|
||||
configSchema,
|
||||
output: {
|
||||
item: searchResultItemExtensionData,
|
||||
item: createSearchResultListItemExtension.itemDataRef,
|
||||
},
|
||||
factory({ config, node }) {
|
||||
const ExtensionComponent = lazy(() =>
|
||||
@@ -137,3 +131,11 @@ export function createSearchResultListItemExtension<
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
/** @alpha */
|
||||
export namespace createSearchResultListItemExtension {
|
||||
export const itemDataRef = createExtensionDataRef<{
|
||||
predicate?: SearchResultItemExtensionPredicate;
|
||||
component: SearchResultItemExtensionComponent;
|
||||
}>('search.search-result-list-item.item');
|
||||
}
|
||||
|
||||
@@ -17,15 +17,15 @@ const _default: BackstagePlugin<
|
||||
export default _default;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const SearchApi: ExtensionDefinition<{}>;
|
||||
export const searchApi: ExtensionDefinition<{}>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const SearchNavItem: ExtensionDefinition<{
|
||||
export const searchNavItem: ExtensionDefinition<{
|
||||
title: string;
|
||||
}>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const SearchPage: ExtensionDefinition<{
|
||||
export const searchPage: ExtensionDefinition<{
|
||||
path: string;
|
||||
noTrack: boolean;
|
||||
}>;
|
||||
|
||||
@@ -61,7 +61,7 @@ import {
|
||||
} from '@backstage/plugin-search-react';
|
||||
import { SearchResult } from '@backstage/plugin-search-common';
|
||||
import { searchApiRef } from '@backstage/plugin-search-react';
|
||||
import { searchResultItemExtensionData } from '@backstage/plugin-search-react/alpha';
|
||||
import { createSearchResultListItemExtension } from '@backstage/plugin-search-react/alpha';
|
||||
|
||||
import { rootRouteRef } from './plugin';
|
||||
import { SearchClient } from './apis';
|
||||
@@ -73,7 +73,7 @@ import {
|
||||
} from '@backstage/core-compat-api';
|
||||
|
||||
/** @alpha */
|
||||
export const SearchApi = createApiExtension({
|
||||
export const searchApi = createApiExtension({
|
||||
factory: {
|
||||
api: searchApiRef,
|
||||
deps: { discoveryApi: discoveryApiRef, identityApi: identityApiRef },
|
||||
@@ -100,7 +100,7 @@ const useSearchPageStyles = makeStyles((theme: Theme) => ({
|
||||
}));
|
||||
|
||||
/** @alpha */
|
||||
export const SearchPage = createPageExtension({
|
||||
export const searchPage = createPageExtension({
|
||||
routeRef: convertLegacyRouteRef(rootRouteRef),
|
||||
configSchema: createSchemaFromZod(z =>
|
||||
z.object({
|
||||
@@ -110,7 +110,7 @@ export const SearchPage = createPageExtension({
|
||||
),
|
||||
inputs: {
|
||||
items: createExtensionInput({
|
||||
item: searchResultItemExtensionData,
|
||||
item: createSearchResultListItemExtension.itemDataRef,
|
||||
}),
|
||||
},
|
||||
loader: async ({ config, inputs }) => {
|
||||
@@ -238,7 +238,7 @@ export const SearchPage = createPageExtension({
|
||||
});
|
||||
|
||||
/** @alpha */
|
||||
export const SearchNavItem = createNavItemExtension({
|
||||
export const searchNavItem = createNavItemExtension({
|
||||
routeRef: convertLegacyRouteRef(rootRouteRef),
|
||||
title: 'Search',
|
||||
icon: SearchIcon,
|
||||
@@ -247,7 +247,7 @@ export const SearchNavItem = createNavItemExtension({
|
||||
/** @alpha */
|
||||
export default createPlugin({
|
||||
id: 'search',
|
||||
extensions: [SearchApi, SearchPage, SearchNavItem],
|
||||
extensions: [searchApi, searchPage, searchNavItem],
|
||||
routes: {
|
||||
root: convertLegacyRouteRef(rootRouteRef),
|
||||
},
|
||||
|
||||
@@ -23,7 +23,7 @@ import { createSearchResultListItemExtension } from '@backstage/plugin-search-re
|
||||
import { StackOverflowClient, stackOverflowApiRef } from './api';
|
||||
|
||||
/** @alpha */
|
||||
const StackOverflowApi = createApiExtension({
|
||||
const stackOverflowApi = createApiExtension({
|
||||
factory: createApiFactory({
|
||||
api: stackOverflowApiRef,
|
||||
deps: { configApi: configApiRef },
|
||||
@@ -32,7 +32,7 @@ const StackOverflowApi = createApiExtension({
|
||||
});
|
||||
|
||||
/** @alpha */
|
||||
const StackOverflowSearchResultListItem = createSearchResultListItemExtension({
|
||||
const stackOverflowSearchResultListItem = createSearchResultListItemExtension({
|
||||
predicate: result => result.type === 'stack-overflow',
|
||||
component: () =>
|
||||
import('./search/StackOverflowSearchResultListItem').then(
|
||||
@@ -44,5 +44,5 @@ const StackOverflowSearchResultListItem = createSearchResultListItemExtension({
|
||||
export default createPlugin({
|
||||
id: 'stack-overflow',
|
||||
// TODO: Migrate homepage cards when the declarative homepage plugin supports them
|
||||
extensions: [StackOverflowApi, StackOverflowSearchResultListItem],
|
||||
extensions: [stackOverflowApi, stackOverflowSearchResultListItem],
|
||||
});
|
||||
|
||||
@@ -17,10 +17,10 @@ const _default: BackstagePlugin<
|
||||
export default _default;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const sampleTechRadarApi: ExtensionDefinition<{}>;
|
||||
export const techRadarApi: ExtensionDefinition<{}>;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const TechRadarPage: ExtensionDefinition<{
|
||||
export const techRadarPage: ExtensionDefinition<{
|
||||
height: number;
|
||||
width: number;
|
||||
title: string;
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
import { createExtensionTester } from '@backstage/frontend-test-utils';
|
||||
import { screen } from '@testing-library/react';
|
||||
import { TechRadarPage, sampleTechRadarApi } from './alpha';
|
||||
import { techRadarPage, techRadarApi } from './alpha';
|
||||
|
||||
describe('TechRadarPage', () => {
|
||||
beforeAll(() => {
|
||||
@@ -27,7 +27,7 @@ describe('TechRadarPage', () => {
|
||||
});
|
||||
|
||||
it('renders without exploding', async () => {
|
||||
createExtensionTester(TechRadarPage).add(sampleTechRadarApi).render();
|
||||
createExtensionTester(techRadarPage).add(techRadarApi).render();
|
||||
|
||||
await expect(screen.findByText('Tech Radar')).resolves.toBeInTheDocument();
|
||||
});
|
||||
|
||||
@@ -31,7 +31,7 @@ import {
|
||||
import { rootRouteRef } from './plugin';
|
||||
|
||||
/** @alpha */
|
||||
export const TechRadarPage = createPageExtension({
|
||||
export const techRadarPage = createPageExtension({
|
||||
defaultPath: '/tech-radar',
|
||||
routeRef: convertLegacyRouteRef(rootRouteRef),
|
||||
configSchema: createSchemaFromZod(z =>
|
||||
@@ -53,14 +53,14 @@ export const TechRadarPage = createPageExtension({
|
||||
});
|
||||
|
||||
/** @alpha */
|
||||
export const sampleTechRadarApi = createApiExtension({
|
||||
export const techRadarApi = createApiExtension({
|
||||
factory: createApiFactory(techRadarApiRef, new SampleTechRadarApi()),
|
||||
});
|
||||
|
||||
/** @alpha */
|
||||
export default createPlugin({
|
||||
id: 'tech-radar',
|
||||
extensions: [TechRadarPage, sampleTechRadarApi],
|
||||
extensions: [techRadarPage, techRadarApi],
|
||||
routes: {
|
||||
root: convertLegacyRouteRef(rootRouteRef),
|
||||
},
|
||||
|
||||
@@ -23,7 +23,7 @@ const _default: BackstagePlugin<
|
||||
export default _default;
|
||||
|
||||
// @alpha (undocumented)
|
||||
export const TechDocsSearchResultListItemExtension: ExtensionDefinition<{
|
||||
export const techDocsSearchResultListItemExtension: ExtensionDefinition<{
|
||||
lineClamp: number;
|
||||
noTrack: boolean;
|
||||
asListItem: boolean;
|
||||
|
||||
@@ -48,7 +48,7 @@ import {
|
||||
import { createEntityContentExtension } from '@backstage/plugin-catalog-react/alpha';
|
||||
|
||||
/** @alpha */
|
||||
const techDocsStorage = createApiExtension({
|
||||
const techDocsStorageApi = createApiExtension({
|
||||
factory: createApiFactory({
|
||||
api: techdocsStorageApiRef,
|
||||
deps: {
|
||||
@@ -68,7 +68,7 @@ const techDocsStorage = createApiExtension({
|
||||
});
|
||||
|
||||
/** @alpha */
|
||||
const techDocsClient = createApiExtension({
|
||||
const techDocsClientApi = createApiExtension({
|
||||
factory: createApiFactory({
|
||||
api: techdocsApiRef,
|
||||
deps: {
|
||||
@@ -86,7 +86,7 @@ const techDocsClient = createApiExtension({
|
||||
});
|
||||
|
||||
/** @alpha */
|
||||
export const TechDocsSearchResultListItemExtension =
|
||||
export const techDocsSearchResultListItemExtension =
|
||||
createSearchResultListItemExtension({
|
||||
configSchema: createSchemaFromZod(z =>
|
||||
z.object({
|
||||
@@ -113,7 +113,7 @@ export const TechDocsSearchResultListItemExtension =
|
||||
*
|
||||
* @alpha
|
||||
*/
|
||||
const TechDocsIndexPage = createPageExtension({
|
||||
const techDocsPage = createPageExtension({
|
||||
defaultPath: '/docs',
|
||||
routeRef: convertLegacyRouteRef(rootRouteRef),
|
||||
loader: () =>
|
||||
@@ -127,7 +127,7 @@ const TechDocsIndexPage = createPageExtension({
|
||||
*
|
||||
* @alpha
|
||||
*/
|
||||
const TechDocsReaderPage = createPageExtension({
|
||||
const techDocsReaderPage = createPageExtension({
|
||||
name: 'reader',
|
||||
defaultPath: '/docs/:namespace/:kind/:name',
|
||||
routeRef: convertLegacyRouteRef(rootDocsRouteRef),
|
||||
@@ -142,7 +142,7 @@ const TechDocsReaderPage = createPageExtension({
|
||||
*
|
||||
* @alpha
|
||||
*/
|
||||
const TechDocsEntityContent = createEntityContentExtension({
|
||||
const techDocsEntityContent = createEntityContentExtension({
|
||||
defaultPath: 'docs',
|
||||
defaultTitle: 'TechDocs',
|
||||
loader: () =>
|
||||
@@ -150,7 +150,7 @@ const TechDocsEntityContent = createEntityContentExtension({
|
||||
});
|
||||
|
||||
/** @alpha */
|
||||
const TechDocsNavItem = createNavItemExtension({
|
||||
const techDocsNavItem = createNavItemExtension({
|
||||
icon: LibraryBooks,
|
||||
title: 'Docs',
|
||||
routeRef: convertLegacyRouteRef(rootRouteRef),
|
||||
@@ -160,13 +160,13 @@ const TechDocsNavItem = createNavItemExtension({
|
||||
export default createPlugin({
|
||||
id: 'techdocs',
|
||||
extensions: [
|
||||
techDocsClient,
|
||||
techDocsStorage,
|
||||
TechDocsNavItem,
|
||||
TechDocsIndexPage,
|
||||
TechDocsReaderPage,
|
||||
TechDocsEntityContent,
|
||||
TechDocsSearchResultListItemExtension,
|
||||
techDocsClientApi,
|
||||
techDocsStorageApi,
|
||||
techDocsNavItem,
|
||||
techDocsPage,
|
||||
techDocsReaderPage,
|
||||
techDocsEntityContent,
|
||||
techDocsSearchResultListItemExtension,
|
||||
],
|
||||
routes: {
|
||||
root: convertLegacyRouteRef(rootRouteRef),
|
||||
|
||||
@@ -29,7 +29,7 @@ import React from 'react';
|
||||
|
||||
export * from './translation';
|
||||
|
||||
const UserSettingsPage = createPageExtension({
|
||||
const userSettingsPage = createPageExtension({
|
||||
defaultPath: '/settings',
|
||||
routeRef: convertLegacyRouteRef(settingsRouteRef),
|
||||
inputs: {
|
||||
@@ -55,7 +55,7 @@ const UserSettingsPage = createPageExtension({
|
||||
*/
|
||||
export default createPlugin({
|
||||
id: 'user-settings',
|
||||
extensions: [UserSettingsPage],
|
||||
extensions: [userSettingsPage],
|
||||
routes: {
|
||||
root: convertLegacyRouteRef(settingsRouteRef),
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user