mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
20 lines
761 B
TypeScript
20 lines
761 B
TypeScript
import type { MenuRegistration } from "./registries/menu-registry";
|
|
import { observable } from "mobx";
|
|
import { LensExtension } from "./lens-extension";
|
|
import { WindowManager } from "../main/window-manager";
|
|
import { getExtensionPageUrl } from "./registries/page-registry";
|
|
|
|
export class LensMainExtension extends LensExtension {
|
|
@observable.shallow appMenus: MenuRegistration[] = [];
|
|
|
|
async navigate<P extends object>(pageId?: string, params?: P, frameId?: number) {
|
|
const windowManager = WindowManager.getInstance<WindowManager>();
|
|
const pageUrl = getExtensionPageUrl({
|
|
extensionId: this.name,
|
|
pageId: pageId,
|
|
params: params ?? {}, // compile to url with params
|
|
});
|
|
await windowManager.navigate(pageUrl, frameId);
|
|
}
|
|
}
|