UNPKG

dapth-payload-plugin-tree-list

Version:

A plugin for Payload CMS that adds a collapsible Tree list view.

26 lines (25 loc) 727 B
export function generateTreeList(docs) { if (!docs || !docs.length) { return []; } const docsById = docs.reduce((acc, doc, index)=>{ acc[doc.id] = { ...doc, children: [], originalIndex: index }; return acc; }, {}); const childIds = new Set(); const rootDocs = []; docs.forEach((doc)=>{ if (doc.parent === null || !docsById[doc.parent]) { rootDocs.push(docsById[doc.id]); } else { docsById[doc.parent].children.push(docsById[doc.id]); childIds.add(doc.id); } }); return rootDocs.filter((doc)=>!childIds.has(doc.id)); } //# sourceMappingURL=generateTreeList.js.map