diff --git a/src/fireedge/src/client/components/Tables/Hosts/detail.js b/src/fireedge/src/client/components/Tables/Hosts/detail.js new file mode 100644 index 0000000000..2cdad16855 --- /dev/null +++ b/src/fireedge/src/client/components/Tables/Hosts/detail.js @@ -0,0 +1,66 @@ +import React, { useEffect } from 'react' +import { LinearProgress } from '@material-ui/core' + +import Tabs from 'client/components/Tabs' +import { StatusBadge } from 'client/components/Status' + +import { useFetch, useSocket } from 'client/hooks' +import { useHostApi } from 'client/features/One' + +import * as HostModel from 'client/models/Host' + +const HostDetail = ({ id }) => { + const { getHost } = useHostApi() + + const { getHooksSocket } = useSocket() + const socket = getHooksSocket({ resource: 'host', id }) + + const { data, fetchRequest, loading, error } = useFetch(getHost, socket) + const isLoading = (!data && !error) || loading + + useEffect(() => { + fetchRequest(id) + }, [id]) + + if (isLoading) { + return + } + + if (error) { + return
{error}
+ } + + const { ID, NAME, IM_MAD, VM_MAD, VMS, CLUSTER } = data + + const { name: stateName, color: stateColor } = HostModel.getState(data) + + const tabs = [ + { + name: 'info', + renderContent: ( +
+
+ + + {`#${ID} - ${NAME}`} + +
+
+

IM_MAD: {IM_MAD}

+

VM_MAD: {VM_MAD}

+
+
+ ) + } + ] + + return ( + + ) +} + +export default HostDetail diff --git a/src/fireedge/src/client/components/Tables/Hosts/index.js b/src/fireedge/src/client/components/Tables/Hosts/index.js index ec46853faa..0a96404f8b 100644 --- a/src/fireedge/src/client/components/Tables/Hosts/index.js +++ b/src/fireedge/src/client/components/Tables/Hosts/index.js @@ -7,6 +7,7 @@ import { useHost, useHostApi } from 'client/features/One' import { EnhancedTable } from 'client/components/Tables' import HostColumns from 'client/components/Tables/Hosts/columns' import HostRow from 'client/components/Tables/Hosts/row' +import HostDetail from 'client/components/Tables/Hosts/detail' const HostsTable = () => { const columns = React.useMemo(() => HostColumns, []) @@ -25,6 +26,7 @@ const HostsTable = () => { data={hosts} isLoading={loading || reloading} getRowId={row => String(row.ID)} + renderDetail={row => } RowComponent={HostRow} /> )