From 339502cf4f1c8ab9beaf76e0135968c37fdcd6d4 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Fri, 23 Apr 2021 16:08:21 -0400 Subject: [PATCH] Switch CatalogEntity and CatalogCategory abstract classes (#2612) --- .../__tests__/catalog-entity-registry.test.ts | 6 +- .../catalog-entities/kubernetes-cluster.ts | 40 ++--- src/common/catalog-entities/web-link.ts | 42 ++--- src/common/catalog-entity.ts | 95 ------------ .../catalog-category-registry.ts | 6 +- .../{ => catalog}/catalog-entity-registry.ts | 0 src/common/catalog/catalog-entity.ts | 143 ++++++++++++++++++ src/common/catalog/index.ts | 3 + src/extensions/core-api/catalog.ts | 5 +- src/extensions/interfaces/catalog.ts | 2 +- src/extensions/lens-main-extension.ts | 3 +- src/extensions/registries/command-registry.ts | 2 +- .../registries/entity-setting-registry.ts | 2 +- src/main/catalog-pusher.ts | 2 +- src/main/cluster-manager.ts | 3 +- src/main/index.ts | 2 +- .../__tests__/catalog-entity-registry.test.ts | 2 +- src/renderer/api/catalog-category-registry.ts | 2 +- src/renderer/api/catalog-entity-registry.ts | 7 +- src/renderer/api/catalog-entity.ts | 5 +- .../+catalog/catalog-entity.store.ts | 2 +- src/renderer/components/+catalog/catalog.tsx | 2 +- .../components/hotbar/hotbar-icon.tsx | 2 +- 23 files changed, 194 insertions(+), 184 deletions(-) delete mode 100644 src/common/catalog-entity.ts rename src/common/{ => catalog}/catalog-category-registry.ts (88%) rename src/common/{ => catalog}/catalog-entity-registry.ts (100%) create mode 100644 src/common/catalog/catalog-entity.ts create mode 100644 src/common/catalog/index.ts diff --git a/src/common/__tests__/catalog-entity-registry.test.ts b/src/common/__tests__/catalog-entity-registry.test.ts index da85af3e3d..1a53865241 100644 --- a/src/common/__tests__/catalog-entity-registry.test.ts +++ b/src/common/__tests__/catalog-entity-registry.test.ts @@ -1,12 +1,10 @@ import { observable, reaction } from "mobx"; import { WebLink } from "../catalog-entities"; -import { CatalogEntityRegistry } from "../catalog-entity-registry"; +import { CatalogEntityRegistry } from "../catalog"; describe("CatalogEntityRegistry", () => { let registry: CatalogEntityRegistry; const entity = new WebLink({ - apiVersion: "entity.k8slens.dev/v1alpha1", - kind: "WebLink", metadata: { uid: "test", name: "test-link", @@ -17,7 +15,7 @@ describe("CatalogEntityRegistry", () => { url: "https://k8slens.dev" }, status: { - phase: "ok" + phase: "valid" } }); diff --git a/src/common/catalog-entities/kubernetes-cluster.ts b/src/common/catalog-entities/kubernetes-cluster.ts index 50f9966caf..747e042efd 100644 --- a/src/common/catalog-entities/kubernetes-cluster.ts +++ b/src/common/catalog-entities/kubernetes-cluster.ts @@ -1,11 +1,10 @@ -import { EventEmitter } from "events"; -import { observable } from "mobx"; -import { catalogCategoryRegistry } from "../catalog-category-registry"; -import { CatalogCategory, CatalogEntity, CatalogEntityActionContext, CatalogEntityAddMenuContext, CatalogEntityContextMenuContext, CatalogEntityData, CatalogEntityMetadata, CatalogEntityStatus } from "../catalog-entity"; +import { catalogCategoryRegistry } from "../catalog/catalog-category-registry"; +import { CatalogEntity, CatalogEntityActionContext, CatalogEntityAddMenuContext, CatalogEntityContextMenuContext, CatalogEntityMetadata, CatalogEntityStatus } from "../catalog"; import { clusterDisconnectHandler } from "../cluster-ipc"; import { ClusterStore } from "../cluster-store"; import { requestMain } from "../ipc"; import { productName } from "../vars"; +import { CatalogCategory, CatalogCategorySpec } from "../catalog"; export type KubernetesClusterSpec = { kubeconfigPath: string; @@ -16,32 +15,19 @@ export interface KubernetesClusterStatus extends CatalogEntityStatus { phase: "connected" | "disconnected"; } -export class KubernetesCluster implements CatalogEntity { +export class KubernetesCluster extends CatalogEntity { public readonly apiVersion = "entity.k8slens.dev/v1alpha1"; public readonly kind = "KubernetesCluster"; - @observable public metadata: CatalogEntityMetadata; - @observable public status: KubernetesClusterStatus; - @observable public spec: KubernetesClusterSpec; - - constructor(data: CatalogEntityData) { - this.metadata = data.metadata; - this.status = data.status as KubernetesClusterStatus; - this.spec = data.spec as KubernetesClusterSpec; - } - - getId() { - return this.metadata.uid; - } - - getName() { - return this.metadata.name; - } async onRun(context: CatalogEntityActionContext) { context.navigate(`/cluster/${this.metadata.uid}`); } - async onDetailsOpen() { + onDetailsOpen(): void { + // + } + + onSettingsOpen(): void { // } @@ -81,14 +67,14 @@ export class KubernetesCluster implements CatalogEntity { } } -export class KubernetesClusterCategory extends EventEmitter implements CatalogCategory { +export class KubernetesClusterCategory extends CatalogCategory { public readonly apiVersion = "catalog.k8slens.dev/v1alpha1"; public readonly kind = "CatalogCategory"; public metadata = { name: "Kubernetes Clusters", icon: require(`!!raw-loader!./icons/kubernetes.svg`).default // eslint-disable-line }; - public spec = { + public spec: CatalogCategorySpec = { group: "entity.k8slens.dev", versions: [ { @@ -114,10 +100,6 @@ export class KubernetesClusterCategory extends EventEmitter implements CatalogCa }); }); } - - getId() { - return `${this.spec.group}/${this.spec.names.kind}`; - } } catalogCategoryRegistry.add(new KubernetesClusterCategory()); diff --git a/src/common/catalog-entities/web-link.ts b/src/common/catalog-entities/web-link.ts index 1e12db18cb..24a1893c19 100644 --- a/src/common/catalog-entities/web-link.ts +++ b/src/common/catalog-entities/web-link.ts @@ -1,6 +1,5 @@ -import { observable } from "mobx"; -import { CatalogCategory, CatalogEntity, CatalogEntityData, CatalogEntityMetadata, CatalogEntityStatus } from "../catalog-entity"; -import { catalogCategoryRegistry } from "../catalog-category-registry"; +import { CatalogCategory, CatalogEntity, CatalogEntityMetadata, CatalogEntityStatus } from "../catalog"; +import { catalogCategoryRegistry } from "../catalog/catalog-category-registry"; export interface WebLinkStatus extends CatalogEntityStatus { phase: "valid" | "invalid"; @@ -10,41 +9,28 @@ export type WebLinkSpec = { url: string; }; -export class WebLink implements CatalogEntity { +export class WebLink extends CatalogEntity { public readonly apiVersion = "entity.k8slens.dev/v1alpha1"; public readonly kind = "KubernetesCluster"; - @observable public metadata: CatalogEntityMetadata; - @observable public status: WebLinkStatus; - @observable public spec: WebLinkSpec; - - constructor(data: CatalogEntityData) { - this.metadata = data.metadata; - this.status = data.status as WebLinkStatus; - this.spec = data.spec as WebLinkSpec; - } - - getId() { - return this.metadata.uid; - } - - getName() { - return this.metadata.name; - } async onRun() { window.open(this.spec.url, "_blank"); } - async onDetailsOpen() { - // + public onSettingsOpen(): void { + return; } - async onContextMenuOpen() { - // + public onDetailsOpen(): void { + return; + } + + public onContextMenuOpen(): void { + return; } } -export class WebLinkCategory implements CatalogCategory { +export class WebLinkCategory extends CatalogCategory { public readonly apiVersion = "catalog.k8slens.dev/v1alpha1"; public readonly kind = "CatalogCategory"; public metadata = { @@ -63,10 +49,6 @@ export class WebLinkCategory implements CatalogCategory { kind: "WebLink" } }; - - getId() { - return `${this.spec.group}/${this.spec.names.kind}`; - } } catalogCategoryRegistry.add(new WebLinkCategory()); diff --git a/src/common/catalog-entity.ts b/src/common/catalog-entity.ts deleted file mode 100644 index f18f0fccca..0000000000 --- a/src/common/catalog-entity.ts +++ /dev/null @@ -1,95 +0,0 @@ -export interface CatalogCategoryVersion { - name: string; - entityClass: { new(data: CatalogEntityData): CatalogEntity }; -} - -export interface CatalogCategory { - apiVersion: string; - kind: string; - metadata: { - name: string; - icon: string; - } - spec: { - group: string; - versions: CatalogCategoryVersion[]; - names: { - kind: string; - } - } - getId: () => string; -} - -export type CatalogEntityMetadata = { - uid: string; - name: string; - description?: string; - source?: string; - labels: { - [key: string]: string; - } - [key: string]: string | object; -}; - -export type CatalogEntityStatus = { - phase: string; - reason?: string; - message?: string; - active?: boolean; -}; - -export interface CatalogEntityActionContext { - navigate: (url: string) => void; - setCommandPaletteContext: (context?: CatalogEntity) => void; -} - -export type CatalogEntityContextMenu = { - icon: string; - title: string; - onlyVisibleForSource?: string; // show only if empty or if matches with entity source - onClick: () => Promise; - confirm?: { - message: string; - } -}; - -export type CatalogEntitySettingsMenu = { - group?: string; - title: string; - components: { - View: React.ComponentType - }; -}; - -export interface CatalogEntityContextMenuContext { - navigate: (url: string) => void; - menuItems: CatalogEntityContextMenu[]; -} - -export interface CatalogEntitySettingsContext { - menuItems: CatalogEntityContextMenu[]; -} - -export interface CatalogEntityAddMenuContext { - navigate: (url: string) => void; - menuItems: CatalogEntityContextMenu[]; -} - -export type CatalogEntityData = { - apiVersion: string; - kind: string; - metadata: CatalogEntityMetadata; - status: CatalogEntityStatus; - spec: { - [key: string]: any; - } -}; - -export interface CatalogEntity extends CatalogEntityData { - getId: () => string; - getName: () => string; - onRun: (context: CatalogEntityActionContext) => Promise; - onDetailsOpen: (context: CatalogEntityActionContext) => Promise; - onContextMenuOpen: (context: CatalogEntityContextMenuContext) => Promise; - onSettingsOpen?: (context: CatalogEntitySettingsContext) => Promise; -} diff --git a/src/common/catalog-category-registry.ts b/src/common/catalog/catalog-category-registry.ts similarity index 88% rename from src/common/catalog-category-registry.ts rename to src/common/catalog/catalog-category-registry.ts index d8d65564de..13e81aa165 100644 --- a/src/common/catalog-category-registry.ts +++ b/src/common/catalog/catalog-category-registry.ts @@ -1,5 +1,5 @@ import { action, computed, observable, toJS } from "mobx"; -import { CatalogCategory, CatalogEntityData } from "./catalog-entity"; +import { CatalogCategory, CatalogEntityData, CatalogEntityKindData } from "./catalog-entity"; export class CatalogCategoryRegistry { @observable protected categories: CatalogCategory[] = []; @@ -20,7 +20,7 @@ export class CatalogCategoryRegistry { return this.categories.find((c) => c.spec.group === group && c.spec.names.kind === kind) as T; } - getEntityForData(data: CatalogEntityData) { + getEntityForData(data: CatalogEntityData & CatalogEntityKindData) { const category = this.getCategoryForEntity(data); if (!category) { @@ -39,7 +39,7 @@ export class CatalogCategoryRegistry { return new specVersion.entityClass(data); } - getCategoryForEntity(data: CatalogEntityData) { + getCategoryForEntity(data: CatalogEntityData & CatalogEntityKindData) { const splitApiVersion = data.apiVersion.split("/"); const group = splitApiVersion[0]; diff --git a/src/common/catalog-entity-registry.ts b/src/common/catalog/catalog-entity-registry.ts similarity index 100% rename from src/common/catalog-entity-registry.ts rename to src/common/catalog/catalog-entity-registry.ts diff --git a/src/common/catalog/catalog-entity.ts b/src/common/catalog/catalog-entity.ts new file mode 100644 index 0000000000..fdd443ae54 --- /dev/null +++ b/src/common/catalog/catalog-entity.ts @@ -0,0 +1,143 @@ +import { EventEmitter } from "events"; +import { observable } from "mobx"; + +type ExtractEntityMetadataType = Entity extends CatalogEntity ? Metadata : never; +type ExtractEntityStatusType = Entity extends CatalogEntity ? Status : never; +type ExtractEntitySpecType = Entity extends CatalogEntity ? Spec : never; + +export type CatalogEntityConstructor = ( + (new (data: CatalogEntityData< + ExtractEntityMetadataType, + ExtractEntityStatusType, + ExtractEntitySpecType + >) => Entity) +); + +export interface CatalogCategoryVersion { + name: string; + entityClass: CatalogEntityConstructor; +} + +export interface CatalogCategorySpec { + group: string; + versions: CatalogCategoryVersion[]; + names: { + kind: string; + }; +} + +export abstract class CatalogCategory extends EventEmitter { + abstract readonly apiVersion: string; + abstract readonly kind: string; + abstract metadata: { + name: string; + icon: string; + }; + abstract spec: CatalogCategorySpec; + + public getId(): string { + return `${this.spec.group}/${this.spec.names.kind}`; + } +} + +export interface CatalogEntityMetadata { + uid: string; + name: string; + description?: string; + source?: string; + labels: Record; + [key: string]: string | object; +} + +export interface CatalogEntityStatus { + phase: string; + reason?: string; + message?: string; + active?: boolean; +} + +export interface CatalogEntityActionContext { + navigate: (url: string) => void; + setCommandPaletteContext: (context?: CatalogEntity) => void; +} + +export interface CatalogEntityContextMenu { + icon: string; + title: string; + onlyVisibleForSource?: string; // show only if empty or if matches with entity source + onClick: () => Promise; + confirm?: { + message: string; + } +} + +export interface CatalogEntitySettingsMenu { + group?: string; + title: string; + components: { + View: React.ComponentType + }; +} + +export interface CatalogEntityContextMenuContext { + navigate: (url: string) => void; + menuItems: CatalogEntityContextMenu[]; +} + +export interface CatalogEntitySettingsContext { + menuItems: CatalogEntityContextMenu[]; +} + +export interface CatalogEntityAddMenuContext { + navigate: (url: string) => void; + menuItems: CatalogEntityContextMenu[]; +} + +export type CatalogEntitySpec = Record; + +export interface CatalogEntityData< + Metadata extends CatalogEntityMetadata = CatalogEntityMetadata, + Status extends CatalogEntityStatus = CatalogEntityStatus, + Spec extends CatalogEntitySpec = CatalogEntitySpec, +> { + metadata: Metadata; + status: Status; + spec: Spec; +} + +export interface CatalogEntityKindData { + readonly apiVersion: string; + readonly kind: string; +} + +export abstract class CatalogEntity< + Metadata extends CatalogEntityMetadata = CatalogEntityMetadata, + Status extends CatalogEntityStatus = CatalogEntityStatus, + Spec extends CatalogEntitySpec = CatalogEntitySpec, +> implements CatalogEntityKindData { + public abstract readonly apiVersion: string; + public abstract readonly kind: string; + + @observable metadata: Metadata; + @observable status: Status; + @observable spec: Spec; + + constructor(data: CatalogEntityData) { + this.metadata = data.metadata; + this.status = data.status; + this.spec = data.spec; + } + + public getId(): string { + return this.metadata.uid; + } + + public getName(): string { + return this.metadata.name; + } + + public abstract onRun?(context: CatalogEntityActionContext): void | Promise; + public abstract onDetailsOpen(context: CatalogEntityActionContext): void | Promise; + public abstract onContextMenuOpen(context: CatalogEntityContextMenuContext): void | Promise; + public abstract onSettingsOpen(context: CatalogEntitySettingsContext): void | Promise; +} diff --git a/src/common/catalog/index.ts b/src/common/catalog/index.ts new file mode 100644 index 0000000000..d359a7f678 --- /dev/null +++ b/src/common/catalog/index.ts @@ -0,0 +1,3 @@ +export * from "./catalog-category-registry"; +export * from "./catalog-entity"; +export * from "./catalog-entity-registry"; diff --git a/src/extensions/core-api/catalog.ts b/src/extensions/core-api/catalog.ts index a24569c609..ccf07e3048 100644 --- a/src/extensions/core-api/catalog.ts +++ b/src/extensions/core-api/catalog.ts @@ -1,8 +1,7 @@ -import { CatalogEntity } from "../../common/catalog-entity"; -import { catalogEntityRegistry as registry } from "../../common/catalog-entity-registry"; +import { CatalogEntity, catalogEntityRegistry as registry } from "../../common/catalog"; -export { catalogCategoryRegistry as catalogCategories } from "../../common/catalog-category-registry"; +export { catalogCategoryRegistry as catalogCategories } from "../../common/catalog/catalog-category-registry"; export * from "../../common/catalog-entities"; export class CatalogEntityRegistry { diff --git a/src/extensions/interfaces/catalog.ts b/src/extensions/interfaces/catalog.ts index 916742076b..0d8bd3b6cf 100644 --- a/src/extensions/interfaces/catalog.ts +++ b/src/extensions/interfaces/catalog.ts @@ -1 +1 @@ -export * from "../../common/catalog-entity"; +export * from "../../common/catalog/catalog-entity"; diff --git a/src/extensions/lens-main-extension.ts b/src/extensions/lens-main-extension.ts index 473f031665..d01243aac1 100644 --- a/src/extensions/lens-main-extension.ts +++ b/src/extensions/lens-main-extension.ts @@ -2,8 +2,7 @@ import type { MenuRegistration } from "./registries/menu-registry"; import { LensExtension } from "./lens-extension"; import { WindowManager } from "../main/window-manager"; import { getExtensionPageUrl } from "./registries/page-registry"; -import { catalogEntityRegistry } from "../common/catalog-entity-registry"; -import { CatalogEntity } from "../common/catalog-entity"; +import { CatalogEntity, catalogEntityRegistry } from "../common/catalog"; import { IObservableArray } from "mobx"; export class LensMainExtension extends LensExtension { diff --git a/src/extensions/registries/command-registry.ts b/src/extensions/registries/command-registry.ts index 45af9121a1..c8c4eedb75 100644 --- a/src/extensions/registries/command-registry.ts +++ b/src/extensions/registries/command-registry.ts @@ -3,7 +3,7 @@ import { BaseRegistry } from "./base-registry"; import { action, observable } from "mobx"; import { LensExtension } from "../lens-extension"; -import { CatalogEntity } from "../../common/catalog-entity"; +import { CatalogEntity } from "../../common/catalog"; export type CommandContext = { entity?: CatalogEntity; diff --git a/src/extensions/registries/entity-setting-registry.ts b/src/extensions/registries/entity-setting-registry.ts index c233d95c1a..444f816b0a 100644 --- a/src/extensions/registries/entity-setting-registry.ts +++ b/src/extensions/registries/entity-setting-registry.ts @@ -1,5 +1,5 @@ import type React from "react"; -import { CatalogEntity } from "../../common/catalog-entity"; +import { CatalogEntity } from "../../common/catalog"; import { BaseRegistry } from "./base-registry"; export interface EntitySettingViewProps { diff --git a/src/main/catalog-pusher.ts b/src/main/catalog-pusher.ts index ffe8cc17d0..73b9b9d580 100644 --- a/src/main/catalog-pusher.ts +++ b/src/main/catalog-pusher.ts @@ -1,6 +1,6 @@ import { autorun, toJS } from "mobx"; import { broadcastMessage, subscribeToBroadcast, unsubscribeFromBroadcast } from "../common/ipc"; -import { CatalogEntityRegistry} from "../common/catalog-entity-registry"; +import { CatalogEntityRegistry} from "../common/catalog"; import "../common/catalog-entities/kubernetes-cluster"; export class CatalogPusher { diff --git a/src/main/cluster-manager.ts b/src/main/cluster-manager.ts index 0a413584f8..c1485881e4 100644 --- a/src/main/cluster-manager.ts +++ b/src/main/cluster-manager.ts @@ -7,9 +7,8 @@ import { Cluster } from "./cluster"; import logger from "./logger"; import { apiKubePrefix } from "../common/vars"; import { Singleton } from "../common/utils"; -import { CatalogEntity } from "../common/catalog-entity"; +import { CatalogEntity, catalogEntityRegistry } from "../common/catalog"; import { KubernetesCluster } from "../common/catalog-entities/kubernetes-cluster"; -import { catalogEntityRegistry } from "../common/catalog-entity-registry"; const clusterOwnerRef = "ClusterManager"; diff --git a/src/main/index.ts b/src/main/index.ts index 9a2b97234e..42f965fe89 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -30,7 +30,7 @@ import { bindBroadcastHandlers } from "../common/ipc"; import { startUpdateChecking } from "./app-updater"; import { IpcRendererNavigationEvents } from "../renderer/navigation/events"; import { CatalogPusher } from "./catalog-pusher"; -import { catalogEntityRegistry } from "../common/catalog-entity-registry"; +import { catalogEntityRegistry } from "../common/catalog"; import { HotbarStore } from "../common/hotbar-store"; import { HelmRepoManager } from "./helm/helm-repo-manager"; diff --git a/src/renderer/api/__tests__/catalog-entity-registry.test.ts b/src/renderer/api/__tests__/catalog-entity-registry.test.ts index 2b36086856..e7c14f587c 100644 --- a/src/renderer/api/__tests__/catalog-entity-registry.test.ts +++ b/src/renderer/api/__tests__/catalog-entity-registry.test.ts @@ -1,6 +1,6 @@ import { CatalogEntityRegistry } from "../catalog-entity-registry"; import "../../../common/catalog-entities"; -import { catalogCategoryRegistry } from "../../../common/catalog-category-registry"; +import { catalogCategoryRegistry } from "../../../common/catalog/catalog-category-registry"; describe("CatalogEntityRegistry", () => { describe("updateItems", () => { diff --git a/src/renderer/api/catalog-category-registry.ts b/src/renderer/api/catalog-category-registry.ts index 2e80789851..9ebeb6e9ea 100644 --- a/src/renderer/api/catalog-category-registry.ts +++ b/src/renderer/api/catalog-category-registry.ts @@ -1 +1 @@ -export { catalogCategoryRegistry } from "../../common/catalog-category-registry"; +export { catalogCategoryRegistry } from "../../common/catalog"; diff --git a/src/renderer/api/catalog-entity-registry.ts b/src/renderer/api/catalog-entity-registry.ts index 12450023ee..ea0537bda3 100644 --- a/src/renderer/api/catalog-entity-registry.ts +++ b/src/renderer/api/catalog-entity-registry.ts @@ -1,7 +1,6 @@ import { action, observable } from "mobx"; import { broadcastMessage, subscribeToBroadcast } from "../../common/ipc"; -import { CatalogCategory, CatalogEntity, CatalogEntityData } from "../../common/catalog-entity"; -import { catalogCategoryRegistry, CatalogCategoryRegistry } from "../../common/catalog-category-registry"; +import { CatalogCategory, CatalogEntity, CatalogEntityData, catalogCategoryRegistry, CatalogCategoryRegistry, CatalogEntityKindData } from "../../common/catalog"; import "../../common/catalog-entities"; export class CatalogEntityRegistry { @@ -10,13 +9,13 @@ export class CatalogEntityRegistry { constructor(private categoryRegistry: CatalogCategoryRegistry) {} init() { - subscribeToBroadcast("catalog:items", (ev, items: CatalogEntityData[]) => { + subscribeToBroadcast("catalog:items", (ev, items: (CatalogEntityData & CatalogEntityKindData)[]) => { this.updateItems(items); }); broadcastMessage("catalog:broadcast"); } - @action updateItems(items: CatalogEntityData[]) { + @action updateItems(items: (CatalogEntityData & CatalogEntityKindData)[]) { this._items.forEach((item, index) => { const foundIndex = items.findIndex((i) => i.apiVersion === item.apiVersion && i.kind === item.kind && i.metadata.uid === item.metadata.uid); diff --git a/src/renderer/api/catalog-entity.ts b/src/renderer/api/catalog-entity.ts index ad82af10e6..705baebf36 100644 --- a/src/renderer/api/catalog-entity.ts +++ b/src/renderer/api/catalog-entity.ts @@ -1,16 +1,17 @@ import { navigate } from "../navigation"; import { commandRegistry } from "../../extensions/registries"; -import { CatalogEntity } from "../../common/catalog-entity"; +import { CatalogEntity } from "../../common/catalog"; export { CatalogCategory, CatalogEntity, CatalogEntityData, + CatalogEntityKindData, CatalogEntityActionContext, CatalogEntityAddMenuContext, CatalogEntityContextMenu, CatalogEntityContextMenuContext -} from "../../common/catalog-entity"; +} from "../../common/catalog"; export const catalogEntityRunContext = { navigate: (url: string) => navigate(url), diff --git a/src/renderer/components/+catalog/catalog-entity.store.ts b/src/renderer/components/+catalog/catalog-entity.store.ts index 2e0e034743..5a9652eb4f 100644 --- a/src/renderer/components/+catalog/catalog-entity.store.ts +++ b/src/renderer/components/+catalog/catalog-entity.store.ts @@ -3,7 +3,7 @@ import { catalogEntityRegistry } from "../../api/catalog-entity-registry"; import { CatalogEntity, CatalogEntityActionContext } from "../../api/catalog-entity"; import { ItemObject, ItemStore } from "../../item.store"; import { autobind } from "../../utils"; -import { CatalogCategory } from "../../../common/catalog-entity"; +import { CatalogCategory } from "../../../common/catalog"; export class CatalogEntityItem implements ItemObject { constructor(public entity: CatalogEntity) {} diff --git a/src/renderer/components/+catalog/catalog.tsx b/src/renderer/components/+catalog/catalog.tsx index d5b4216ab0..54e6cc21f2 100644 --- a/src/renderer/components/+catalog/catalog.tsx +++ b/src/renderer/components/+catalog/catalog.tsx @@ -16,7 +16,7 @@ import { autobind } from "../../utils"; import { Notifications } from "../notifications"; import { ConfirmDialog } from "../confirm-dialog"; import { Tab, Tabs } from "../tabs"; -import { catalogCategoryRegistry } from "../../../common/catalog-category-registry"; +import { catalogCategoryRegistry } from "../../../common/catalog"; import { CatalogAddButton } from "./catalog-add-button"; enum sortBy { diff --git a/src/renderer/components/hotbar/hotbar-icon.tsx b/src/renderer/components/hotbar/hotbar-icon.tsx index f8bc473e23..91e8685642 100644 --- a/src/renderer/components/hotbar/hotbar-icon.tsx +++ b/src/renderer/components/hotbar/hotbar-icon.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; import { cssNames, IClassName } from "../../utils"; import { Tooltip } from "../tooltip"; import { Avatar } from "@material-ui/core"; -import { CatalogEntity, CatalogEntityContextMenu, CatalogEntityContextMenuContext } from "../../../common/catalog-entity"; +import { CatalogEntity, CatalogEntityContextMenu, CatalogEntityContextMenuContext } from "../../../common/catalog"; import { Menu, MenuItem } from "../menu"; import { Icon } from "../icon"; import { observable } from "mobx";