@manta-eu/react 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/components/datastore-management/use-datastore-status.d.ts +15 -0
  2. package/dist/components/datastore-management/use-datastore-status.d.ts.map +1 -1
  3. package/dist/components/datastore-management/use-datastore-status.js +73 -2
  4. package/dist/components/datastore-management/use-datastore-status.js.map +1 -1
  5. package/dist/components/explain-fact/ExplainFact.d.ts +2 -0
  6. package/dist/components/explain-fact/ExplainFact.d.ts.map +1 -1
  7. package/dist/components/explain-fact/ExplainFact.js +6 -10
  8. package/dist/components/explain-fact/ExplainFact.js.map +1 -1
  9. package/dist/components/fact/Fact.d.ts +16 -0
  10. package/dist/components/fact/Fact.d.ts.map +1 -0
  11. package/dist/components/fact/Fact.js +27 -0
  12. package/dist/components/fact/Fact.js.map +1 -0
  13. package/dist/globals.css +15 -0
  14. package/dist/providers/KnowledgeGraphStateContext.d.ts +2 -2
  15. package/dist/providers/KnowledgeGraphStateContext.d.ts.map +1 -1
  16. package/dist/providers/KnowledgeGraphStateProvider.d.ts.map +1 -1
  17. package/dist/providers/KnowledgeGraphStateProvider.js +8 -49
  18. package/dist/providers/KnowledgeGraphStateProvider.js.map +1 -1
  19. package/dist/routes/datastores/components/LinkUnlinkedDatastoreDialog.d.ts.map +1 -1
  20. package/dist/routes/datastores/components/LinkUnlinkedDatastoreDialog.js +2 -0
  21. package/dist/routes/datastores/components/LinkUnlinkedDatastoreDialog.js.map +1 -1
  22. package/dist/routes/datastores/components/StatusBadge.d.ts +8 -6
  23. package/dist/routes/datastores/components/StatusBadge.d.ts.map +1 -1
  24. package/dist/routes/datastores/components/StatusBadge.js +59 -20
  25. package/dist/routes/datastores/components/StatusBadge.js.map +1 -1
  26. package/dist/routes/datastores/deletion-warning.d.ts +2 -0
  27. package/dist/routes/datastores/deletion-warning.d.ts.map +1 -0
  28. package/dist/routes/datastores/deletion-warning.js +8 -0
  29. package/dist/routes/datastores/deletion-warning.js.map +1 -0
  30. package/dist/routes/datastores/flatten.d.ts +8 -3
  31. package/dist/routes/datastores/flatten.d.ts.map +1 -1
  32. package/dist/routes/datastores/flatten.js +16 -11
  33. package/dist/routes/datastores/flatten.js.map +1 -1
  34. package/dist/routes/datastores/hooks/useDatastoreColumns.d.ts +12 -2
  35. package/dist/routes/datastores/hooks/useDatastoreColumns.d.ts.map +1 -1
  36. package/dist/routes/datastores/hooks/useDatastoreColumns.js +142 -95
  37. package/dist/routes/datastores/hooks/useDatastoreColumns.js.map +1 -1
  38. package/dist/routes/datastores/index.d.ts.map +1 -1
  39. package/dist/routes/datastores/index.js +48 -57
  40. package/dist/routes/datastores/index.js.map +1 -1
  41. package/package.json +12 -7
  42. package/src/app-subpaths.json +1 -0
  43. package/src/components/datastore-management/use-datastore-status.ts +137 -2
  44. package/src/components/explain-fact/ExplainFact.tsx +19 -17
  45. package/src/components/fact/Fact.tsx +103 -0
  46. package/src/providers/KnowledgeGraphStateContext.ts +2 -2
  47. package/src/providers/KnowledgeGraphStateProvider.tsx +13 -65
  48. package/src/routes/datastores/components/LinkUnlinkedDatastoreDialog.tsx +2 -0
  49. package/src/routes/datastores/components/StatusBadge.tsx +90 -27
  50. package/src/routes/datastores/deletion-warning.ts +7 -0
  51. package/src/routes/datastores/flatten.ts +27 -14
  52. package/src/routes/datastores/hooks/useDatastoreColumns.tsx +198 -117
  53. package/src/routes/datastores/index.tsx +67 -72
@@ -1,8 +1,7 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { enableDatastoreRemoval } from "@manta-eu/client/shared/constants";
3
2
  import { isPresent } from "@manta-eu/lib/present";
4
3
  import { formatDistanceToNow } from "date-fns";
5
- import { Blocks, Check, DatabaseZap, Hammer, Link2, MoreHorizontal, Pencil, Plus, Power, RefreshCw, RotateCcw, Trash, Trash2, TriangleAlert, Users, } from "lucide-react";
4
+ import { Blocks, Check, DatabaseZap, Hammer, Link2, MoreHorizontal, Pencil, Plus, Power, RefreshCw, RotateCw, Trash, TriangleAlert, Users, } from "lucide-react";
6
5
  import { useMemo } from "react";
7
6
  import { match } from "ts-pattern";
8
7
  import { DatastoreStatusBadge, datastoreStatusFilterValue, } from "../components/StatusBadge.js";
@@ -12,7 +11,7 @@ import { Button } from "#components/button/index";
12
11
  import { datastoreStatusCategory, isMaterializing } from "#components/datastore-management/tree";
13
12
  import { DisabledActionTooltip } from "#components/disabled-action-tooltip/index";
14
13
  import { Dropdown, DropdownContent, DropdownItem, DropdownSeparator, DropdownTrigger, } from "#components/dropdown/index";
15
- import { Tooltip, TooltipContent, TooltipTrigger } from "#components/tooltip/index";
14
+ import { Tooltip, TooltipContent, TooltipTrigger, TruncateTooltip } from "#components/tooltip/index";
16
15
  import { NestedMarker, nestedIndent } from "#ldo-ui";
17
16
  import { cn } from "#lib/utils";
18
17
  export const datastoreColumnIds = {
@@ -55,102 +54,150 @@ const columnMinWidths = {
55
54
  [datastoreColumnIds.provisionedAt]: "min-w-[110px]",
56
55
  [datastoreColumnIds.actions]: "min-w-[140px]",
57
56
  };
57
+ const unregisteredReason = "Its data is already deleted - continue the deletion to finish.";
58
+ const unreadableReason = "Couldn't check how far its deletion got - delete it again to restart it.";
59
+ const lastDeletionStep = "keycloak";
60
+ function linkBlockedReason(deletion) {
61
+ if (!deletion)
62
+ return undefined;
63
+ if (deletion.unreadable === true)
64
+ return unreadableReason;
65
+ if (deletion.unregistered === true)
66
+ return unregisteredReason;
67
+ return !isPresent(deletion.error) && !deletion.retrying ? "Being deleted - it can't be linked." : undefined;
68
+ }
69
+ function deleteBlockedReason(deletion, nestedReason, isUnlinked) {
70
+ if (!deletion)
71
+ return nestedReason;
72
+ const stepRunning = !isPresent(deletion.error) && !deletion.retrying && deletion.unreadable !== true;
73
+ if (stepRunning)
74
+ return "Already being deleted.";
75
+ if (deletion.unregistered === true && isUnlinked)
76
+ return unregisteredReason;
77
+ return nestedReason;
78
+ }
79
+ function continueLabel(deletion) {
80
+ if (!deletion)
81
+ return undefined;
82
+ if (isPresent(deletion.error))
83
+ return "Continue deletion";
84
+ if (deletion.retrying)
85
+ return "Retry now";
86
+ return undefined;
87
+ }
88
+ export function deletionActionState(deletion, nestedDatastoreNames, isUnlinked) {
89
+ const nestedReason = isPresent(nestedDatastoreNames)
90
+ ? `Delete the datastores under it first: ${nestedDatastoreNames.join(", ")}`
91
+ : undefined;
92
+ return {
93
+ deleteBlockedReason: deleteBlockedReason(deletion, nestedReason, isUnlinked),
94
+ linkBlockedReason: linkBlockedReason(deletion),
95
+ addChildBlockedReason: deletion ? "Being deleted." : undefined,
96
+ continueLabel: continueLabel(deletion),
97
+ continueBlockedReason: deletion?.step === lastDeletionStep ? nestedReason : undefined,
98
+ };
99
+ }
58
100
  export function useDatastoreColumns(args) {
59
- const { statusByDatastoreId, currentDatastoreId, isSwitching, indented, matchableRowIds, nestedDatastoreNamesByRowId, suggestedMatchByDatastoreId, onSelect, onAddChild, onLink, onProvision, onLinkExisting, onRemove, onRestore, onDelete, onRename, onRegister, registeringDatastoreIds, removedSubtreeRowIds, onManageUsers, onManageCustomApps, onBringOnline, isBringingOnline, onLinkProvider, isLinkingProvider, providerLinkEnabled, } = args;
60
- return useMemo(() => [
61
- {
62
- id: datastoreColumnIds.name,
63
- accessorKey: "name",
64
- header: datastoreColumnLabels[datastoreColumnIds.name],
65
- cell: ({ row }) => {
66
- const { name, depth, datastoreId, isOrganization, isRealmDefault } = row.original;
67
- const current = isPresent(datastoreId) && datastoreId === currentDatastoreId;
68
- return (_jsx("div", { className: columnMinWidths[datastoreColumnIds.name], children: _jsxs("div", { className: "flex min-w-0 items-center gap-2", style: indented ? nestedIndent(depth + 1) : undefined, children: [indented && depth > 0 && _jsx(NestedMarker, {}), _jsx("span", { className: cn("truncate", isOrganization || isRealmDefault ? "typography-caption-medium" : "typography-caption"), children: name }), !isPresent(datastoreId) && (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(TriangleAlert, { className: "size-3.5 shrink-0 text-warning-foreground", "aria-label": "No datastore provisioned" }) }), _jsx(TooltipContent, { children: "No datastore provisioned for this group yet." })] })), isRealmDefault && (_jsx(Badge, { variant: "copy", size: "sm", className: "shrink-0", children: "Default" })), current && (_jsxs(Badge, { "data-testid": `datastore-selected-badge-${row.original.id}`, variant: "copy", size: "sm", className: "shrink-0", children: [_jsx(Check, { className: "size-3" }), "Selected"] }))] }) }));
101
+ const { statusByDatastoreId, deletionByDatastoreId, currentDatastoreId, isSwitching, indented, matchableRowIds, nestedDatastoreNamesByRowId, suggestedMatchByDatastoreId, onSelect, onAddChild, onLink, onProvision, onLinkExisting, onDelete, onContinueDeletion, isContinuingDeletion, onRename, onRegister, registeringDatastoreIds, removedSubtreeRowIds, onManageUsers, onManageCustomApps, onBringOnline, isBringingOnline, onLinkProvider, isLinkingProvider, providerLinkEnabled, } = args;
102
+ return useMemo(() => {
103
+ const statusBadgeProps = (row) => ({
104
+ node: row,
105
+ status: statusByDatastoreId[row.datastoreId ?? ""],
106
+ deletion: deletionByDatastoreId[row.datastoreId ?? ""],
107
+ });
108
+ return [
109
+ {
110
+ id: datastoreColumnIds.name,
111
+ accessorKey: "name",
112
+ header: datastoreColumnLabels[datastoreColumnIds.name],
113
+ cell: ({ row }) => {
114
+ const { name, depth, datastoreId, isOrganization, isRealmDefault } = row.original;
115
+ const current = isPresent(datastoreId) && datastoreId === currentDatastoreId;
116
+ return (_jsx("div", { className: columnMinWidths[datastoreColumnIds.name], children: _jsxs("div", { className: "flex min-w-0 items-center gap-2", style: indented ? nestedIndent(depth + 1) : undefined, children: [indented && depth > 0 && _jsx(NestedMarker, {}), _jsx("span", { className: cn("truncate", isOrganization || isRealmDefault ? "typography-caption-medium" : "typography-caption"), children: name }), !isPresent(datastoreId) && (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(TriangleAlert, { className: "size-3.5 shrink-0 text-warning-foreground", "aria-label": "No datastore provisioned" }) }), _jsx(TooltipContent, { children: "No datastore provisioned for this group yet." })] })), isRealmDefault && (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Badge, { variant: "copy", size: "sm", className: "shrink-0 cursor-default", tabIndex: 0, children: "Default" }) }), _jsx(TooltipContent, { children: "The realm's own datastore. It can't be deleted." })] })), current && (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsxs(Badge, { "data-testid": `datastore-selected-badge-${row.original.id}`, variant: "copy", size: "sm", className: "shrink-0 cursor-default", tabIndex: 0, children: [_jsx(Check, { className: "size-3" }), "Selected"] }) }), _jsx(TooltipContent, { children: "The datastore you're working in." })] }))] }) }));
117
+ },
118
+ },
119
+ {
120
+ id: datastoreColumnIds.organizationName,
121
+ accessorKey: "organizationName",
122
+ header: datastoreColumnLabels[datastoreColumnIds.organizationName],
123
+ cell: ({ row }) => (_jsx("div", { className: cn(columnMinWidths[datastoreColumnIds.organizationName], "truncate typography-caption"), children: row.original.organizationName || "—" })),
124
+ },
125
+ {
126
+ id: datastoreColumnIds.datastoreId,
127
+ accessorKey: "datastoreId",
128
+ header: datastoreColumnLabels[datastoreColumnIds.datastoreId],
129
+ cell: ({ row }) => (_jsx("div", { className: cn(columnMinWidths[datastoreColumnIds.datastoreId], "truncate typography-small text-muted-foreground"), children: row.original.datastoreId ?? "—" })),
130
+ },
131
+ {
132
+ id: datastoreColumnIds.suggestedMatch,
133
+ accessorKey: "datastoreId",
134
+ header: unlinkedColumnLabels[datastoreColumnIds.suggestedMatch],
135
+ enableSorting: false,
136
+ cell: ({ row }) => {
137
+ const match = suggestedMatchByDatastoreId?.[row.original.datastoreId ?? ""];
138
+ const minWidthClassName = columnMinWidths[datastoreColumnIds.suggestedMatch];
139
+ if (!match)
140
+ return _jsx("div", { className: cn(minWidthClassName, "typography-small text-muted-foreground"), children: "\u2014" });
141
+ return (_jsxs(TruncateTooltip, { text: `${match.organizationName}${match.isOrganization ? "" : match.path}`, className: cn(minWidthClassName, "block truncate typography-small"), children: [_jsx("span", { className: "text-muted-foreground", children: match.organizationName }), !match.isOrganization && _jsx("span", { className: "text-default-foreground", children: match.path })] }));
142
+ },
143
+ },
144
+ {
145
+ id: datastoreColumnIds.status,
146
+ accessorKey: "datastoreId",
147
+ header: datastoreColumnLabels[datastoreColumnIds.status],
148
+ enableSorting: false,
149
+ filterFn: (row, _columnId, filterValue) => datastoreStatusFilterValue(statusBadgeProps(row.original)) === filterValue,
150
+ cell: ({ row }) => (_jsx("div", { className: cn(columnMinWidths[datastoreColumnIds.status], "flex flex-col items-start gap-1"), children: _jsx(DatastoreStatusBadge, { ...statusBadgeProps(row.original) }) })),
69
151
  },
70
- },
71
- {
72
- id: datastoreColumnIds.organizationName,
73
- accessorKey: "organizationName",
74
- header: datastoreColumnLabels[datastoreColumnIds.organizationName],
75
- cell: ({ row }) => (_jsx("div", { className: cn(columnMinWidths[datastoreColumnIds.organizationName], "truncate typography-caption"), children: row.original.organizationName || "—" })),
76
- },
77
- {
78
- id: datastoreColumnIds.datastoreId,
79
- accessorKey: "datastoreId",
80
- header: datastoreColumnLabels[datastoreColumnIds.datastoreId],
81
- cell: ({ row }) => (_jsx("div", { className: cn(columnMinWidths[datastoreColumnIds.datastoreId], "truncate typography-small text-muted-foreground"), children: row.original.datastoreId ?? "—" })),
82
- },
83
- {
84
- id: datastoreColumnIds.suggestedMatch,
85
- accessorKey: "datastoreId",
86
- header: unlinkedColumnLabels[datastoreColumnIds.suggestedMatch],
87
- enableSorting: false,
88
- cell: ({ row }) => {
89
- const match = suggestedMatchByDatastoreId?.[row.original.datastoreId ?? ""];
90
- const minWidthClassName = columnMinWidths[datastoreColumnIds.suggestedMatch];
91
- if (!match)
92
- return _jsx("div", { className: cn(minWidthClassName, "typography-small text-muted-foreground"), children: "\u2014" });
93
- return (_jsxs("div", { className: cn(minWidthClassName, "truncate typography-small"), title: `${match.organizationName}${match.isOrganization ? "" : match.path}`, children: [_jsx("span", { className: "text-muted-foreground", children: match.organizationName }), !match.isOrganization && _jsx("span", { className: "text-default-foreground", children: match.path })] }));
152
+ {
153
+ id: datastoreColumnIds.provisionedBy,
154
+ accessorKey: "provisionedBy",
155
+ header: datastoreColumnLabels[datastoreColumnIds.provisionedBy],
156
+ cell: ({ row }) => (_jsx("div", { className: cn(columnMinWidths[datastoreColumnIds.provisionedBy], "truncate typography-small text-muted-foreground"), children: row.original.provisionedBy ?? "—" })),
94
157
  },
95
- },
96
- {
97
- id: datastoreColumnIds.status,
98
- accessorKey: "datastoreId",
99
- header: datastoreColumnLabels[datastoreColumnIds.status],
100
- enableSorting: false,
101
- filterFn: (row, _columnId, filterValue) => datastoreStatusFilterValue(row.original, statusByDatastoreId[row.original.datastoreId ?? ""]) === filterValue,
102
- cell: ({ row }) => (_jsx("div", { className: columnMinWidths[datastoreColumnIds.status], children: _jsx(DatastoreStatusBadge, { node: row.original, status: statusByDatastoreId[row.original.datastoreId ?? ""] }) })),
103
- },
104
- {
105
- id: datastoreColumnIds.provisionedBy,
106
- accessorKey: "provisionedBy",
107
- header: datastoreColumnLabels[datastoreColumnIds.provisionedBy],
108
- cell: ({ row }) => (_jsx("div", { className: cn(columnMinWidths[datastoreColumnIds.provisionedBy], "truncate typography-small text-muted-foreground"), children: row.original.provisionedBy ?? "—" })),
109
- },
110
- {
111
- id: datastoreColumnIds.provisionedAt,
112
- accessorKey: "provisionedAt",
113
- header: datastoreColumnLabels[datastoreColumnIds.provisionedAt],
114
- cell: ({ row }) => {
115
- const { provisionedAt } = row.original;
116
- const minWidthClassName = columnMinWidths[datastoreColumnIds.provisionedAt];
117
- const at = isPresent(provisionedAt) ? new Date(provisionedAt) : undefined;
118
- if (!isPresent(at) || Number.isNaN(at.getTime())) {
119
- return _jsx("div", { className: cn(minWidthClassName, "typography-small text-muted-foreground"), children: "\u2014" });
120
- }
121
- return (_jsx("div", { className: cn(minWidthClassName, "truncate typography-small text-muted-foreground"), title: at.toLocaleString(), children: formatDistanceToNow(at, { addSuffix: true }) }));
158
+ {
159
+ id: datastoreColumnIds.provisionedAt,
160
+ accessorKey: "provisionedAt",
161
+ header: datastoreColumnLabels[datastoreColumnIds.provisionedAt],
162
+ cell: ({ row }) => {
163
+ const { provisionedAt } = row.original;
164
+ const minWidthClassName = columnMinWidths[datastoreColumnIds.provisionedAt];
165
+ const at = isPresent(provisionedAt) ? new Date(provisionedAt) : undefined;
166
+ if (!isPresent(at) || Number.isNaN(at.getTime())) {
167
+ return _jsx("div", { className: cn(minWidthClassName, "typography-small text-muted-foreground"), children: "\u2014" });
168
+ }
169
+ return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("div", { className: cn(minWidthClassName, "truncate typography-small text-muted-foreground"), children: formatDistanceToNow(at, { addSuffix: true }) }) }), _jsx(TooltipContent, { children: at.toLocaleString() })] }));
170
+ },
122
171
  },
123
- },
124
- {
125
- id: datastoreColumnIds.actions,
126
- header: "",
127
- enableSorting: false,
128
- cell: ({ row }) => {
129
- const datastoreRow = row.original;
130
- const { datastoreId, removed, name, isRealmDefault, isUnlinked } = datastoreRow;
131
- const hasDatastore = isPresent(datastoreId);
132
- const current = hasDatastore && datastoreId === currentDatastoreId;
133
- const status = hasDatastore ? statusByDatastoreId[datastoreId] : undefined;
134
- const category = datastoreStatusCategory(datastoreRow, status);
135
- const notRegistered = category === "notRegistered";
136
- const buildable = category === "materializing";
137
- const registering = hasDatastore && registeringDatastoreIds.has(datastoreId);
138
- const reason = match({ notRegistered, materializing: isMaterializing(status) && !isRealmDefault })
139
- .with({ notRegistered: true }, () => "Not registered - use Register to fix, then try selecting again.")
140
- .with({ materializing: true }, () => "Still materializing - this can take a few minutes.")
141
- .otherwise(() => undefined);
142
- const canSelect = hasDatastore && !reason && !current && !isSwitching;
143
- const canDelete = hasDatastore && !current;
144
- const nestedDatastoreNames = nestedDatastoreNamesByRowId.get(datastoreRow.id);
145
- const deleteBlockedReason = isPresent(nestedDatastoreNames)
146
- ? `Delete the datastores under it first: ${nestedDatastoreNames.join(", ")}`
147
- : undefined;
148
- return (_jsxs("div", { className: cn(columnMinWidths[datastoreColumnIds.actions], "flex items-center justify-end gap-1.5"), children: [providerLinkEnabled === true && isUnmirroredOrganization(datastoreRow) && !removed && (_jsx(Button, { "data-testid": `datastore-link-provider-${datastoreRow.id}`, size: "sm", variant: "secondary", icon: Link2, disabled: isLinkingProvider, onClick: () => onLinkProvider(datastoreRow), children: "Link to identity provider" })), isUnlinked && (_jsx(Button, { "data-testid": `datastore-link-${datastoreRow.id}`, size: "sm", variant: "secondary", icon: Link2, onClick: () => onLink(datastoreRow), children: "Link" })), hasDatastore && !removed && category === "offline" && (_jsx(Button, { "data-testid": `datastore-bring-online-${datastoreRow.id}`, size: "sm", variant: "secondary", icon: Power, disabled: isBringingOnline, onClick: () => onBringOnline(datastoreRow), children: "Bring online" })), !isUnlinked && hasDatastore && !removedSubtreeRowIds.has(datastoreRow.id) && notRegistered && (_jsx(Button, { "data-testid": `datastore-register-${datastoreRow.id}`, size: "sm", variant: "secondary", icon: RefreshCw, disabled: registering, onClick: () => onRegister(datastoreRow), children: "Register" })), !isUnlinked && hasDatastore && current && (_jsx(Button, { "data-testid": `datastore-select-${datastoreRow.id}`, size: "sm", variant: "secondary", disabled: true, children: "Selected" })), !isUnlinked && hasDatastore && !current && !removed && (_jsx(Button, { "data-testid": `datastore-select-${datastoreRow.id}`, size: "sm", variant: "secondary", disabled: !canSelect, title: reason, onClick: () => onSelect(datastoreRow), children: "Select" })), isRealmDefault || (isUnlinked && !canDelete) ? (_jsx("div", { className: "size-6", "aria-hidden": "true" })) : (_jsxs(Dropdown, { children: [_jsx(DropdownTrigger, { asChild: true, children: _jsx("button", { type: "button", "aria-label": `Actions for ${name}`, className: "shrink-0 rounded-sm-v4 p-1 text-muted-foreground hover:bg-faint hover:text-default-foreground", children: _jsx(MoreHorizontal, { className: "size-4" }) }) }), _jsxs(DropdownContent, { align: "end", className: "min-w-52", children: [!isUnlinked && (_jsxs(_Fragment, { children: [_jsx(DropdownItem, { icon: _jsx(Pencil, { className: "size-4" }), onSelect: () => onRename(datastoreRow), children: "Rename" }), isPresent(datastoreRow.organizationAlias) && (_jsx(DropdownItem, { icon: _jsx(Users, { className: "size-4" }), onSelect: () => onManageUsers(datastoreRow), children: "Manage users" })), datastoreRow.isOrganization && isPresent(datastoreRow.organizationAlias) && (_jsx(DropdownItem, { icon: _jsx(Blocks, { className: "size-4" }), onSelect: () => onManageCustomApps(datastoreRow), children: "Custom apps" })), !hasDatastore &&
149
- (matchableRowIds.has(datastoreRow.id) ? (_jsx(DropdownItem, { icon: _jsx(Link2, { className: "size-4" }), onSelect: () => onLinkExisting(datastoreRow), children: "Link existing datastore" })) : (_jsx(DropdownItem, { icon: _jsx(DatabaseZap, { className: "size-4" }), onSelect: () => onProvision(datastoreRow), children: "Provision datastore" }))), hasDatastore && !removedSubtreeRowIds.has(datastoreRow.id) && buildable && (_jsx(DropdownItem, { icon: _jsx(Hammer, { className: "size-4" }), disabled: registering, title: "Starts a build, or joins the one already running", onSelect: () => onRegister(datastoreRow), children: "Build datastore now" })), _jsx(DropdownItem, { icon: _jsx(Plus, { className: "size-4" }), onSelect: () => onAddChild(datastoreRow), children: "Add datastore" }), enableDatastoreRemoval && hasDatastore && !removed && (_jsxs(_Fragment, { children: [_jsx(DropdownSeparator, {}), _jsx(DropdownItem, { className: "text-error-foreground", icon: _jsx(Trash2, { className: "size-4" }), onSelect: () => onRemove(datastoreRow), children: "Remove datastore" })] })), enableDatastoreRemoval && hasDatastore && removed && (_jsxs(_Fragment, { children: [_jsx(DropdownSeparator, {}), _jsx(DropdownItem, { icon: _jsx(RotateCcw, { className: "size-4" }), onSelect: () => onRestore(datastoreRow), children: "Restore datastore" })] })), !enableDatastoreRemoval && canDelete && _jsx(DropdownSeparator, {})] })), canDelete && (_jsx(DisabledActionTooltip, { reason: deleteBlockedReason, children: _jsx(DropdownItem, { className: "text-error-foreground", icon: _jsx(Trash, { className: "size-4" }), disabled: isPresent(deleteBlockedReason), onSelect: () => onDelete(datastoreRow), children: "Delete permanently" }) }))] })] }))] }));
172
+ {
173
+ id: datastoreColumnIds.actions,
174
+ header: "",
175
+ enableSorting: false,
176
+ cell: ({ row }) => {
177
+ const datastoreRow = row.original;
178
+ const { datastoreId, removed, name, isRealmDefault, isUnlinked } = datastoreRow;
179
+ const hasDatastore = isPresent(datastoreId);
180
+ const current = hasDatastore && datastoreId === currentDatastoreId;
181
+ const status = hasDatastore ? statusByDatastoreId[datastoreId] : undefined;
182
+ const category = datastoreStatusCategory(datastoreRow, status);
183
+ const notRegistered = category === "notRegistered";
184
+ const buildable = category === "materializing";
185
+ const registering = hasDatastore && registeringDatastoreIds.has(datastoreId);
186
+ const reason = match({ notRegistered, materializing: isMaterializing(status) && !isRealmDefault })
187
+ .with({ notRegistered: true }, () => "Not registered - use Register to fix, then try selecting again.")
188
+ .with({ materializing: true }, () => "Still materializing - this can take a few minutes.")
189
+ .otherwise(() => undefined);
190
+ const canSelect = hasDatastore && !reason && !current && !isSwitching;
191
+ const canDelete = hasDatastore && !current;
192
+ const deletionState = deletionActionState(hasDatastore ? deletionByDatastoreId[datastoreId] : undefined, nestedDatastoreNamesByRowId.get(datastoreRow.id), isUnlinked === true);
193
+ return (_jsxs("div", { className: cn(columnMinWidths[datastoreColumnIds.actions], "flex items-center justify-end gap-1.5"), children: [providerLinkEnabled === true && isUnmirroredOrganization(datastoreRow) && !removed && (_jsx(Button, { "data-testid": `datastore-link-provider-${datastoreRow.id}`, size: "sm", variant: "secondary", icon: Link2, disabled: isLinkingProvider, onClick: () => onLinkProvider(datastoreRow), children: "Link to identity provider" })), isPresent(deletionState.continueLabel) && (_jsx(DisabledActionTooltip, { reason: deletionState.continueBlockedReason, children: _jsx(Button, { "data-testid": `datastore-continue-deletion-${datastoreRow.id}`, size: "sm", variant: "secondary", icon: RotateCw, disabled: isContinuingDeletion === true || isPresent(deletionState.continueBlockedReason), onClick: () => onContinueDeletion(datastoreRow), children: deletionState.continueLabel }) })), isUnlinked && (_jsx(DisabledActionTooltip, { reason: deletionState.linkBlockedReason, children: _jsx(Button, { "data-testid": `datastore-link-${datastoreRow.id}`, size: "sm", variant: "secondary", icon: Link2, disabled: isPresent(deletionState.linkBlockedReason), onClick: () => onLink(datastoreRow), children: "Link" }) })), hasDatastore && !removed && category === "offline" && (_jsx(Button, { "data-testid": `datastore-bring-online-${datastoreRow.id}`, size: "sm", variant: "secondary", icon: Power, disabled: isBringingOnline, onClick: () => onBringOnline(datastoreRow), children: "Bring online" })), !isUnlinked && hasDatastore && !removedSubtreeRowIds.has(datastoreRow.id) && notRegistered && (_jsx(Button, { "data-testid": `datastore-register-${datastoreRow.id}`, size: "sm", variant: "secondary", icon: RefreshCw, disabled: registering, onClick: () => onRegister(datastoreRow), children: "Register" })), !isUnlinked && hasDatastore && current && (_jsx(Button, { "data-testid": `datastore-select-${datastoreRow.id}`, size: "sm", variant: "secondary", disabled: true, children: "Selected" })), !isUnlinked && hasDatastore && !current && !removed && (_jsx(DisabledActionTooltip, { reason: reason, children: _jsx(Button, { "data-testid": `datastore-select-${datastoreRow.id}`, size: "sm", variant: "secondary", disabled: !canSelect, onClick: () => onSelect(datastoreRow), children: "Select" }) })), isRealmDefault || (isUnlinked && !canDelete) ? (_jsx("div", { className: "size-6", "aria-hidden": "true" })) : (_jsxs(Dropdown, { children: [_jsx(DropdownTrigger, { asChild: true, children: _jsx("button", { type: "button", "aria-label": `Actions for ${name}`, className: "shrink-0 rounded-sm-v4 p-1 text-muted-foreground hover:bg-faint hover:text-default-foreground", children: _jsx(MoreHorizontal, { className: "size-4" }) }) }), _jsxs(DropdownContent, { align: "end", className: "min-w-52", children: [!isUnlinked && (_jsxs(_Fragment, { children: [_jsx(DropdownItem, { icon: _jsx(Pencil, { className: "size-4" }), onSelect: () => onRename(datastoreRow), children: "Rename" }), isPresent(datastoreRow.organizationAlias) && (_jsx(DropdownItem, { icon: _jsx(Users, { className: "size-4" }), onSelect: () => onManageUsers(datastoreRow), children: "Manage users" })), datastoreRow.isOrganization && isPresent(datastoreRow.organizationAlias) && (_jsx(DropdownItem, { icon: _jsx(Blocks, { className: "size-4" }), onSelect: () => onManageCustomApps(datastoreRow), children: "Custom apps" })), !hasDatastore &&
194
+ (matchableRowIds.has(datastoreRow.id) ? (_jsx(DropdownItem, { icon: _jsx(Link2, { className: "size-4" }), onSelect: () => onLinkExisting(datastoreRow), children: "Link existing datastore" })) : (_jsx(DropdownItem, { icon: _jsx(DatabaseZap, { className: "size-4" }), onSelect: () => onProvision(datastoreRow), children: "Provision datastore" }))), hasDatastore && !removedSubtreeRowIds.has(datastoreRow.id) && buildable && (_jsx(DropdownItem, { icon: _jsx(Hammer, { className: "size-4" }), disabled: registering, title: "Starts a build, or joins the one already running", onSelect: () => onRegister(datastoreRow), children: "Build datastore now" })), _jsx(DisabledActionTooltip, { reason: deletionState.addChildBlockedReason, children: _jsx(DropdownItem, { icon: _jsx(Plus, { className: "size-4" }), disabled: isPresent(deletionState.addChildBlockedReason), onSelect: () => onAddChild(datastoreRow), children: "Add datastore" }) }), canDelete && _jsx(DropdownSeparator, {})] })), canDelete && (_jsx(DisabledActionTooltip, { reason: deletionState.deleteBlockedReason, children: _jsx(DropdownItem, { className: "text-error-foreground", icon: _jsx(Trash, { className: "size-4" }), disabled: isPresent(deletionState.deleteBlockedReason), onSelect: () => onDelete(datastoreRow), children: "Delete permanently" }) }))] })] }))] }));
195
+ },
150
196
  },
151
- },
152
- ], [
197
+ ];
198
+ }, [
153
199
  statusByDatastoreId,
200
+ deletionByDatastoreId,
154
201
  currentDatastoreId,
155
202
  isSwitching,
156
203
  indented,
@@ -162,9 +209,9 @@ export function useDatastoreColumns(args) {
162
209
  onLink,
163
210
  onProvision,
164
211
  onLinkExisting,
165
- onRemove,
166
- onRestore,
167
212
  onDelete,
213
+ onContinueDeletion,
214
+ isContinuingDeletion,
168
215
  onRegister,
169
216
  registeringDatastoreIds,
170
217
  removedSubtreeRowIds,
@@ -1 +1 @@
1
- {"version":3,"file":"useDatastoreColumns.js","sourceRoot":"","sources":["../../../../src/routes/datastores/hooks/useDatastoreColumns.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDatastoreColumns.js","sourceRoot":"","sources":["../../../../src/routes/datastores/hooks/useDatastoreColumns.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/datastores/index.tsx"],"names":[],"mappings":"AAsGA,wBAAgB,eAAe,4CAmzB9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/datastores/index.tsx"],"names":[],"mappings":"AA0GA,wBAAgB,eAAe,4CA0yB9B"}
@@ -1,6 +1,5 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useBringDatastoreOnlineMutation, useDeleteDatastoreMutation, useOrganizationLinkingQuery, useLinkOrganizationToProviderMutation, useLinkUnlinkedDatastoreMutation, useDatastoreTreeQuery, useProvisionDatastoreMutation, useRegisterDatastoreMutation, useRemoveDatastoreMutation, useRenameDatastoreGroupMutation, useRestoreDatastoreMutation, useUnlinkedDatastoresQuery, } from "@manta-eu/client";
3
- import { enableDatastoreRemoval } from "@manta-eu/client/shared/constants";
2
+ import { useBringDatastoreOnlineMutation, useContinueDatastoreDeletionMutation, useDeleteDatastoreMutation, useOrganizationLinkingQuery, useLinkOrganizationToProviderMutation, useLinkUnlinkedDatastoreMutation, useDatastoreDeletionsQuery, useDatastoreTreeQuery, useProvisionDatastoreMutation, useRegisterDatastoreMutation, useRenameDatastoreGroupMutation, useUnlinkedDatastoresQuery, } from "@manta-eu/client";
4
3
  import { deriveDatastoreId } from "@manta-eu/client/shared/datastore-id";
5
4
  import { parseError } from "@manta-eu/client/shared/error-utils";
6
5
  import { namesAGroup, pathSegments } from "@manta-eu/client/shared/team";
@@ -21,13 +20,13 @@ import { UnlinkedDatastoresPanel } from "./components/UnlinkedDatastoresPanel.js
21
20
  import { existingOrganizationNameKeys, hiddenRemovedRowCount, hiddenRowCount, matchesProviderFilter, nestedDatastoreNamesByRowId, organizationGroupPaths, organizationNameKey, organizationNames, outsideRemovedSubtrees, realmDefaultRow, removedSubtreeRowIds, toDatastoreRows, unlinkedDatastoreRow, visibilityForStatusFilter, visibleDatastoreRows, } from "./flatten.js";
22
21
  import { datastoreColumnIds, unlinkedColumnLabels, unlinkedColumnOrder, useDatastoreColumns, } from "./hooks/useDatastoreColumns.js";
23
22
  import { useDatastoreTable } from "./hooks/useDatastoreTable.js";
23
+ import { toastDeletionWarning } from "./deletion-warning.js";
24
24
  import { linkProviderOutcome, toastProviderWarning } from "./link-provider.js";
25
25
  import { Banner } from "#components/banner/index";
26
26
  import { Button } from "#components/button/index";
27
27
  import { collectDatastoreIds } from "#components/datastore-management/tree";
28
- import { useDatastoreStatusByDatastoreId } from "#components/datastore-management/use-datastore-status";
28
+ import { useDatastoreDeletionsByDatastoreId, useDatastoreStatusByDatastoreId, } from "#components/datastore-management/use-datastore-status";
29
29
  import { EmptyState } from "#components/empty-state/index";
30
- import { DeleteConfirmationDialog } from "#components/layouts/DeleteConfirmationDialog";
31
30
  import { PageHeader } from "#components/layouts/page/index";
32
31
  import { RouteLayout } from "#components/layouts/RouteLayout";
33
32
  import { ScopeTabs } from "#components/scope-tabs/index";
@@ -36,6 +35,7 @@ import { TablePagination } from "#components/table-pagination/index";
36
35
  import { Tabs, TabsContent } from "#components/tabs/index";
37
36
  import { Tooltip, TooltipContent, TooltipTrigger } from "#components/tooltip/index";
38
37
  import { useDatastoreSelection } from "#hooks/useDatastoreSelection";
38
+ import { invalidateQueries } from "#lib/tanstack-query";
39
39
  import { useAuthContext } from "#providers/AuthContext";
40
40
  import { useMantaClient } from "#providers/index";
41
41
  const realmDatastoreId = activeRealm();
@@ -56,8 +56,8 @@ export function DatastoresRoute() {
56
56
  const [unlinkedSorting, setUnlinkedSorting] = useState([]);
57
57
  const indented = !isPresent(sorting);
58
58
  const [formTarget, setFormTarget] = useState(null);
59
- const [pendingRemoval, setPendingRemoval] = useState(null);
60
59
  const [pendingDeletion, setPendingDeletion] = useState(null);
60
+ const [handedOff, setHandedOff] = useState(new Map());
61
61
  const [renameTarget, setRenameTarget] = useState(null);
62
62
  const [linkDialogTarget, setLinkDialogTarget] = useState(null);
63
63
  const [visibility, setVisibility] = useState({
@@ -119,25 +119,13 @@ export function DatastoresRoute() {
119
119
  toast.success(`Datastore "${name}" is ready`);
120
120
  }
121
121
  toastProviderWarning(result.provisionDatastore.providerWarning);
122
+ toastDeletionWarning(result.provisionDatastore.deletionWarning);
122
123
  },
123
124
  onError: (error) => {
124
125
  const info = parseError(error, "Couldn't create the datastore");
125
126
  toast.error(info.message, { description: info.description });
126
127
  },
127
128
  });
128
- const removeMutation = useRemoveDatastoreMutation(mantaClient, {
129
- onSuccess: (result) => {
130
- invalidateTree();
131
- if (result.removeDatastore.success)
132
- toast.success("Datastore removed");
133
- else
134
- toast.error("Couldn't remove the datastore", { description: result.removeDatastore.error ?? undefined });
135
- },
136
- onError: (error) => {
137
- const info = parseError(error, "Couldn't remove the datastore");
138
- toast.error(info.message, { description: info.description });
139
- },
140
- });
141
129
  const deleteMutation = useDeleteDatastoreMutation(mantaClient, {
142
130
  onSuccess: (result, variables) => {
143
131
  void refreshDatastores();
@@ -147,7 +135,11 @@ export function DatastoresRoute() {
147
135
  toast.error("Couldn't delete the datastore", { description: error ?? undefined });
148
136
  return;
149
137
  }
150
- toast.success(`"${variables.confirmName}" was deleted permanently`);
138
+ setHandedOff((previous) => new Map(previous).set(variables.datastoreId, Date.now()));
139
+ void invalidateQueries(queryClient, [useDatastoreDeletionsQuery]);
140
+ toast.success(`"${variables.confirmName}" is being deleted`, {
141
+ description: "This finishes in the background and can take a few minutes.",
142
+ });
151
143
  },
152
144
  onError: (error) => {
153
145
  setPendingDeletion(null);
@@ -155,16 +147,21 @@ export function DatastoresRoute() {
155
147
  toast.error(info.message, { description: info.description });
156
148
  },
157
149
  });
158
- const restoreMutation = useRestoreDatastoreMutation(mantaClient, {
159
- onSuccess: (result) => {
160
- invalidateTree();
161
- if (result.restoreDatastore.success)
162
- toast.success("Datastore restored");
163
- else
164
- toast.error("Couldn't restore the datastore", { description: result.restoreDatastore.error ?? undefined });
150
+ const continueDeletionMutation = useContinueDatastoreDeletionMutation(mantaClient, {
151
+ onSuccess: (result, variables) => {
152
+ void invalidateQueries(queryClient, [useDatastoreDeletionsQuery]);
153
+ const { success, error } = result.continueDatastoreDeletion;
154
+ if (!success) {
155
+ toast.error("Couldn't continue the deletion", { description: error ?? undefined });
156
+ return;
157
+ }
158
+ setHandedOff((previous) => new Map(previous).set(variables.datastoreId, Date.now()));
159
+ toast.success("The deletion is going on", {
160
+ description: "This finishes in the background and can take a few minutes.",
161
+ });
165
162
  },
166
163
  onError: (error) => {
167
- const info = parseError(error, "Couldn't restore the datastore");
164
+ const info = parseError(error, "Couldn't continue the deletion");
168
165
  toast.error(info.message, { description: info.description });
169
166
  },
170
167
  });
@@ -260,9 +257,17 @@ export function DatastoresRoute() {
260
257
  const unlinkedRows = useMemo(() => (unlinkedData?.unlinkedDatastores ?? []).map((entry) => unlinkedDatastoreRow(entry.id, entry.built)), [unlinkedData]);
261
258
  const allRows = useMemo(() => [...treeRows, ...unlinkedRows], [treeRows, unlinkedRows]);
262
259
  const nestedDatastoreNames = useMemo(() => nestedDatastoreNamesByRowId(treeRows), [treeRows]);
263
- const rows = useMemo(() => visibleDatastoreRows(treeRows, visibility), [treeRows, visibility]);
264
- const unprovisionedCount = useMemo(() => hiddenRowCount(treeRows, visibility, "showUnprovisioned", rows.length), [treeRows, visibility, rows.length]);
265
- const archivedCount = useMemo(() => hiddenRemovedRowCount(treeRows, visibility), [treeRows, visibility]);
260
+ const deletableDatastoreIds = useMemo(() => allRows.flatMap((row) => isPresent(row.datastoreId) && (row.removed || row.isUnlinked === true) ? [row.datastoreId] : []), [allRows]);
261
+ const deletionByDatastoreId = useDatastoreDeletionsByDatastoreId({
262
+ datastoreIds: deletableDatastoreIds,
263
+ enabled: !!isOperator,
264
+ onFinished: refreshDatastores,
265
+ handedOff,
266
+ });
267
+ const rowFilter = useMemo(() => ({ rows: treeRows, visibility, deleting: new Set(Object.keys(deletionByDatastoreId)) }), [treeRows, visibility, deletionByDatastoreId]);
268
+ const rows = useMemo(() => visibleDatastoreRows(rowFilter), [rowFilter]);
269
+ const unprovisionedCount = useMemo(() => hiddenRowCount(rowFilter, "showUnprovisioned", rows.length), [rowFilter, rows.length]);
270
+ const archivedCount = useMemo(() => hiddenRemovedRowCount(rowFilter), [rowFilter]);
266
271
  const groupPathsByOrganization = useMemo(() => organizationGroupPaths(treeRows), [treeRows]);
267
272
  const removedSubtreeIds = useMemo(() => removedSubtreeRowIds(treeRows), [treeRows]);
268
273
  const providerLinkEnabled = linkingQuery.data?.organizationLinking?.linkEnabled;
@@ -332,6 +337,7 @@ export function DatastoresRoute() {
332
337
  ? `Linked to "${result.linkUnlinkedDatastore.datastoreId}", which is still being built`
333
338
  : `Linked to the existing datastore "${result.linkUnlinkedDatastore.datastoreId}"`);
334
339
  toastProviderWarning(result.linkUnlinkedDatastore.providerWarning);
340
+ toastDeletionWarning(result.linkUnlinkedDatastore.deletionWarning);
335
341
  }
336
342
  else {
337
343
  toast.error("Couldn't link the existing datastore", {
@@ -369,10 +375,6 @@ export function DatastoresRoute() {
369
375
  if (isPresent(row.datastoreId))
370
376
  setLinkDialogTarget(row.datastoreId);
371
377
  }, []);
372
- const onRestore = useCallback((row) => {
373
- if (isPresent(row.datastoreId))
374
- restoreMutation.mutate({ datastoreId: row.datastoreId });
375
- }, [restoreMutation.mutate]);
376
378
  const onRegister = useCallback((row) => {
377
379
  if (isPresent(row.datastoreId)) {
378
380
  registerMutation.mutate({ datastoreId: row.datastoreId, launchProvisioning: true });
@@ -391,11 +393,16 @@ export function DatastoresRoute() {
391
393
  if (isPresent(row.datastoreId))
392
394
  bringOnlineMutation.mutate({ datastoreId: row.datastoreId });
393
395
  }, [bringOnlineMutation.mutate]);
396
+ const onContinueDeletion = useCallback((row) => {
397
+ if (isPresent(row.datastoreId))
398
+ continueDeletionMutation.mutate({ datastoreId: row.datastoreId });
399
+ }, [continueDeletionMutation.mutate]);
394
400
  const onLinkProvider = useCallback((row) => {
395
401
  linkProviderMutation.mutate({ organizationId: row.organizationId });
396
402
  }, [linkProviderMutation.mutate]);
397
403
  const columns = useDatastoreColumns({
398
404
  statusByDatastoreId,
405
+ deletionByDatastoreId,
399
406
  currentDatastoreId: datastore?.id ?? realmDatastoreId,
400
407
  isSwitching,
401
408
  indented,
@@ -407,9 +414,9 @@ export function DatastoresRoute() {
407
414
  onLink,
408
415
  onProvision: provisionExisting,
409
416
  onLinkExisting,
410
- onRemove: setPendingRemoval,
411
417
  onDelete: setPendingDeletion,
412
- onRestore,
418
+ onContinueDeletion,
419
+ isContinuingDeletion: continueDeletionMutation.isPending,
413
420
  onRename: setRenameTarget,
414
421
  onRegister,
415
422
  registeringDatastoreIds,
@@ -423,29 +430,18 @@ export function DatastoresRoute() {
423
430
  providerLinkEnabled,
424
431
  });
425
432
  const filterToggles = [
426
- ...(enableDatastoreRemoval
433
+ ...(showArchived || archivedCount > 0
427
434
  ? [
428
435
  {
429
436
  key: "archived",
430
- label: showArchived ? "Hide archived" : "Show archived",
431
- description: "Datastores that were removed; nothing is deleted, so they can be restored.",
437
+ label: showArchived ? "Hide removed" : `Show removed (${archivedCount})`,
438
+ description: "Out of use: a permanent delete stopped partway, or they were removed before removal was turned off.",
432
439
  icon: showArchived ? EyeOff : Archive,
433
440
  active: showArchived,
434
441
  onToggle: () => toggleVisibility("showArchived"),
435
442
  },
436
443
  ]
437
- : showArchived || archivedCount > 0
438
- ? [
439
- {
440
- key: "archived",
441
- label: showArchived ? "Hide removed" : `Show removed (${archivedCount})`,
442
- description: "Out of use: a permanent delete stopped partway, or they were removed before removal was turned off.",
443
- icon: showArchived ? EyeOff : Archive,
444
- active: showArchived,
445
- onToggle: () => toggleVisibility("showArchived"),
446
- },
447
- ]
448
- : []),
444
+ : []),
449
445
  ...(showUnprovisioned || unprovisionedCount > 0
450
446
  ? [
451
447
  {
@@ -563,11 +559,6 @@ export function DatastoresRoute() {
563
559
  if (isPresent(pendingDeletion.datastoreId)) {
564
560
  deleteMutation.mutate({ datastoreId: pendingDeletion.datastoreId, confirmName });
565
561
  }
566
- }, onCancel: () => setPendingDeletion(null) })), pendingRemoval && isPresent(pendingRemoval.datastoreId) && (_jsx(DeleteConfirmationDialog, { title: "Remove datastore", description: `Remove "${pendingRemoval.name}"? Its knowledge graph is taken offline and it stops appearing here. Nothing is deleted - Infisical integrations are untouched - so it can be restored later.`, confirmLabel: "Remove", confirmingLabel: "Removing...", open: true, onOpenChange: (nextOpen) => !nextOpen && setPendingRemoval(null), onConfirm: () => {
567
- if (isPresent(pendingRemoval.datastoreId)) {
568
- removeMutation.mutate({ datastoreId: pendingRemoval.datastoreId });
569
- }
570
- setPendingRemoval(null);
571
- }, onCancel: () => setPendingRemoval(null) }))] }));
562
+ }, onCancel: () => setPendingDeletion(null) }))] }));
572
563
  }
573
564
  //# sourceMappingURL=index.js.map