mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-28 18:36:23 +02:00
clean up SURFSENSE_DOCS handling from DocumentsTableShell
This commit is contained in:
parent
4fa350cf64
commit
2f245d2d03
1 changed files with 7 additions and 17 deletions
|
|
@ -79,25 +79,17 @@ export function DocumentsTableShell({
|
||||||
[documents, sortKey, sortDesc]
|
[documents, sortKey, sortDesc]
|
||||||
);
|
);
|
||||||
|
|
||||||
// Filter out SURFSENSE_DOCS for selection purposes
|
const allSelectedOnPage = sorted.length > 0 && sorted.every((d) => selectedIds.has(d.id));
|
||||||
const selectableDocs = React.useMemo(
|
const someSelectedOnPage = sorted.some((d) => selectedIds.has(d.id)) && !allSelectedOnPage;
|
||||||
() => sorted.filter((d) => d.document_type !== "SURFSENSE_DOCS"),
|
|
||||||
[sorted]
|
|
||||||
);
|
|
||||||
|
|
||||||
const allSelectedOnPage =
|
|
||||||
selectableDocs.length > 0 && selectableDocs.every((d) => selectedIds.has(d.id));
|
|
||||||
const someSelectedOnPage =
|
|
||||||
selectableDocs.some((d) => selectedIds.has(d.id)) && !allSelectedOnPage;
|
|
||||||
|
|
||||||
const toggleAll = (checked: boolean) => {
|
const toggleAll = (checked: boolean) => {
|
||||||
const next = new Set(selectedIds);
|
const next = new Set(selectedIds);
|
||||||
if (checked)
|
if (checked)
|
||||||
selectableDocs.forEach((d) => {
|
sorted.forEach((d) => {
|
||||||
next.add(d.id);
|
next.add(d.id);
|
||||||
});
|
});
|
||||||
else
|
else
|
||||||
selectableDocs.forEach((d) => {
|
sorted.forEach((d) => {
|
||||||
next.delete(d.id);
|
next.delete(d.id);
|
||||||
});
|
});
|
||||||
setSelectedIds(next);
|
setSelectedIds(next);
|
||||||
|
|
@ -238,10 +230,9 @@ export function DocumentsTableShell({
|
||||||
const icon = getDocumentTypeIcon(doc.document_type);
|
const icon = getDocumentTypeIcon(doc.document_type);
|
||||||
const title = doc.title;
|
const title = doc.title;
|
||||||
const truncatedTitle = title.length > 30 ? `${title.slice(0, 30)}...` : title;
|
const truncatedTitle = title.length > 30 ? `${title.slice(0, 30)}...` : title;
|
||||||
const isSurfsenseDoc = doc.document_type === "SURFSENSE_DOCS";
|
|
||||||
return (
|
return (
|
||||||
<motion.tr
|
<motion.tr
|
||||||
key={`${doc.document_type}-${doc.id}`}
|
key={doc.id}
|
||||||
initial={{ opacity: 0, y: 10 }}
|
initial={{ opacity: 0, y: 10 }}
|
||||||
animate={{
|
animate={{
|
||||||
opacity: 1,
|
opacity: 1,
|
||||||
|
|
@ -258,9 +249,8 @@ export function DocumentsTableShell({
|
||||||
>
|
>
|
||||||
<TableCell className="px-4 py-3">
|
<TableCell className="px-4 py-3">
|
||||||
<Checkbox
|
<Checkbox
|
||||||
checked={selectedIds.has(doc.id) && !isSurfsenseDoc}
|
checked={selectedIds.has(doc.id)}
|
||||||
onCheckedChange={(v) => !isSurfsenseDoc && toggleOne(doc.id, !!v)}
|
onCheckedChange={(v) => toggleOne(doc.id, !!v)}
|
||||||
disabled={isSurfsenseDoc}
|
|
||||||
aria-label="Select row"
|
aria-label="Select row"
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue