@manta-eu/react 0.9.0 → 0.11.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 (46) 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/routes/datastores/components/LinkUnlinkedDatastoreDialog.d.ts.map +1 -1
  15. package/dist/routes/datastores/components/LinkUnlinkedDatastoreDialog.js +2 -0
  16. package/dist/routes/datastores/components/LinkUnlinkedDatastoreDialog.js.map +1 -1
  17. package/dist/routes/datastores/components/StatusBadge.d.ts +8 -6
  18. package/dist/routes/datastores/components/StatusBadge.d.ts.map +1 -1
  19. package/dist/routes/datastores/components/StatusBadge.js +59 -20
  20. package/dist/routes/datastores/components/StatusBadge.js.map +1 -1
  21. package/dist/routes/datastores/deletion-warning.d.ts +2 -0
  22. package/dist/routes/datastores/deletion-warning.d.ts.map +1 -0
  23. package/dist/routes/datastores/deletion-warning.js +8 -0
  24. package/dist/routes/datastores/deletion-warning.js.map +1 -0
  25. package/dist/routes/datastores/flatten.d.ts +8 -3
  26. package/dist/routes/datastores/flatten.d.ts.map +1 -1
  27. package/dist/routes/datastores/flatten.js +16 -11
  28. package/dist/routes/datastores/flatten.js.map +1 -1
  29. package/dist/routes/datastores/hooks/useDatastoreColumns.d.ts +12 -2
  30. package/dist/routes/datastores/hooks/useDatastoreColumns.d.ts.map +1 -1
  31. package/dist/routes/datastores/hooks/useDatastoreColumns.js +142 -95
  32. package/dist/routes/datastores/hooks/useDatastoreColumns.js.map +1 -1
  33. package/dist/routes/datastores/index.d.ts.map +1 -1
  34. package/dist/routes/datastores/index.js +48 -57
  35. package/dist/routes/datastores/index.js.map +1 -1
  36. package/package.json +12 -7
  37. package/src/app-subpaths.json +1 -0
  38. package/src/components/datastore-management/use-datastore-status.ts +137 -2
  39. package/src/components/explain-fact/ExplainFact.tsx +19 -17
  40. package/src/components/fact/Fact.tsx +103 -0
  41. package/src/routes/datastores/components/LinkUnlinkedDatastoreDialog.tsx +2 -0
  42. package/src/routes/datastores/components/StatusBadge.tsx +90 -27
  43. package/src/routes/datastores/deletion-warning.ts +7 -0
  44. package/src/routes/datastores/flatten.ts +27 -14
  45. package/src/routes/datastores/hooks/useDatastoreColumns.tsx +198 -117
  46. package/src/routes/datastores/index.tsx +67 -72
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/datastores/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/datastores/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@manta-eu/react",
3
- "version": "0.9.0",
3
+ "version": "0.11.0",
4
4
  "description": "The Manta design system, knowledge-graph UI and agent components",
5
5
  "homepage": "https://developers.manta.eu",
6
6
  "keywords": [
@@ -169,6 +169,11 @@
169
169
  "types": "./dist/components/explain-fact/ExplainFact.d.ts",
170
170
  "import": "./dist/components/explain-fact/ExplainFact.js"
171
171
  },
172
+ "./components/fact/Fact": {
173
+ "manta-source": "./src/components/fact/Fact.tsx",
174
+ "types": "./dist/components/fact/Fact.d.ts",
175
+ "import": "./dist/components/fact/Fact.js"
176
+ },
172
177
  "./components/graph": {
173
178
  "manta-source": "./src/components/graph/index.ts",
174
179
  "types": "./dist/components/graph/index.d.ts",
@@ -1149,12 +1154,12 @@
1149
1154
  "usehooks-ts": "^3.1.1",
1150
1155
  "zod": "^4.6.7",
1151
1156
  "zustand": "^5.0.2",
1152
- "@manta-eu/auth": "0.9.0",
1153
- "@manta-eu/client": "0.9.0",
1154
- "@manta-eu/datalog-parser": "0.9.0",
1155
- "@manta-eu/ldo": "0.9.0",
1156
- "@manta-eu/lib": "0.9.0",
1157
- "@manta-eu/rdf-lib": "0.9.0"
1157
+ "@manta-eu/client": "0.11.0",
1158
+ "@manta-eu/datalog-parser": "0.11.0",
1159
+ "@manta-eu/auth": "0.11.0",
1160
+ "@manta-eu/ldo": "0.11.0",
1161
+ "@manta-eu/lib": "0.11.0",
1162
+ "@manta-eu/rdf-lib": "0.11.0"
1158
1163
  },
1159
1164
  "peerDependencies": {
1160
1165
  "@ulb-darmstadt/shacl-form": "^2.1.1-rc1",
@@ -19,6 +19,7 @@
19
19
  "./components/datastore-management/use-datastore-status",
20
20
  "./components/embedded-chat",
21
21
  "./components/explain-fact/ExplainFact",
22
+ "./components/fact/Fact",
22
23
  "./components/graph",
23
24
  "./components/graph/NodeDetailPanel/AgentsNodeDetailPanel",
24
25
  "./components/layouts/DeleteConfirmationDialog",
@@ -1,6 +1,11 @@
1
- import { useDatastoreProvisioningStatusesQuery } from "@manta-eu/client";
1
+ import {
2
+ useDatastoreDeletionsQuery,
3
+ useDatastoreProvisioningStatusesQuery,
4
+ type GQLDatastoreDeletionsQuery,
5
+ } from "@manta-eu/client";
2
6
  import { isPresent } from "@manta-eu/lib/present";
3
- import { useMemo } from "react";
7
+ import { keepPreviousData } from "@tanstack/react-query";
8
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
9
  import type { DatastoreStatus } from "./tree";
5
10
  import { useMantaClient } from "#providers/index";
6
11
 
@@ -29,3 +34,133 @@ export function useDatastoreStatusByDatastoreId(
29
34
  [data],
30
35
  );
31
36
  }
37
+
38
+ export type DatastoreDeletion = {
39
+ step?: string | null;
40
+ retrying: boolean;
41
+ failure?: string | null;
42
+ error?: string | null;
43
+ unregistered?: boolean | null;
44
+ unreadable?: boolean;
45
+ };
46
+
47
+ type ListedDeletion = GQLDatastoreDeletionsQuery["datastoreDeletions"][number];
48
+
49
+ const deletionPollMs = 10_000;
50
+ const backoffPollMs = 60_000;
51
+ const allDeletionsPollMs = 60_000;
52
+
53
+ function runningIds(deletions: ListedDeletion[]): string[] {
54
+ return deletions.flatMap(({ datastoreId, error }) => (isPresent(error) ? [] : [datastoreId]));
55
+ }
56
+
57
+ function followedPollMs(deletions: ListedDeletion[]): number | false {
58
+ const running = deletions.filter(({ error }) => !isPresent(error));
59
+ if (!isPresent(running)) return false;
60
+ return running.every(({ retrying, unreadable }) => retrying || unreadable) ? backoffPollMs : deletionPollMs;
61
+ }
62
+
63
+ const handedOffDeletion: DatastoreDeletion = { step: "purge", retrying: false, error: null };
64
+
65
+ function useListedDeletions(
66
+ datastoreIds: string[],
67
+ enabled: boolean,
68
+ ): { listed: ListedDeletion[] | undefined; lastAnsweredAt: (datastoreId: string) => number } {
69
+ const { mantaClient } = useMantaClient();
70
+
71
+ const lookingUp = enabled && isPresent(datastoreIds);
72
+ const { data, isPlaceholderData, dataUpdatedAt } = useDatastoreDeletionsQuery(
73
+ mantaClient,
74
+ { datastoreIds },
75
+ { enabled: lookingUp, placeholderData: keepPreviousData, refetchInterval: allDeletionsPollMs },
76
+ );
77
+ const answeredAt = lookingUp && !isPlaceholderData ? dataUpdatedAt : 0;
78
+
79
+ const [answeredAtById, setAnsweredAtById] = useState<ReadonlyMap<string, number>>(new Map());
80
+ useEffect(() => {
81
+ if (answeredAt === 0) return;
82
+ setAnsweredAtById((previous) =>
83
+ datastoreIds.every((datastoreId) => (previous.get(datastoreId) ?? 0) >= answeredAt)
84
+ ? previous
85
+ : new Map([
86
+ ...previous,
87
+ ...datastoreIds.map(
88
+ (datastoreId) => [datastoreId, Math.max(answeredAt, previous.get(datastoreId) ?? 0)] as const,
89
+ ),
90
+ ]),
91
+ );
92
+ }, [answeredAt, datastoreIds]);
93
+
94
+ const lastAnsweredAt = useCallback(
95
+ (datastoreId: string) => Math.max(answeredAt, answeredAtById.get(datastoreId) ?? 0),
96
+ [answeredAt, answeredAtById],
97
+ );
98
+
99
+ return { listed: lookingUp ? data?.datastoreDeletions : undefined, lastAnsweredAt };
100
+ }
101
+
102
+ function useFollowedDeletions(listed: ListedDeletion[] | undefined): ListedDeletion[] {
103
+ const { mantaClient } = useMantaClient();
104
+
105
+ const running = useMemo(() => runningIds(listed ?? []), [listed]);
106
+ const { data: followed } = useDatastoreDeletionsQuery(
107
+ mantaClient,
108
+ { datastoreIds: running },
109
+ {
110
+ enabled: isPresent(running),
111
+ refetchInterval: (query) => followedPollMs(query.state.data?.datastoreDeletions ?? []),
112
+ },
113
+ );
114
+
115
+ return useMemo(() => {
116
+ const latest = followed?.datastoreDeletions;
117
+ return (listed ?? []).flatMap((deletion) =>
118
+ isPresent(deletion.error) || !latest
119
+ ? [deletion]
120
+ : latest.filter(({ datastoreId }) => datastoreId === deletion.datastoreId),
121
+ );
122
+ }, [listed, followed]);
123
+ }
124
+
125
+ function useReportFinished(deletions: Record<string, DatastoreDeletion>, onFinished: () => void): void {
126
+ const wasRunning = useRef(new Set<string>());
127
+ useEffect(() => {
128
+ const listed = new Set(Object.keys(deletions));
129
+ const finished = [...wasRunning.current].some((datastoreId) => !listed.has(datastoreId));
130
+ wasRunning.current = new Set(
131
+ Object.entries(deletions).flatMap(([datastoreId, { error }]) => (isPresent(error) ? [] : [datastoreId])),
132
+ );
133
+ if (finished) onFinished();
134
+ }, [deletions, onFinished]);
135
+ }
136
+
137
+ export type DatastoreDeletionsOptions = {
138
+ datastoreIds: string[];
139
+ enabled: boolean;
140
+ onFinished: () => void;
141
+ handedOff: ReadonlyMap<string, number>;
142
+ };
143
+
144
+ export function useDatastoreDeletionsByDatastoreId({
145
+ datastoreIds,
146
+ enabled,
147
+ onFinished,
148
+ handedOff,
149
+ }: DatastoreDeletionsOptions): Record<string, DatastoreDeletion> {
150
+ const { listed, lastAnsweredAt } = useListedDeletions(datastoreIds, enabled);
151
+ const current = useFollowedDeletions(listed);
152
+
153
+ const deletions = useMemo(() => {
154
+ const lookedUp = new Set(datastoreIds);
155
+ const awaited = [...handedOff].flatMap(([datastoreId, at]) =>
156
+ lookedUp.has(datastoreId) && lastAnsweredAt(datastoreId) < at ? [[datastoreId, handedOffDeletion] as const] : [],
157
+ );
158
+ return {
159
+ ...Object.fromEntries(current.map(({ datastoreId, ...rest }) => [datastoreId, rest])),
160
+ ...Object.fromEntries(awaited),
161
+ };
162
+ }, [current, datastoreIds, handedOff, lastAnsweredAt]);
163
+
164
+ useReportFinished(deletions, onFinished);
165
+ return deletions;
166
+ }
@@ -1,6 +1,6 @@
1
1
  import { useExplainFactQuery } from "@manta-eu/client";
2
2
  import { ChevronRight } from "lucide-react";
3
- import { useMemo, useState } from "react";
3
+ import { useMemo, useState, type ReactNode } from "react";
4
4
  import { Link } from "react-router";
5
5
  import { OutdatedFactNotice } from "./OutdatedFactNotice";
6
6
  import {
@@ -29,6 +29,7 @@ export type ExplainFactBaseProps = {
29
29
  namedGraph?: string;
30
30
  objectDatatype?: string;
31
31
  className?: string;
32
+ explainLink?: ReactNode;
32
33
  };
33
34
 
34
35
  export type ExplainFactProps = ExplainFactBaseProps & { data?: ExplainFactOutput };
@@ -48,15 +49,11 @@ export function ExplainFact(props: ExplainFactProps) {
48
49
  function ExplainFactFromFetch(props: ExplainFactBaseProps) {
49
50
  const { mode, subject, predicate, object, namedGraph, objectDatatype, className } = props;
50
51
 
51
- const { mantaClient } = useMantaClient();
52
+ const { mantaClient, datastoreId } = useMantaClient();
52
53
 
53
- const queryResult = useExplainFactQuery(mantaClient, {
54
- subject,
55
- predicate,
56
- object,
57
- namedGraph,
58
- objectDatatype,
59
- summarize: false,
54
+ const variables = { subject, predicate, object, namedGraph, objectDatatype, summarize: false };
55
+ const queryResult = useExplainFactQuery(mantaClient, variables, {
56
+ queryKey: ["ExplainFact", datastoreId, variables],
60
57
  });
61
58
 
62
59
  const isFull = mode === "full";
@@ -106,7 +103,8 @@ function ExplainFactFromFetch(props: ExplainFactBaseProps) {
106
103
  }
107
104
 
108
105
  function ExplainFactFromData(props: ExplainFactBaseProps & { data: ExplainFactOutput; onShowCurrent?: () => void }) {
109
- const { mode, data, subject, predicate, object, namedGraph, objectDatatype, onShowCurrent, className } = props;
106
+ const { mode, data, subject, predicate, object, namedGraph, objectDatatype, onShowCurrent, className, explainLink } =
107
+ props;
110
108
 
111
109
  const tree = useMemo(() => normalize(data), [data]);
112
110
  const [displayMode, setDisplayMode] = useState<ExplainDisplayMode>("labels");
@@ -142,13 +140,17 @@ function ExplainFactFromData(props: ExplainFactBaseProps & { data: ExplainFactOu
142
140
  onModeChange={setDisplayMode}
143
141
  subjectTerm={subjectTerm}
144
142
  explainLink={
145
- <Link
146
- to={buildExplainPath(requestedSpo)}
147
- className="inline-flex shrink-0 items-center gap-1.5 typography-tiny-medium text-primary hover:text-primary-hover"
148
- >
149
- Open full explanation
150
- <ChevronRight className="size-3" />
151
- </Link>
143
+ explainLink !== undefined ? (
144
+ explainLink
145
+ ) : (
146
+ <Link
147
+ to={buildExplainPath(requestedSpo)}
148
+ className="inline-flex shrink-0 items-center gap-1.5 typography-tiny-medium text-primary hover:text-primary-hover"
149
+ >
150
+ Open full explanation
151
+ <ChevronRight className="size-3" />
152
+ </Link>
153
+ )
152
154
  }
153
155
  outdatedFactNotice={onShowCurrent && <OutdatedFactNotice spo={snapshotSpo} onShowCurrent={onShowCurrent} />}
154
156
  className={className}