diff --git a/src/common/catalog/catalog-entity.ts b/src/common/catalog/catalog-entity.ts index 6262e3df54..e632deef37 100644 --- a/src/common/catalog/catalog-entity.ts +++ b/src/common/catalog/catalog-entity.ts @@ -20,7 +20,7 @@ */ import EventEmitter from "events"; -import TypedEmitter from "typed-emitter"; +import type TypedEmitter from "typed-emitter"; import { observable } from "mobx"; type ExtractEntityMetadataType = Entity extends CatalogEntity ? Metadata : never; @@ -66,18 +66,6 @@ export abstract class CatalogCategory extends (EventEmitter as new () => TypedEm public getId(): string { return `${this.spec.group}/${this.spec.names.kind}`; } - - public async onLoad(): Promise { - for( const listener of this.listeners("onLoad")) { - await listener(); - } - } - - public async onCatalogAddMenu(context: CatalogEntityAddMenuContext): Promise { - for( const listener of this.listeners("onCatalogAddMenu")) { - await listener(context); - } - } } export interface CatalogEntityMetadata { diff --git a/src/renderer/components/+catalog/catalog-add-button.tsx b/src/renderer/components/+catalog/catalog-add-button.tsx index ea55704b41..af6b3ebbbb 100644 --- a/src/renderer/components/+catalog/catalog-add-button.tsx +++ b/src/renderer/components/+catalog/catalog-add-button.tsx @@ -50,7 +50,7 @@ export class CatalogAddButton extends React.Component { menuItems: this.menuItems }; - category.onCatalogAddMenu(context); + category.emit("onCatalogAddMenu", context); } }, { fireImmediately: true }) ]); diff --git a/src/renderer/components/+catalog/catalog-entity.store.ts b/src/renderer/components/+catalog/catalog-entity.store.ts index 5a50ec4119..db596fe937 100644 --- a/src/renderer/components/+catalog/catalog-entity.store.ts +++ b/src/renderer/components/+catalog/catalog-entity.store.ts @@ -98,19 +98,19 @@ export class CatalogEntityStore extends ItemStore { watch() { const disposers: IReactionDisposer[] = [ - reaction(() => this.entities, async () => await this.loadAll()), + reaction(() => this.entities, () => this.loadAll()), reaction(() => this.activeCategory, () => this.loadAll(), { delay: 100}) ]; return () => disposers.forEach((dispose) => dispose()); } - async loadAll() { + loadAll() { if (this.activeCategory) { - await this.activeCategory.onLoad(); + this.activeCategory.emit("onLoad"); } else { for (const category of catalogCategoryRegistry.items) { - await category.onLoad(); + category.emit("onLoad"); } }