From 64991721a9f82682faf564bddb407d49db6a5b9b Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Mon, 23 Nov 2020 08:37:50 -0500 Subject: [PATCH] undo unrelated changes Signed-off-by: Sebastian Malton --- src/common/utils/index.ts | 2 -- src/extensions/registries/base-registry.ts | 12 +++++------ .../registries/kube-object-detail-registry.ts | 13 ++++++++---- .../registries/kube-object-menu-registry.ts | 5 +++-- .../registries/kube-object-status-registry.ts | 5 +++-- .../registries/page-menu-registry.ts | 20 +++++++++++++++---- src/extensions/registries/page-registry.ts | 14 +++++-------- 7 files changed, 42 insertions(+), 29 deletions(-) diff --git a/src/common/utils/index.ts b/src/common/utils/index.ts index 6b2a8ff0a9..e43863284d 100644 --- a/src/common/utils/index.ts +++ b/src/common/utils/index.ts @@ -1,7 +1,5 @@ // Common utils (main OR renderer) -export const noop: any = () => { /* */ }; - export * from "./app-version"; export * from "./autobind"; export * from "./base64"; diff --git a/src/extensions/registries/base-registry.ts b/src/extensions/registries/base-registry.ts index f274aa7dd8..73dbd373f0 100644 --- a/src/extensions/registries/base-registry.ts +++ b/src/extensions/registries/base-registry.ts @@ -2,19 +2,19 @@ import { action, observable } from "mobx"; import { LensExtension } from "../lens-extension"; -export class BaseRegistry { +export class BaseRegistry { private items = observable([], { deep: false }); - getItems(): T[] { - return this.items.toJS(); + getItems(): I[] { + return this.items.toJS() as I[]; } add(items: T | T[], ext?: LensExtension): () => void; // allow method overloading with required "ext" @action add(items: T | T[]) { - const itemArray: T[] = Array.isArray(items) ? items : [items]; - this.items.push(...itemArray); - return () => this.remove(...itemArray); + const normalizedItems = (Array.isArray(items) ? items : [items]); + this.items.push(...normalizedItems); + return () => this.remove(...normalizedItems); } @action diff --git a/src/extensions/registries/kube-object-detail-registry.ts b/src/extensions/registries/kube-object-detail-registry.ts index def2486d15..2638e82ade 100644 --- a/src/extensions/registries/kube-object-detail-registry.ts +++ b/src/extensions/registries/kube-object-detail-registry.ts @@ -14,10 +14,15 @@ export interface KubeObjectDetailRegistration { export class KubeObjectDetailRegistry extends BaseRegistry { getItemsForKind(kind: string, apiVersion: string) { - return this.getItems() - .filter(item => item.kind === kind && item.apiVersions.includes(apiVersion)) - .map(item => (item.priority ??= 50, item)) - .sort((a, b) => b.priority - a.priority); + const items = this.getItems().filter((item) => { + return item.kind === kind && item.apiVersions.includes(apiVersion); + }).map((item) => { + if (item.priority === null) { + item.priority = 50; + } + return item; + }); + return items.sort((a, b) => b.priority - a.priority); } } diff --git a/src/extensions/registries/kube-object-menu-registry.ts b/src/extensions/registries/kube-object-menu-registry.ts index cfcca2757e..25901f66ad 100644 --- a/src/extensions/registries/kube-object-menu-registry.ts +++ b/src/extensions/registries/kube-object-menu-registry.ts @@ -13,8 +13,9 @@ export interface KubeObjectMenuRegistration { export class KubeObjectMenuRegistry extends BaseRegistry { getItemsForKind(kind: string, apiVersion: string) { - return this.getItems() - .filter(item => item.kind === kind && item.apiVersions.includes(apiVersion)); + return this.getItems().filter((item) => { + return item.kind === kind && item.apiVersions.includes(apiVersion); + }); } } diff --git a/src/extensions/registries/kube-object-status-registry.ts b/src/extensions/registries/kube-object-status-registry.ts index d310e43c00..5f7aab8d5d 100644 --- a/src/extensions/registries/kube-object-status-registry.ts +++ b/src/extensions/registries/kube-object-status-registry.ts @@ -9,8 +9,9 @@ export interface KubeObjectStatusRegistration { export class KubeObjectStatusRegistry extends BaseRegistry { getItemsForKind(kind: string, apiVersion: string) { - return this.getItems() - .filter(item => item.kind === kind && item.apiVersions.includes(apiVersion)); + return this.getItems().filter((item) => { + return item.kind === kind && item.apiVersions.includes(apiVersion); + }); } } diff --git a/src/extensions/registries/page-menu-registry.ts b/src/extensions/registries/page-menu-registry.ts index cf64214763..53131f507b 100644 --- a/src/extensions/registries/page-menu-registry.ts +++ b/src/extensions/registries/page-menu-registry.ts @@ -30,16 +30,28 @@ export interface PageMenuComponents { export class GlobalPageMenuRegistry extends BaseRegistry { @action add(items: PageMenuRegistration[], ext: LensExtension) { - const norm = items.map(item => ((item.target ??= {}).extensionId = ext.name, item)); - return super.add(norm); + const normalizedItems = items.map(menuItem => { + menuItem.target = { + extensionId: ext.name, + ...(menuItem.target || {}), + }; + return menuItem; + }); + return super.add(normalizedItems); } } export class ClusterPageMenuRegistry extends BaseRegistry { @action add(items: PageMenuRegistration[], ext: LensExtension) { - const norm = items.map(item => ((item.target ??= {}).extensionId = ext.name, item)); - return super.add(norm); + const normalizedItems = items.map(menuItem => { + menuItem.target = { + extensionId: ext.name, + ...(menuItem.target || {}), + }; + return menuItem; + }); + return super.add(normalizedItems); } getRootItems() { diff --git a/src/extensions/registries/page-registry.ts b/src/extensions/registries/page-registry.ts index 6b793ed233..4b9c872715 100644 --- a/src/extensions/registries/page-registry.ts +++ b/src/extensions/registries/page-registry.ts @@ -7,7 +7,6 @@ import { compile } from "path-to-regexp"; import { BaseRegistry } from "./base-registry"; import { LensExtension } from "../lens-extension"; import logger from "../../main/logger"; -import { noop } from "../../common/utils"; export interface PageRegistration { /** @@ -60,27 +59,24 @@ export function getExtensionPageUrl

({ extensionId, pageId = "" return extPageRoutePath; } -export class PageRegistry extends BaseRegistry { +export class PageRegistry extends BaseRegistry { @action - add(items: PageRegistration | PageRegistration[], ext: LensExtension) { - const itemArray = Array.isArray(items) ? items : [items]; + add(items: PageRegistration[], ext: LensExtension) { + let registeredPages: RegisteredPage[] = []; try { - const pages = itemArray.map(page => ({ + registeredPages = items.map(page => ({ ...page, extensionId: ext.name, routePath: getExtensionPageUrl({ extensionId: ext.name, pageId: page.id ?? page.routePath }), })); - - return super.add(pages); } catch (err) { logger.error(`[EXTENSION]: page-registration failed`, { items, extension: ext, error: String(err), }); - - return noop; } + return super.add(registeredPages); } getUrl

({ extensionId, id: pageId }: RegisteredPage, params?: P) {