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:
parent
26af59ad64
commit
8ad761b045
@ -8,74 +8,75 @@ import navigateToAddClusterInjectable from "../../../common/front-end-routing/ro
|
||||
import isLinuxInjectable from "../../../common/vars/is-linux.injectable";
|
||||
import isWindowsInjectable from "../../../common/vars/is-windows.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 { beforeFrameStartsInjectionToken } from "../tokens";
|
||||
|
||||
const setupKubernetesClusterCatalogAddMenuListenerInjectable = getInjectable({
|
||||
id: "setup-kubernetes-cluster-catalog-add-menu-listener",
|
||||
instantiate: (di) => {
|
||||
const navigateToAddCluster = di.inject(navigateToAddClusterInjectable);
|
||||
const addSyncEntries = di.inject(addSyncEntriesInjectable);
|
||||
const kubernetesClusterCategory = di.inject(kubernetesClusterCategoryInjectable);
|
||||
const isWindows = di.inject(isWindowsInjectable);
|
||||
const isLinux = di.inject(isLinuxInjectable);
|
||||
const openPathPickingDialog = di.inject(openPathPickingDialogInjectable);
|
||||
instantiate: (di) => ({
|
||||
id: "setup-kubernetes-cluster-catalog-add-menu-listener",
|
||||
run: () => {
|
||||
// NOTE: these have to be here so that they are initialized only after the `runAfter` is ran
|
||||
const navigateToAddCluster = di.inject(navigateToAddClusterInjectable);
|
||||
const addSyncEntries = di.inject(addSyncEntriesInjectable);
|
||||
const kubernetesClusterCategory = di.inject(kubernetesClusterCategoryInjectable);
|
||||
const isWindows = di.inject(isWindowsInjectable);
|
||||
const isLinux = di.inject(isLinuxInjectable);
|
||||
const openPathPickingDialog = di.inject(openPathPickingDialogInjectable);
|
||||
|
||||
return {
|
||||
id: "setup-kubernetes-cluster-catalog-add-menu-listener",
|
||||
run: () => {
|
||||
kubernetesClusterCategory.on("catalogAddMenu", ctx => {
|
||||
kubernetesClusterCategory.on("catalogAddMenu", ctx => {
|
||||
ctx.menuItems.push(
|
||||
{
|
||||
icon: "text_snippet",
|
||||
title: "Add from kubeconfig",
|
||||
onClick: navigateToAddCluster,
|
||||
},
|
||||
);
|
||||
|
||||
if (isWindows || isLinux) {
|
||||
ctx.menuItems.push(
|
||||
{
|
||||
icon: "text_snippet",
|
||||
title: "Add from kubeconfig",
|
||||
onClick: navigateToAddCluster,
|
||||
icon: "create_new_folder",
|
||||
title: "Sync kubeconfig folder(s)",
|
||||
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,
|
||||
}),
|
||||
},
|
||||
);
|
||||
|
||||
if (isWindows || isLinux) {
|
||||
ctx.menuItems.push(
|
||||
{
|
||||
icon: "create_new_folder",
|
||||
title: "Sync kubeconfig folder(s)",
|
||||
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 {
|
||||
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,
|
||||
}),
|
||||
},
|
||||
);
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
||||
},
|
||||
} 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,
|
||||
}),
|
||||
},
|
||||
);
|
||||
}
|
||||
});
|
||||
},
|
||||
runAfter: di.inject(setupAppPathsInjectable),
|
||||
}),
|
||||
injectionToken: beforeFrameStartsInjectionToken,
|
||||
});
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user