From 296ba9023f6bdf17d7dd249d41cd3af3f81c9a08 Mon Sep 17 00:00:00 2001 From: Roman Date: Wed, 11 Nov 2020 17:39:24 +0200 Subject: [PATCH] fix: support-page extension Signed-off-by: Roman --- extensions/support-page/main.ts | 6 ++--- extensions/support-page/package-lock.json | 6 +++++ extensions/support-page/renderer.tsx | 26 +++++++++----------- extensions/support-page/src/common-vars.ts | 4 +++ extensions/support-page/src/support.route.ts | 7 ------ package.json | 2 +- src/extensions/lens-extension.ts | 6 ++--- 7 files changed, 29 insertions(+), 28 deletions(-) create mode 100644 extensions/support-page/src/common-vars.ts delete mode 100644 extensions/support-page/src/support.route.ts diff --git a/extensions/support-page/main.ts b/extensions/support-page/main.ts index 70ec3bc026..5ad5fe5f86 100644 --- a/extensions/support-page/main.ts +++ b/extensions/support-page/main.ts @@ -1,13 +1,13 @@ import { LensMainExtension, windowManager } from "@k8slens/extensions"; -import { supportPageURL } from "./src/support.route"; +import { pageUrl } from "./src/common-vars"; export default class SupportPageMainExtension extends LensMainExtension { appMenus = [ { parentId: "help", label: "Support", - click() { - windowManager.navigate(supportPageURL()); + click: () => { + windowManager.navigate(this.getPageUrl(pageUrl)); // todo: simplify } } ] diff --git a/extensions/support-page/package-lock.json b/extensions/support-page/package-lock.json index f67bf34b5f..a93741c0aa 100644 --- a/extensions/support-page/package-lock.json +++ b/extensions/support-page/package-lock.json @@ -26,6 +26,12 @@ "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", "dev": true }, + "@types/node": { + "version": "14.14.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.7.tgz", + "integrity": "sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg==", + "dev": true + }, "@types/prop-types": { "version": "15.7.3", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", diff --git a/extensions/support-page/renderer.tsx b/extensions/support-page/renderer.tsx index 9334a7a2a4..feb14457ee 100644 --- a/extensions/support-page/renderer.tsx +++ b/extensions/support-page/renderer.tsx @@ -1,28 +1,26 @@ import React from "react"; -import { Component, LensRendererExtension, Navigation } from "@k8slens/extensions"; -import { supportPageRoute, supportPageURL } from "./src/support.route"; +import { Component, Interface, LensRendererExtension, Navigation } from "@k8slens/extensions"; import { Support } from "./src/support"; +import { pageRoute, pageUrl } from "./src/common-vars"; export default class SupportPageRendererExtension extends LensRendererExtension { - // globalPages = [ - // { - // ...supportPageRoute, - // url: supportPageURL(), - // hideInMenu: true, - // components: { - // Page: Support, - // } - // } - // ] + globalPages: Interface.PageRegistration[] = [ + { + routePath: pageRoute, + components: { + Page: Support, + } + } + ] statusBarItems = [ { item: (
Navigation.navigate(supportPageURL())} + onClick={() => Navigation.navigate(this.getPageUrl(pageUrl))} > - +
) } diff --git a/extensions/support-page/src/common-vars.ts b/extensions/support-page/src/common-vars.ts new file mode 100644 index 0000000000..4a3cec5d58 --- /dev/null +++ b/extensions/support-page/src/common-vars.ts @@ -0,0 +1,4 @@ +// Common variables for both processes (main & renderer) + +export const pageRoute = "/support" +export const pageUrl = pageRoute; // same since no special :placeholder-s for react-router's route diff --git a/extensions/support-page/src/support.route.ts b/extensions/support-page/src/support.route.ts deleted file mode 100644 index 3d9c007f06..0000000000 --- a/extensions/support-page/src/support.route.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { RouteProps } from "react-router"; - -export const supportPageRoute: RouteProps = { - path: "/support" -} - -export const supportPageURL = () => supportPageRoute.path.toString(); diff --git a/package.json b/package.json index ddcfb9452c..2f87a31fb2 100644 --- a/package.json +++ b/package.json @@ -241,6 +241,7 @@ "openid-client": "^3.15.2", "path-to-regexp": "^6.1.0", "proper-lockfile": "^4.1.1", + "react-router": "^5.2.0", "request": "^2.88.2", "request-promise-native": "^1.0.8", "semver": "^7.3.2", @@ -365,7 +366,6 @@ "react-beautiful-dnd": "^13.0.0", "react-dom": "^16.13.1", "react-refresh": "^0.9.0", - "react-router": "^5.2.0", "react-router-dom": "^5.2.0", "react-select": "^3.1.0", "react-window": "^1.8.5", diff --git a/src/extensions/lens-extension.ts b/src/extensions/lens-extension.ts index 5621fd9ff3..3931831fbf 100644 --- a/src/extensions/lens-extension.ts +++ b/src/extensions/lens-extension.ts @@ -15,7 +15,7 @@ export interface LensExtensionManifest { } export class LensExtension { - readonly routePrefix = "/extensions/:name" + readonly routePrefix = "/extension/:name" readonly manifest: LensExtensionManifest; readonly manifestPath: string; readonly isBundled: boolean; @@ -45,11 +45,11 @@ export class LensExtension { } getPageUrl(baseUrl: string) { - return compile(this.routePrefix)({ name: this.name }) + "/" + baseUrl + return compile(this.routePrefix)({ name: this.name }) + baseUrl } getPageRoute(baseRoute: string) { - return this.routePrefix + "/" + baseRoute; + return this.routePrefix + baseRoute; } @action