mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Use randomId while creating pod logs tab
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
parent
a191a46e4b
commit
454c4b2aaa
@ -6,20 +6,21 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import type { DockTabCreate, DockTab, TabId } from "../dock/store";
|
import type { DockTabCreate, DockTab, TabId } from "../dock/store";
|
||||||
import { TabKind } from "../dock/store";
|
import { TabKind } from "../dock/store";
|
||||||
import type { LogTabData } from "./tab-store";
|
import type { LogTabData } from "./tab-store";
|
||||||
import * as uuid from "uuid";
|
|
||||||
import { runInAction } from "mobx";
|
import { runInAction } from "mobx";
|
||||||
import createDockTabInjectable from "../dock/create-dock-tab.injectable";
|
import createDockTabInjectable from "../dock/create-dock-tab.injectable";
|
||||||
import setLogTabDataInjectable from "./set-log-tab-data.injectable";
|
import setLogTabDataInjectable from "./set-log-tab-data.injectable";
|
||||||
|
import getRandomIdForPodLogsTabInjectable from "./get-random-id-for-pod-logs-tab.injectable";
|
||||||
|
|
||||||
export type CreateLogsTabData = Pick<LogTabData, "owner" | "selectedPodId" | "selectedContainer" | "namespace"> & Omit<Partial<LogTabData>, "owner" | "selectedPodId" | "selectedContainer" | "namespace">;
|
export type CreateLogsTabData = Pick<LogTabData, "owner" | "selectedPodId" | "selectedContainer" | "namespace"> & Omit<Partial<LogTabData>, "owner" | "selectedPodId" | "selectedContainer" | "namespace">;
|
||||||
|
|
||||||
interface Dependencies {
|
interface Dependencies {
|
||||||
createDockTab: (rawTabDesc: DockTabCreate, addNumber?: boolean) => DockTab;
|
createDockTab: (rawTabDesc: DockTabCreate, addNumber?: boolean) => DockTab;
|
||||||
setLogTabData: (tabId: string, data: LogTabData) => void;
|
setLogTabData: (tabId: string, data: LogTabData) => void;
|
||||||
|
getRandomId: () => string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const createLogsTab = ({ createDockTab, setLogTabData }: Dependencies) => (title: string, data: CreateLogsTabData): TabId => {
|
const createLogsTab = ({ createDockTab, setLogTabData, getRandomId }: Dependencies) => (title: string, data: CreateLogsTabData): TabId => {
|
||||||
const id = `log-tab-${uuid.v4()}`;
|
const id = `log-tab-${getRandomId()}`;
|
||||||
|
|
||||||
runInAction(() => {
|
runInAction(() => {
|
||||||
createDockTab({
|
createDockTab({
|
||||||
@ -43,6 +44,7 @@ const createLogsTabInjectable = getInjectable({
|
|||||||
instantiate: (di) => createLogsTab({
|
instantiate: (di) => createLogsTab({
|
||||||
createDockTab: di.inject(createDockTabInjectable),
|
createDockTab: di.inject(createDockTabInjectable),
|
||||||
setLogTabData: di.inject(setLogTabDataInjectable),
|
setLogTabData: di.inject(setLogTabDataInjectable),
|
||||||
|
getRandomId: di.inject(getRandomIdForPodLogsTabInjectable),
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
Loading…
Reference in New Issue
Block a user