From 454c4b2aaa0c938ffd14fa8145d3a49826c166e7 Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Mon, 1 Aug 2022 13:23:53 +0300 Subject: [PATCH] Use randomId while creating pod logs tab Signed-off-by: Alex Andreev --- .../dock/logs/create-logs-tab.injectable.ts | 8 +++++--- .../get-random-id-for-pod-logs-tab.injectable.ts | 13 +++++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 src/renderer/components/dock/logs/get-random-id-for-pod-logs-tab.injectable.ts diff --git a/src/renderer/components/dock/logs/create-logs-tab.injectable.ts b/src/renderer/components/dock/logs/create-logs-tab.injectable.ts index 47cef1dd95..44e3e8a0ec 100644 --- a/src/renderer/components/dock/logs/create-logs-tab.injectable.ts +++ b/src/renderer/components/dock/logs/create-logs-tab.injectable.ts @@ -6,20 +6,21 @@ import { getInjectable } from "@ogre-tools/injectable"; import type { DockTabCreate, DockTab, TabId } from "../dock/store"; import { TabKind } from "../dock/store"; import type { LogTabData } from "./tab-store"; -import * as uuid from "uuid"; import { runInAction } from "mobx"; import createDockTabInjectable from "../dock/create-dock-tab.injectable"; import setLogTabDataInjectable from "./set-log-tab-data.injectable"; +import getRandomIdForPodLogsTabInjectable from "./get-random-id-for-pod-logs-tab.injectable"; export type CreateLogsTabData = Pick & Omit, "owner" | "selectedPodId" | "selectedContainer" | "namespace">; interface Dependencies { createDockTab: (rawTabDesc: DockTabCreate, addNumber?: boolean) => DockTab; setLogTabData: (tabId: string, data: LogTabData) => void; + getRandomId: () => string; } -const createLogsTab = ({ createDockTab, setLogTabData }: Dependencies) => (title: string, data: CreateLogsTabData): TabId => { - const id = `log-tab-${uuid.v4()}`; +const createLogsTab = ({ createDockTab, setLogTabData, getRandomId }: Dependencies) => (title: string, data: CreateLogsTabData): TabId => { + const id = `log-tab-${getRandomId()}`; runInAction(() => { createDockTab({ @@ -43,6 +44,7 @@ const createLogsTabInjectable = getInjectable({ instantiate: (di) => createLogsTab({ createDockTab: di.inject(createDockTabInjectable), setLogTabData: di.inject(setLogTabDataInjectable), + getRandomId: di.inject(getRandomIdForPodLogsTabInjectable), }), }); diff --git a/src/renderer/components/dock/logs/get-random-id-for-pod-logs-tab.injectable.ts b/src/renderer/components/dock/logs/get-random-id-for-pod-logs-tab.injectable.ts new file mode 100644 index 0000000000..1dcadcf293 --- /dev/null +++ b/src/renderer/components/dock/logs/get-random-id-for-pod-logs-tab.injectable.ts @@ -0,0 +1,13 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { getInjectable } from "@ogre-tools/injectable"; +import getRandomIdInjectable from "../../../../common/utils/get-random-id.injectable"; + +const getRandomIdForPodLogsTabInjectable = getInjectable({ + id: "get-random-id-for-pod-logs-tab", + instantiate: (di) => di.inject(getRandomIdInjectable), +}); + +export default getRandomIdForPodLogsTabInjectable;