mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
handle navigation from main-extension's menu (Help -> Support)
Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
parent
6572fad1c8
commit
a868a98c55
@ -1,4 +1,4 @@
|
|||||||
import { LensMainExtension, Registry } from "@k8slens/extensions";
|
import { LensMainExtension, Registry, windowManager } from "@k8slens/extensions";
|
||||||
import { supportPageURL } from "./src/support.route";
|
import { supportPageURL } from "./src/support.route";
|
||||||
|
|
||||||
export default class SupportPageMainExtension extends LensMainExtension {
|
export default class SupportPageMainExtension extends LensMainExtension {
|
||||||
@ -11,9 +11,11 @@ export default class SupportPageMainExtension extends LensMainExtension {
|
|||||||
registry.add({
|
registry.add({
|
||||||
parentId: "help",
|
parentId: "help",
|
||||||
label: "Support",
|
label: "Support",
|
||||||
async click() {
|
click() {
|
||||||
// fixme: require runtime windowManager (ensureMainWindow + navigate for main)
|
windowManager.navigate({
|
||||||
console.log(`navigate: ${supportPageURL()}`);
|
channel: "menu:navigate", // fixme: use windowManager.ensureMainWindow from Tray's PR
|
||||||
|
url: supportPageURL(),
|
||||||
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|||||||
@ -2,6 +2,8 @@
|
|||||||
export * from "../lens-main-extension"
|
export * from "../lens-main-extension"
|
||||||
export * from "../lens-renderer-extension"
|
export * from "../lens-renderer-extension"
|
||||||
|
|
||||||
|
import type { WindowManager } from "../../main/window-manager";
|
||||||
|
|
||||||
// APIs
|
// APIs
|
||||||
import * as EventBus from "./event-bus"
|
import * as EventBus from "./event-bus"
|
||||||
import * as Store from "./stores"
|
import * as Store from "./stores"
|
||||||
@ -9,6 +11,8 @@ import * as Util from "./utils"
|
|||||||
import * as Registry from "../registries"
|
import * as Registry from "../registries"
|
||||||
import * as CommonVars from "../../common/vars";
|
import * as CommonVars from "../../common/vars";
|
||||||
|
|
||||||
|
export let windowManager: WindowManager;
|
||||||
|
|
||||||
export {
|
export {
|
||||||
EventBus,
|
EventBus,
|
||||||
Store,
|
Store,
|
||||||
|
|||||||
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
import "../common/system-ca"
|
import "../common/system-ca"
|
||||||
import "../common/prometheus-providers"
|
import "../common/prometheus-providers"
|
||||||
|
import * as Mobx from "mobx"
|
||||||
|
import * as LensExtensions from "../extensions/core-api";
|
||||||
import { app, dialog } from "electron"
|
import { app, dialog } from "electron"
|
||||||
import { appName } from "../common/vars";
|
import { appName } from "../common/vars";
|
||||||
import path from "path"
|
import path from "path"
|
||||||
@ -17,16 +19,9 @@ import { clusterStore } from "../common/cluster-store"
|
|||||||
import { userStore } from "../common/user-store";
|
import { userStore } from "../common/user-store";
|
||||||
import { workspaceStore } from "../common/workspace-store";
|
import { workspaceStore } from "../common/workspace-store";
|
||||||
import { appEventBus } from "../common/event-bus"
|
import { appEventBus } from "../common/event-bus"
|
||||||
import * as LensExtensions from "../extensions/core-api";
|
|
||||||
import { extensionManager } from "../extensions/extension-manager";
|
import { extensionManager } from "../extensions/extension-manager";
|
||||||
import { extensionLoader } from "../extensions/extension-loader";
|
import { extensionLoader } from "../extensions/extension-loader";
|
||||||
import logger from "./logger"
|
import logger from "./logger"
|
||||||
import * as Mobx from "mobx"
|
|
||||||
|
|
||||||
export {
|
|
||||||
LensExtensions,
|
|
||||||
Mobx
|
|
||||||
}
|
|
||||||
|
|
||||||
const workingDir = path.join(app.getPath("appData"), appName);
|
const workingDir = path.join(app.getPath("appData"), appName);
|
||||||
app.setName(appName);
|
app.setName(appName);
|
||||||
@ -34,7 +29,6 @@ if (!process.env.CICD) {
|
|||||||
app.setPath("userData", workingDir);
|
app.setPath("userData", workingDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
let windowManager: WindowManager;
|
|
||||||
let clusterManager: ClusterManager;
|
let clusterManager: ClusterManager;
|
||||||
let proxyServer: LensProxy;
|
let proxyServer: LensProxy;
|
||||||
|
|
||||||
@ -82,7 +76,7 @@ async function main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// create window manager and open app
|
// create window manager and open app
|
||||||
windowManager = new WindowManager(proxyPort);
|
LensExtensionsApi.windowManager = new WindowManager(proxyPort);
|
||||||
|
|
||||||
extensionLoader.loadOnMain()
|
extensionLoader.loadOnMain()
|
||||||
extensionLoader.extensions.replace(await extensionManager.load())
|
extensionLoader.extensions.replace(await extensionManager.load())
|
||||||
@ -101,3 +95,13 @@ app.on("will-quit", async (event) => {
|
|||||||
if (clusterManager) clusterManager.stop()
|
if (clusterManager) clusterManager.stop()
|
||||||
app.exit();
|
app.exit();
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// Extensions-api runtime exports
|
||||||
|
export const LensExtensionsApi = {
|
||||||
|
...LensExtensions,
|
||||||
|
};
|
||||||
|
|
||||||
|
export {
|
||||||
|
Mobx,
|
||||||
|
LensExtensionsApi as LensExtensions,
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user