@@ -1,5 +1,6 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-react': patch
|
||||
'@backstage/plugin-catalog': patch
|
||||
---
|
||||
|
||||
A new `filter` parameter has been added to `EntityContextMenuItemBlueprint` to make it easier to configure which entities a menu item should appear for. The `filter` parameter is a function which accepts an entity and returns a boolean.
|
||||
|
||||
@@ -16,6 +16,12 @@ import { ResourcePermission } from '@backstage/plugin-permission-common';
|
||||
import { RouteRef } from '@backstage/frontend-plugin-api';
|
||||
import { TranslationRef } from '@backstage/core-plugin-api/alpha';
|
||||
|
||||
// @alpha
|
||||
export function buildFilterFn(
|
||||
filterFunction?: (entity: Entity) => boolean,
|
||||
filterExpression?: string,
|
||||
): (entity: Entity) => boolean;
|
||||
|
||||
// @alpha
|
||||
export const CatalogFilterBlueprint: ExtensionBlueprint<{
|
||||
kind: 'catalog-filter';
|
||||
@@ -334,8 +340,12 @@ export const EntityContextMenuItemBlueprint: ExtensionBlueprint<{
|
||||
params: EntityContextMenuItemParams;
|
||||
output: ConfigurableExtensionDataRef<JSX_2.Element, 'core.reactElement', {}>;
|
||||
inputs: {};
|
||||
config: {};
|
||||
configInput: {};
|
||||
config: {
|
||||
filter: EntityPredicate | undefined;
|
||||
};
|
||||
configInput: {
|
||||
filter?: EntityPredicate | undefined;
|
||||
};
|
||||
dataRefs: never;
|
||||
}>;
|
||||
|
||||
@@ -343,7 +353,7 @@ export const EntityContextMenuItemBlueprint: ExtensionBlueprint<{
|
||||
export type EntityContextMenuItemParams = {
|
||||
useProps: UseProps;
|
||||
icon: JSX_2.Element;
|
||||
filter?: (entity: Entity) => boolean;
|
||||
filter?: string | EntityPredicate | ((entity: Entity) => boolean);
|
||||
};
|
||||
|
||||
// @alpha (undocumented)
|
||||
|
||||
@@ -863,8 +863,12 @@ const _default: FrontendPlugin<
|
||||
'entity-context-menu-item:catalog/copy-entity-url': ExtensionDefinition<{
|
||||
kind: 'entity-context-menu-item';
|
||||
name: 'copy-entity-url';
|
||||
config: {};
|
||||
configInput: {};
|
||||
config: {
|
||||
filter: EntityPredicate | undefined;
|
||||
};
|
||||
configInput: {
|
||||
filter?: EntityPredicate | undefined;
|
||||
};
|
||||
output: ConfigurableExtensionDataRef<
|
||||
JSX_2.Element,
|
||||
'core.reactElement',
|
||||
@@ -876,8 +880,12 @@ const _default: FrontendPlugin<
|
||||
'entity-context-menu-item:catalog/inspect-entity': ExtensionDefinition<{
|
||||
kind: 'entity-context-menu-item';
|
||||
name: 'inspect-entity';
|
||||
config: {};
|
||||
configInput: {};
|
||||
config: {
|
||||
filter: EntityPredicate | undefined;
|
||||
};
|
||||
configInput: {
|
||||
filter?: EntityPredicate | undefined;
|
||||
};
|
||||
output: ConfigurableExtensionDataRef<
|
||||
JSX_2.Element,
|
||||
'core.reactElement',
|
||||
@@ -889,8 +897,12 @@ const _default: FrontendPlugin<
|
||||
'entity-context-menu-item:catalog/unregister-entity': ExtensionDefinition<{
|
||||
kind: 'entity-context-menu-item';
|
||||
name: 'unregister-entity';
|
||||
config: {};
|
||||
configInput: {};
|
||||
config: {
|
||||
filter: EntityPredicate | undefined;
|
||||
};
|
||||
configInput: {
|
||||
filter?: EntityPredicate | undefined;
|
||||
};
|
||||
output: ConfigurableExtensionDataRef<
|
||||
JSX_2.Element,
|
||||
'core.reactElement',
|
||||
|
||||
Reference in New Issue
Block a user