alinea
Version:
Headless git-based CMS
74 lines (70 loc) • 1.82 kB
JavaScript
import {
dist_default
} from "../../../chunks/chunk-A5O3N2GS.js";
import {
useQuery
} from "../../../chunks/chunk-YWCPLD22.js";
import "../../../chunks/chunk-NZLE2WMY.js";
// src/dashboard/view/explorer/ExplorerRow.tsx
import { memo } from "react";
import { useGraph } from "../../hook/UseGraph.js";
import { ExplorerItem } from "./ExplorerItem.js";
// src/dashboard/view/explorer/ExplorerRow.module.scss
var ExplorerRow_module_default = {
"root": "alinea-ExplorerRow"
};
// src/dashboard/view/explorer/ExplorerRow.tsx
import { jsx } from "react/jsx-runtime";
var styles = dist_default(ExplorerRow_module_default);
var ExplorerRow = memo(function ExplorerRow2({
schema,
query,
batchSize,
amount,
from,
summaryView,
defaultView
}) {
const graph = useGraph();
const start = Math.floor(from / batchSize);
const startAt = from % batchSize;
const { data } = useQuery(
["explorer", "batch", query, batchSize, start],
async () => {
return graph.find({
...query,
skip: start * batchSize,
take: batchSize,
status: "preferDraft"
});
},
{ refetchOnWindowFocus: false, keepPreviousData: true, staleTime: 1e4 }
);
const entries = data?.slice(startAt, startAt + amount);
return /* @__PURE__ */ jsx("div", { className: styles.root(), children: /* @__PURE__ */ jsx(
"div",
{
style: {
display: "grid",
gridTemplateColumns: `repeat(${amount}, 1fr)`,
height: "100%"
},
children: entries?.map((entry) => {
if (!entry) return null;
return /* @__PURE__ */ jsx(
ExplorerItem,
{
schema,
entry,
summaryView,
defaultView
},
entry.id
);
})
}
) });
});
export {
ExplorerRow
};