1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Fix injecting before app paths are set up

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2022-12-05 13:39:54 -05:00
parent 26af59ad64
commit 8ad761b045

View File

@ -8,74 +8,75 @@ import navigateToAddClusterInjectable from "../../../common/front-end-routing/ro
import isLinuxInjectable from "../../../common/vars/is-linux.injectable"; import isLinuxInjectable from "../../../common/vars/is-linux.injectable";
import isWindowsInjectable from "../../../common/vars/is-windows.injectable"; import isWindowsInjectable from "../../../common/vars/is-windows.injectable";
import openPathPickingDialogInjectable from "../../../features/path-picking-dialog/renderer/pick-paths.injectable"; import openPathPickingDialogInjectable from "../../../features/path-picking-dialog/renderer/pick-paths.injectable";
import setupAppPathsInjectable from "../../app-paths/setup-app-paths.injectable";
import addSyncEntriesInjectable from "../../initializers/add-sync-entries.injectable"; import addSyncEntriesInjectable from "../../initializers/add-sync-entries.injectable";
import { beforeFrameStartsInjectionToken } from "../tokens"; import { beforeFrameStartsInjectionToken } from "../tokens";
const setupKubernetesClusterCatalogAddMenuListenerInjectable = getInjectable({ const setupKubernetesClusterCatalogAddMenuListenerInjectable = getInjectable({
id: "setup-kubernetes-cluster-catalog-add-menu-listener", id: "setup-kubernetes-cluster-catalog-add-menu-listener",
instantiate: (di) => { instantiate: (di) => ({
const navigateToAddCluster = di.inject(navigateToAddClusterInjectable); id: "setup-kubernetes-cluster-catalog-add-menu-listener",
const addSyncEntries = di.inject(addSyncEntriesInjectable); run: () => {
const kubernetesClusterCategory = di.inject(kubernetesClusterCategoryInjectable); // NOTE: these have to be here so that they are initialized only after the `runAfter` is ran
const isWindows = di.inject(isWindowsInjectable); const navigateToAddCluster = di.inject(navigateToAddClusterInjectable);
const isLinux = di.inject(isLinuxInjectable); const addSyncEntries = di.inject(addSyncEntriesInjectable);
const openPathPickingDialog = di.inject(openPathPickingDialogInjectable); const kubernetesClusterCategory = di.inject(kubernetesClusterCategoryInjectable);
const isWindows = di.inject(isWindowsInjectable);
const isLinux = di.inject(isLinuxInjectable);
const openPathPickingDialog = di.inject(openPathPickingDialogInjectable);
return { kubernetesClusterCategory.on("catalogAddMenu", ctx => {
id: "setup-kubernetes-cluster-catalog-add-menu-listener", ctx.menuItems.push(
run: () => { {
kubernetesClusterCategory.on("catalogAddMenu", ctx => { icon: "text_snippet",
title: "Add from kubeconfig",
onClick: navigateToAddCluster,
},
);
if (isWindows || isLinux) {
ctx.menuItems.push( ctx.menuItems.push(
{ {
icon: "text_snippet", icon: "create_new_folder",
title: "Add from kubeconfig", title: "Sync kubeconfig folder(s)",
onClick: navigateToAddCluster, defaultAction: true,
onClick: () => openPathPickingDialog({
label: "Sync folder(s)",
buttonLabel: "Sync",
properties: ["showHiddenFiles", "multiSelections", "openDirectory"],
onPick: addSyncEntries,
}),
},
{
icon: "note_add",
title: "Sync kubeconfig file(s)",
onClick: () => openPathPickingDialog({
label: "Sync file(s)",
buttonLabel: "Sync",
properties: ["showHiddenFiles", "multiSelections", "openFile"],
onPick: addSyncEntries,
}),
}, },
); );
} else {
if (isWindows || isLinux) { ctx.menuItems.push(
ctx.menuItems.push( {
{ icon: "create_new_folder",
icon: "create_new_folder", title: "Sync kubeconfig(s)",
title: "Sync kubeconfig folder(s)", defaultAction: true,
defaultAction: true, onClick: () => openPathPickingDialog({
onClick: () => openPathPickingDialog({ label: "Sync file(s)",
label: "Sync folder(s)", buttonLabel: "Sync",
buttonLabel: "Sync", properties: ["showHiddenFiles", "multiSelections", "openFile", "openDirectory"],
properties: ["showHiddenFiles", "multiSelections", "openDirectory"], onPick: addSyncEntries,
onPick: addSyncEntries, }),
}), },
}, );
{ }
icon: "note_add", });
title: "Sync kubeconfig file(s)", },
onClick: () => openPathPickingDialog({ runAfter: di.inject(setupAppPathsInjectable),
label: "Sync file(s)", }),
buttonLabel: "Sync",
properties: ["showHiddenFiles", "multiSelections", "openFile"],
onPick: addSyncEntries,
}),
},
);
} else {
ctx.menuItems.push(
{
icon: "create_new_folder",
title: "Sync kubeconfig(s)",
defaultAction: true,
onClick: () => openPathPickingDialog({
label: "Sync file(s)",
buttonLabel: "Sync",
properties: ["showHiddenFiles", "multiSelections", "openFile", "openDirectory"],
onPick: addSyncEntries,
}),
},
);
}
});
},
};
},
injectionToken: beforeFrameStartsInjectionToken, injectionToken: beforeFrameStartsInjectionToken,
}); });