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";
|
||||
|
||||
export default class SupportPageMainExtension extends LensMainExtension {
|
||||
@ -11,9 +11,11 @@ export default class SupportPageMainExtension extends LensMainExtension {
|
||||
registry.add({
|
||||
parentId: "help",
|
||||
label: "Support",
|
||||
async click() {
|
||||
// fixme: require runtime windowManager (ensureMainWindow + navigate for main)
|
||||
console.log(`navigate: ${supportPageURL()}`);
|
||||
click() {
|
||||
windowManager.navigate({
|
||||
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-renderer-extension"
|
||||
|
||||
import type { WindowManager } from "../../main/window-manager";
|
||||
|
||||
// APIs
|
||||
import * as EventBus from "./event-bus"
|
||||
import * as Store from "./stores"
|
||||
@ -9,6 +11,8 @@ import * as Util from "./utils"
|
||||
import * as Registry from "../registries"
|
||||
import * as CommonVars from "../../common/vars";
|
||||
|
||||
export let windowManager: WindowManager;
|
||||
|
||||
export {
|
||||
EventBus,
|
||||
Store,
|
||||
|
||||
@ -2,6 +2,8 @@
|
||||
|
||||
import "../common/system-ca"
|
||||
import "../common/prometheus-providers"
|
||||
import * as Mobx from "mobx"
|
||||
import * as LensExtensions from "../extensions/core-api";
|
||||
import { app, dialog } from "electron"
|
||||
import { appName } from "../common/vars";
|
||||
import path from "path"
|
||||
@ -17,16 +19,9 @@ import { clusterStore } from "../common/cluster-store"
|
||||
import { userStore } from "../common/user-store";
|
||||
import { workspaceStore } from "../common/workspace-store";
|
||||
import { appEventBus } from "../common/event-bus"
|
||||
import * as LensExtensions from "../extensions/core-api";
|
||||
import { extensionManager } from "../extensions/extension-manager";
|
||||
import { extensionLoader } from "../extensions/extension-loader";
|
||||
import logger from "./logger"
|
||||
import * as Mobx from "mobx"
|
||||
|
||||
export {
|
||||
LensExtensions,
|
||||
Mobx
|
||||
}
|
||||
|
||||
const workingDir = path.join(app.getPath("appData"), appName);
|
||||
app.setName(appName);
|
||||
@ -34,7 +29,6 @@ if (!process.env.CICD) {
|
||||
app.setPath("userData", workingDir);
|
||||
}
|
||||
|
||||
let windowManager: WindowManager;
|
||||
let clusterManager: ClusterManager;
|
||||
let proxyServer: LensProxy;
|
||||
|
||||
@ -82,7 +76,7 @@ async function main() {
|
||||
}
|
||||
|
||||
// create window manager and open app
|
||||
windowManager = new WindowManager(proxyPort);
|
||||
LensExtensionsApi.windowManager = new WindowManager(proxyPort);
|
||||
|
||||
extensionLoader.loadOnMain()
|
||||
extensionLoader.extensions.replace(await extensionManager.load())
|
||||
@ -101,3 +95,13 @@ app.on("will-quit", async (event) => {
|
||||
if (clusterManager) clusterManager.stop()
|
||||
app.exit();
|
||||
})
|
||||
|
||||
// Extensions-api runtime exports
|
||||
export const LensExtensionsApi = {
|
||||
...LensExtensions,
|
||||
};
|
||||
|
||||
export {
|
||||
Mobx,
|
||||
LensExtensionsApi as LensExtensions,
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user