{"version":3,"file":"getFolderParents.mjs","sources":["../../../admin/src/utils/getFolderParents.ts"],"sourcesContent":["import { flattenTree } from '../components/SelectTree/utils/flattenTree';\n\nimport type { FolderNode } from '../../../shared/contracts/folders';\n\ninterface FolderStructureValue extends Omit {\n value: string | number | null;\n children?: FolderStructureValue[];\n}\n\ntype Parents = { id?: number | string | null; label?: string; path?: string }[];\n\nexport const getFolderParents = (folders: FolderStructureValue[], currentFolderId: number) => {\n const parents: Parents = [];\n const flatFolders = flattenTree(folders);\n const currentFolder = flatFolders.find((folder) => folder.value === currentFolderId);\n\n if (!currentFolder) {\n return [];\n }\n\n let { parent } = currentFolder;\n\n while (parent !== undefined) {\n // eslint-disable-next-line no-loop-func\n const parentToStore = flatFolders.find(({ value }) => value === parent);\n parents.push({ id: parentToStore?.value, label: parentToStore?.label });\n parent = parentToStore?.parent;\n }\n\n return parents.reverse();\n};\n"],"names":["getFolderParents","folders","currentFolderId","parents","flatFolders","flattenTree","currentFolder","find","folder","value","parent","undefined","parentToStore","push","id","label","reverse"],"mappings":";;AAWO,MAAMA,gBAAmB,GAAA,CAACC,OAAiCC,EAAAA,eAAAA,GAAAA;AAChE,IAAA,MAAMC,UAAmB,EAAE;AAC3B,IAAA,MAAMC,cAAcC,WAAYJ,CAAAA,OAAAA,CAAAA;IAChC,MAAMK,aAAAA,GAAgBF,YAAYG,IAAI,CAAC,CAACC,MAAWA,GAAAA,MAAAA,CAAOC,KAAK,KAAKP,eAAAA,CAAAA;AAEpE,IAAA,IAAI,CAACI,aAAe,EAAA;AAClB,QAAA,OAAO,EAAE;AACX;IAEA,IAAI,EAAEI,MAAM,EAAE,GAAGJ,aAAAA;AAEjB,IAAA,MAAOI,WAAWC,SAAW,CAAA;;QAE3B,MAAMC,aAAAA,GAAgBR,YAAYG,IAAI,CAAC,CAAC,EAAEE,KAAK,EAAE,GAAKA,KAAUC,KAAAA,MAAAA,CAAAA;AAChEP,QAAAA,OAAAA,CAAQU,IAAI,CAAC;AAAEC,YAAAA,EAAAA,EAAIF,aAAeH,EAAAA,KAAAA;AAAOM,YAAAA,KAAAA,EAAOH,aAAeG,EAAAA;AAAM,SAAA,CAAA;AACrEL,QAAAA,MAAAA,GAASE,aAAeF,EAAAA,MAAAA;AAC1B;AAEA,IAAA,OAAOP,QAAQa,OAAO,EAAA;AACxB;;;;"}