Skip to content

Commit

Permalink
update: custom resource tab panel
Browse files Browse the repository at this point in the history
  • Loading branch information
Nurudeen38 committed Nov 9, 2022
1 parent 813748c commit af172d5
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 8 deletions.
1 change: 1 addition & 0 deletions web/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

# misc
.DS_Store
.env
.env.local
.env.development.local
.env.test.local
Expand Down
2 changes: 1 addition & 1 deletion web/src/hooks/useSocket.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export default function useSocket(options = {}) {
shouldReconnect: (closeEvent) => true,
onMessage: (event: WebSocketEventMap['message']) => {
const newMessage: ServerResponseType = JSON.parse(event.data);
if (newMessage.Error) return;
// if (newMessage.Error) return;
setServers((prev) => prev.concat(newMessage));
},
...options,
Expand Down
1 change: 1 addition & 0 deletions web/src/server/ServerConstant.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ export const ServerNameEnum = {
PROCESS: "process",
LOAD_AVG: "loadavg",
TCP: "tcp",
CUSTOM:'custom'
};
26 changes: 26 additions & 0 deletions web/src/server/ServerDetailServicesTabPaneCustom.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import React from 'react';
import { ServerServiceNameType } from './ServerType';

interface ServerDetailServicesTabPanelLoadAvgType {
serverName: ServerServiceNameType;
Error?: string;
serverData: any;
}

export default function ServerDetailServicesTabPanelCustom(
props: ServerDetailServicesTabPanelLoadAvgType
) {
if (props.serverData.Error) {
return (
<div>
<p> {props.serverData.Message.Error}</p>
</div>
);
}

return (
<div>
<pre>{props.serverData.Message?.Data?.Output}</pre>
</div>
);
}
14 changes: 12 additions & 2 deletions web/src/server/ServerDetailServicesTabPanel.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import React, { useMemo } from "react";
import { ServerNameEnum } from "./ServerConstant";
import ServerDetailServicesTabPanelCustom from "./ServerDetailServicesTabPaneCustom";
import ServerDetailServicesTabPanelDisk from "./ServerDetailServicesTabPanelDisk";
import ServerDetailServicesTabPanelDocker from "./ServerDetailServicesTabPanelDocker";
import ServerDetailServicesTabPanelLoadAvg from "./ServerDetailServicesTabPanelLoadAvg";
import ServerDetailServicesTabPanelMemory from "./ServerDetailServicesTabPanelMemory";
import ServerDetailServicesTabPanelProcess from "./ServerDetailServicesTabPanelProcess";
import ServerDetailServicesTabPanelTCP from "./ServerDetailServicesTabPanelTCP";
import ServerDetailServicesTabPanelUptime from "./ServerDetailServicesTabPanelUptime";
import { DiskData, MemoryData, ServerResponseType, ServerServiceNameType } from "./ServerType";
import { DiskData, LoadingAvgData, MemoryData, ServerResponseType, ServerServiceNameType } from "./ServerType";

interface ServerDetailServicesTabPanelType {
serverName: ServerServiceNameType;
Expand Down Expand Up @@ -49,7 +50,7 @@ export default function ServerDetailServicesTabPanel(
content: (
<ServerDetailServicesTabPanelLoadAvg
serverName={serverName}
serverData={serverData}
serverData={serverData as ServerResponseType<LoadingAvgData>}
/>
),
},
Expand Down Expand Up @@ -89,6 +90,15 @@ export default function ServerDetailServicesTabPanel(
/>
),
},
{
title: ServerNameEnum.CUSTOM as ServerServiceNameType,
content: (
<ServerDetailServicesTabPanelCustom
serverName={serverName}
serverData={serverData}
/>
),
},
],
[serverName, serverData]
);
Expand Down
17 changes: 12 additions & 5 deletions web/src/server/ServerType.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@ export type ServerServiceNameType =
| "tcp";

export type ServerResponseMessageData =
| Array<DiskData>
| MemoryData
| DockerData
| UptimeData
| ProcessData;
| Array<DiskData>
| MemoryData
| DockerData
| UptimeData
| ProcessData
| LoadingAvgData;

export interface ServerResponseType<T = ServerResponseMessageData> {
Error: boolean;
Expand Down Expand Up @@ -41,6 +42,12 @@ export interface DiskData {
VolumeName: string;
}

export interface LoadingAvgData {
Load1M:number;
Load5M:number;
Load15M:number;
}

export interface DockerData {}

export interface UptimeData {}
Expand Down

0 comments on commit af172d5

Please sign in to comment.