mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
* Replace EntityDetailRegistry with an injectable solution - Add some behavioural tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update snapshots Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix import error Signed-off-by: Sebastian Malton <sebastian@malton.name> * Simplify loading extensions Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix lint Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update snapshot Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove the last reminents of BaseRegistry Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix import errors Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix TypeError when loading extensions Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update snapshots Signed-off-by: Sebastian Malton <sebastian@malton.name> * Cleanup LensExtensions Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove bad comment Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix type errors Signed-off-by: Sebastian Malton <sebastian@malton.name> Signed-off-by: Sebastian Malton <sebastian@malton.name>
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
/**
|
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
*/
|
|
|
|
import { getInjectionToken } from "@ogre-tools/injectable";
|
|
import type { CatalogEntity } from "../../../api/catalog-entity";
|
|
|
|
export interface CatalogEntityDetailsProps<T extends CatalogEntity> {
|
|
entity: T;
|
|
}
|
|
|
|
export type CatalogEntityDetailsComponent<T extends CatalogEntity> = React.ComponentType<CatalogEntityDetailsProps<T>>;
|
|
|
|
export interface CatalogEntityDetailComponents<T extends CatalogEntity> {
|
|
Details: CatalogEntityDetailsComponent<T>;
|
|
}
|
|
|
|
export interface CatalogEntityDetailRegistration<T extends CatalogEntity> {
|
|
kind: string;
|
|
apiVersions: string[];
|
|
components: CatalogEntityDetailComponents<T>;
|
|
priority?: number;
|
|
}
|
|
|
|
export interface CatalogEntityDetailItem {
|
|
kind: string;
|
|
apiVersions: Set<string>;
|
|
components: CatalogEntityDetailComponents<CatalogEntity>;
|
|
orderNumber: number;
|
|
}
|
|
|
|
export const catalogEntityDetailItemInjectionToken = getInjectionToken<CatalogEntityDetailItem>({
|
|
id: "catalog-entity-detail-item-token",
|
|
});
|