From 3f42f7399491fa032ed3d6a359f21c6c4ab69215 Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Wed, 12 Oct 2022 11:09:13 +0300 Subject: [PATCH] Passing id to status-bar-items Signed-off-by: Alex Andreev --- .../status-bar-item-injection-token.ts | 1 + .../status-bar-item-registrator.injectable.tsx | 1 + .../status-bar/status-bar-items.injectable.tsx | 16 ++++++++++++---- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/renderer/components/status-bar/status-bar-item-injection-token.ts b/src/renderer/components/status-bar/status-bar-item-injection-token.ts index 0fec934077..78b3861a06 100644 --- a/src/renderer/components/status-bar/status-bar-item-injection-token.ts +++ b/src/renderer/components/status-bar/status-bar-item-injection-token.ts @@ -7,6 +7,7 @@ import type { IComputedValue } from "mobx"; import type React from "react"; export interface StatusBarItem { + id?: string; component: React.ComponentType; position: "left" | "right"; visible: IComputedValue; diff --git a/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx b/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx index 71293126f7..373e8df30e 100644 --- a/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx +++ b/src/renderer/components/status-bar/status-bar-item-registrator.injectable.tsx @@ -74,6 +74,7 @@ const toItemInjectableFor = (extension: LensRendererExtension, getRandomId: () = id, instantiate: () => ({ + id: extension.sanitizedExtensionId, component, position, visible: visible ?? computed(() => true), diff --git a/src/renderer/components/status-bar/status-bar-items.injectable.tsx b/src/renderer/components/status-bar/status-bar-items.injectable.tsx index 855b8654c9..f983d9738c 100644 --- a/src/renderer/components/status-bar/status-bar-items.injectable.tsx +++ b/src/renderer/components/status-bar/status-bar-items.injectable.tsx @@ -10,9 +10,14 @@ import type { StatusBarItem } from "./status-bar-item-injection-token"; import { statusBarItemInjectionToken } from "./status-bar-item-injection-token"; import { computedInjectManyInjectable } from "@ogre-tools/injectable-extension-for-mobx"; +interface StatusItem { + id?: string, + component: React.ComponentType +} + export interface StatusBarItems { - right: React.ComponentType[]; - left: React.ComponentType[]; + right: StatusItem[]; + left: StatusItem[]; } interface Dependencies { @@ -27,13 +32,16 @@ function getStatusBarItems({ registrations }: Dependencies): IComputedValue