= [
+ {
+ title: 'Name',
+ dataIndex: 'netid',
+ key: 'netid',
+ sorter: {
+ compare: (a, b) => a.netid.localeCompare(b.netid),
+ },
+ defaultSortOrder: 'ascend',
+ render: (netId) => (
+ {netId}
+ ),
+ },
+ {
+ title: 'Address Range (IPv4)',
+ dataIndex: 'addressrange',
+ key: 'addressrange',
+ render: (addressRange) => (
+ ev.stopPropagation()}>
+ {addressRange}
+
+ ),
+ },
+ {
+ title: 'Address Range (IPv6)',
+ dataIndex: 'addressrange6',
+ key: 'addressrange6',
+ render: (addressRange6) => (
+ ev.stopPropagation()}>
+ {addressRange6}
+
+ ),
+ },
+ {
+ title: 'Hosts Count',
+ render(_, network) {
+ const nodeCount = store.nodes?.filter((node) => node.network === network.netid).length ?? 0;
+ return (
+ ev.stopPropagation()}>
+ {nodeCount}
+
+ );
+ },
+ },
+ {
+ title: 'Network Last Modified',
+ dataIndex: 'networklastmodified',
+ key: 'networklastmodified',
+ render: (date) => (
+ ev.stopPropagation()}>
+ {new Date(date * 1000).toLocaleString()}
+
+ ),
+ },
+ {
+ title: 'Hosts Last Modified',
+ dataIndex: 'nodeslastmodified',
+ key: 'nodeslastmodified',
+ render: (date) => (
+ ev.stopPropagation()}>
+ {new Date(date * 1000).toLocaleString()}
+
+ ),
+ },
+ ];
useEffect(() => {
if (!isServerEE && !isSaasBuild && !store.serverStatus.status?.is_on_trial_license) {
@@ -348,6 +426,62 @@ export default function DashboardPage(props: PageProps) {
)}
+ {store.networks.length > 0 && (
+ <>
+
+
+
+ Networks
+
+
+
+
+
+
+ setSearchText(ev.target.value)}
+ prefix={}
+ />
+
+
+
+
+
+
+
+
+
+
+
{
+ return {
+ onClick: () => {
+ navigate(getNetworkRoute(network));
+ },
+ };
+ }}
+ />
+
+
+
+ >
+ )}