mirror of
https://github.com/fosrl/pangolin.git
synced 2026-01-28 22:00:51 +00:00
show alias address in private resources table
This commit is contained in:
@@ -1625,6 +1625,8 @@
|
|||||||
"resourcesTableNoInternalResourcesFound": "No internal resources found.",
|
"resourcesTableNoInternalResourcesFound": "No internal resources found.",
|
||||||
"resourcesTableDestination": "Destination",
|
"resourcesTableDestination": "Destination",
|
||||||
"resourcesTableAlias": "Alias",
|
"resourcesTableAlias": "Alias",
|
||||||
|
"resourcesTableAliasAddress": "Alias Address",
|
||||||
|
"resourcesTableAliasAddressInfo": "This address is part of the organization's utility subnet. It's used to resolve alias records using internal DNS resolution.",
|
||||||
"resourcesTableClients": "Clients",
|
"resourcesTableClients": "Clients",
|
||||||
"resourcesTableAndOnlyAccessibleInternally": "and are only accessible internally when connected with a client.",
|
"resourcesTableAndOnlyAccessibleInternally": "and are only accessible internally when connected with a client.",
|
||||||
"resourcesTableNoTargets": "No targets",
|
"resourcesTableNoTargets": "No targets",
|
||||||
|
|||||||
@@ -97,6 +97,7 @@ export async function listAllSiteResourcesByOrg(
|
|||||||
destination: siteResources.destination,
|
destination: siteResources.destination,
|
||||||
enabled: siteResources.enabled,
|
enabled: siteResources.enabled,
|
||||||
alias: siteResources.alias,
|
alias: siteResources.alias,
|
||||||
|
aliasAddress: siteResources.aliasAddress,
|
||||||
tcpPortRangeString: siteResources.tcpPortRangeString,
|
tcpPortRangeString: siteResources.tcpPortRangeString,
|
||||||
udpPortRangeString: siteResources.udpPortRangeString,
|
udpPortRangeString: siteResources.udpPortRangeString,
|
||||||
disableIcmp: siteResources.disableIcmp,
|
disableIcmp: siteResources.disableIcmp,
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ export default async function ClientResourcesPage(
|
|||||||
destination: siteResource.destination,
|
destination: siteResource.destination,
|
||||||
// destinationPort: siteResource.destinationPort,
|
// destinationPort: siteResource.destinationPort,
|
||||||
alias: siteResource.alias || null,
|
alias: siteResource.alias || null,
|
||||||
|
aliasAddress: siteResource.aliasAddress || null,
|
||||||
siteNiceId: siteResource.siteNiceId,
|
siteNiceId: siteResource.siteNiceId,
|
||||||
niceId: siteResource.niceId,
|
niceId: siteResource.niceId,
|
||||||
tcpPortRangeString: siteResource.tcpPortRangeString || null,
|
tcpPortRangeString: siteResource.tcpPortRangeString || null,
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import {
|
|||||||
DropdownMenuItem,
|
DropdownMenuItem,
|
||||||
DropdownMenuTrigger
|
DropdownMenuTrigger
|
||||||
} from "@app/components/ui/dropdown-menu";
|
} from "@app/components/ui/dropdown-menu";
|
||||||
|
import { InfoPopup } from "@app/components/ui/info-popup";
|
||||||
import { useEnvContext } from "@app/hooks/useEnvContext";
|
import { useEnvContext } from "@app/hooks/useEnvContext";
|
||||||
import { toast } from "@app/hooks/useToast";
|
import { toast } from "@app/hooks/useToast";
|
||||||
import { createApiClient, formatAxiosError } from "@app/lib/api";
|
import { createApiClient, formatAxiosError } from "@app/lib/api";
|
||||||
@@ -40,6 +41,7 @@ export type InternalResourceRow = {
|
|||||||
destination: string;
|
destination: string;
|
||||||
// destinationPort: number | null;
|
// destinationPort: number | null;
|
||||||
alias: string | null;
|
alias: string | null;
|
||||||
|
aliasAddress: string | null;
|
||||||
niceId: string;
|
niceId: string;
|
||||||
tcpPortRangeString: string | null;
|
tcpPortRangeString: string | null;
|
||||||
udpPortRangeString: string | null;
|
udpPortRangeString: string | null;
|
||||||
@@ -228,6 +230,29 @@ export default function ClientResourcesTable({
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
accessorKey: "aliasAddress",
|
||||||
|
friendlyName: t("resourcesTableAliasAddress"),
|
||||||
|
enableHiding: true,
|
||||||
|
header: () => (
|
||||||
|
<div className="flex items-center gap-2 p-3">
|
||||||
|
<span>{t("resourcesTableAliasAddress")}</span>
|
||||||
|
<InfoPopup info={t("resourcesTableAliasAddressInfo")} />
|
||||||
|
</div>
|
||||||
|
),
|
||||||
|
cell: ({ row }) => {
|
||||||
|
const resourceRow = row.original;
|
||||||
|
return resourceRow.aliasAddress ? (
|
||||||
|
<CopyToClipboard
|
||||||
|
text={resourceRow.aliasAddress}
|
||||||
|
isLink={false}
|
||||||
|
displayText={resourceRow.aliasAddress}
|
||||||
|
/>
|
||||||
|
) : (
|
||||||
|
<span>-</span>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "actions",
|
id: "actions",
|
||||||
enableHiding: false,
|
enableHiding: false,
|
||||||
@@ -316,7 +341,8 @@ export default function ClientResourcesTable({
|
|||||||
enableColumnVisibility={true}
|
enableColumnVisibility={true}
|
||||||
persistColumnVisibility="internal-resources"
|
persistColumnVisibility="internal-resources"
|
||||||
columnVisibility={{
|
columnVisibility={{
|
||||||
niceId: false
|
niceId: false,
|
||||||
|
aliasAddress: false
|
||||||
}}
|
}}
|
||||||
stickyLeftColumn="name"
|
stickyLeftColumn="name"
|
||||||
stickyRightColumn="actions"
|
stickyRightColumn="actions"
|
||||||
|
|||||||
Reference in New Issue
Block a user