From 1fbd9505f6c4fc14ab7ce9c6932cf80c3690624d Mon Sep 17 00:00:00 2001 From: Jim Ehrismann Date: Fri, 22 Oct 2021 11:53:19 -0400 Subject: [PATCH] added protocol to the port-forward list and details page. Added the port-forward address to the details page title Signed-off-by: Jim Ehrismann --- .../+network-port-forwards/port-forward-details.tsx | 7 +++++-- .../components/+network-port-forwards/port-forwards.tsx | 4 ++++ src/renderer/port-forward/port-forward.store.ts | 6 +++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/renderer/components/+network-port-forwards/port-forward-details.tsx b/src/renderer/components/+network-port-forwards/port-forward-details.tsx index 4fa4b395f7..73f8f2fe1f 100644 --- a/src/renderer/components/+network-port-forwards/port-forward-details.tsx +++ b/src/renderer/components/+network-port-forwards/port-forward-details.tsx @@ -23,7 +23,7 @@ import "./port-forward-details.scss"; import React from "react"; import { Link } from "react-router-dom"; -import type { PortForwardItem } from "../../port-forward"; +import { portForwardAddress, PortForwardItem } from "../../port-forward"; import { Drawer, DrawerItem } from "../drawer"; import { cssNames } from "../../utils"; import { podsApi, serviceApi } from "../../../common/k8s-api/endpoints"; @@ -80,6 +80,9 @@ export class PortForwardDetails extends React.Component { {portForward.getForwardPort()} + + {portForward.getProtocol()} + {portForward.getStatus()} @@ -96,7 +99,7 @@ export class PortForwardDetails extends React.Component { className="PortForwardDetails" usePortal={true} open={!!portForward} - title="Port Forward" + title={`Port Forward: ${portForwardAddress(portForward)}`} onClose={hideDetails} toolbar={toolbar} > diff --git a/src/renderer/components/+network-port-forwards/port-forwards.tsx b/src/renderer/components/+network-port-forwards/port-forwards.tsx index 9fdeec4f6a..17b1c40c20 100644 --- a/src/renderer/components/+network-port-forwards/port-forwards.tsx +++ b/src/renderer/components/+network-port-forwards/port-forwards.tsx @@ -37,6 +37,7 @@ enum columnId { kind = "kind", port = "port", forwardPort = "forwardPort", + protocol = "protocol", status = "status", } @@ -102,6 +103,7 @@ export class PortForwards extends React.Component { [columnId.kind]: item => item.getKind(), [columnId.port]: item => item.getPort(), [columnId.forwardPort]: item => item.getForwardPort(), + [columnId.protocol]: item => item.getProtocol(), [columnId.status]: item => item.getStatus(), }} searchFilters={[ @@ -114,6 +116,7 @@ export class PortForwards extends React.Component { { title: "Kind", className: "kind", sortBy: columnId.kind, id: columnId.kind }, { title: "Pod Port", className: "port", sortBy: columnId.port, id: columnId.port }, { title: "Local Port", className: "forwardPort", sortBy: columnId.forwardPort, id: columnId.forwardPort }, + { title: "Protocol", className: "protocol", sortBy: columnId.protocol, id: columnId.protocol }, { title: "Status", className: "status", sortBy: columnId.status, id: columnId.status }, ]} renderTableContents={item => [ @@ -122,6 +125,7 @@ export class PortForwards extends React.Component { item.getKind(), item.getPort(), item.getForwardPort(), + item.getProtocol(), { title: item.getStatus(), className: item.getStatus().toLowerCase() }, ]} renderItemMenu={pf => ( diff --git a/src/renderer/port-forward/port-forward.store.ts b/src/renderer/port-forward/port-forward.store.ts index 63caec8930..8a009b1e09 100644 --- a/src/renderer/port-forward/port-forward.store.ts +++ b/src/renderer/port-forward/port-forward.store.ts @@ -180,8 +180,12 @@ export async function getPortForwards(): Promise { } } +export function portForwardAddress(portForward: ForwardedPort) { + return `${portForward.protocol ?? "http"}://localhost:${portForward.forwardPort}`; +} + export function openPortForward(portForward: ForwardedPort) { - const browseTo = `${portForward.protocol ?? "http"}://localhost:${portForward.forwardPort}`; + const browseTo = portForwardAddress(portForward); openExternal(browseTo) .catch(error => {