mirror of
https://github.com/fosrl/pangolin.git
synced 2026-05-23 01:05:27 +00:00
Confirm delete of share links
This commit is contained in:
@@ -156,6 +156,10 @@
|
|||||||
"shareErrorDeleteMessage": "An error occurred deleting link",
|
"shareErrorDeleteMessage": "An error occurred deleting link",
|
||||||
"shareDeleted": "Link deleted",
|
"shareDeleted": "Link deleted",
|
||||||
"shareDeletedDescription": "The link has been deleted",
|
"shareDeletedDescription": "The link has been deleted",
|
||||||
|
"shareDelete": "Delete Share Link",
|
||||||
|
"shareDeleteConfirm": "Confirm Delete Share Link",
|
||||||
|
"shareQuestionRemove": "Are you sure you want to delete this share link?",
|
||||||
|
"shareMessageRemove": "Once deleted, the link will no longer work and anyone using it will lose access to the resource.",
|
||||||
"shareTokenDescription": "The access token can be passed in two ways: as a query parameter or in the request headers. These must be passed from the client on every request for authenticated access.",
|
"shareTokenDescription": "The access token can be passed in two ways: as a query parameter or in the request headers. These must be passed from the client on every request for authenticated access.",
|
||||||
"accessToken": "Access Token",
|
"accessToken": "Access Token",
|
||||||
"usageExamples": "Usage Examples",
|
"usageExamples": "Usage Examples",
|
||||||
|
|||||||
@@ -61,6 +61,8 @@ export default function ShareLinksTable({
|
|||||||
const api = createApiClient(useEnvContext());
|
const api = createApiClient(useEnvContext());
|
||||||
|
|
||||||
const [isCreateModalOpen, setIsCreateModalOpen] = useState(false);
|
const [isCreateModalOpen, setIsCreateModalOpen] = useState(false);
|
||||||
|
const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);
|
||||||
|
const [selectedLink, setSelectedLink] = useState<ShareLinkRow | null>(null);
|
||||||
const [rows, setRows] = useState<ShareLinkRow[]>(shareLinks);
|
const [rows, setRows] = useState<ShareLinkRow[]>(shareLinks);
|
||||||
|
|
||||||
const [isRefreshing, setIsRefreshing] = useState(false);
|
const [isRefreshing, setIsRefreshing] = useState(false);
|
||||||
@@ -92,6 +94,7 @@ export default function ShareLinksTable({
|
|||||||
title: t("shareErrorDelete"),
|
title: t("shareErrorDelete"),
|
||||||
description: formatAxiosError(e, t("shareErrorDeleteMessage"))
|
description: formatAxiosError(e, t("shareErrorDeleteMessage"))
|
||||||
});
|
});
|
||||||
|
throw e;
|
||||||
});
|
});
|
||||||
|
|
||||||
const newRows = rows.filter((r) => r.accessTokenId !== id);
|
const newRows = rows.filter((r) => r.accessTokenId !== id);
|
||||||
@@ -293,9 +296,10 @@ export default function ShareLinksTable({
|
|||||||
{/* </DropdownMenu> */}
|
{/* </DropdownMenu> */}
|
||||||
<Button
|
<Button
|
||||||
variant={"outline"}
|
variant={"outline"}
|
||||||
onClick={() =>
|
onClick={() => {
|
||||||
deleteSharelink(row.original.accessTokenId)
|
setSelectedLink(resourceRow);
|
||||||
}
|
setIsDeleteModalOpen(true);
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
{t("delete")}
|
{t("delete")}
|
||||||
</Button>
|
</Button>
|
||||||
@@ -307,6 +311,30 @@ export default function ShareLinksTable({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
{selectedLink && (
|
||||||
|
<ConfirmDeleteDialog
|
||||||
|
open={isDeleteModalOpen}
|
||||||
|
setOpen={(val) => {
|
||||||
|
setIsDeleteModalOpen(val);
|
||||||
|
if (!val) setSelectedLink(null);
|
||||||
|
}}
|
||||||
|
dialog={
|
||||||
|
<div className="space-y-2">
|
||||||
|
<p>{t("shareQuestionRemove")}</p>
|
||||||
|
<p>{t("shareMessageRemove")}</p>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
buttonText={t("shareDeleteConfirm")}
|
||||||
|
onConfirm={async () =>
|
||||||
|
deleteSharelink(selectedLink.accessTokenId)
|
||||||
|
}
|
||||||
|
string={
|
||||||
|
selectedLink.title || selectedLink.resourceName
|
||||||
|
}
|
||||||
|
title={t("shareDelete")}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
|
||||||
<CreateShareLinkForm
|
<CreateShareLinkForm
|
||||||
open={isCreateModalOpen}
|
open={isCreateModalOpen}
|
||||||
setOpen={setIsCreateModalOpen}
|
setOpen={setIsCreateModalOpen}
|
||||||
|
|||||||
Reference in New Issue
Block a user