{"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<FolderNode, 'children'> {\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({\n      id: parentToStore?.value,\n      label: parentToStore?.label,\n      path: parentToStore?.path,\n    });\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","path","reverse"],"mappings":";;AAWO,MAAMA,gBAAAA,GAAmB,CAACC,OAAAA,EAAiCC,eAAAA,GAAAA;AAChE,IAAA,MAAMC,UAAmB,EAAE;AAC3B,IAAA,MAAMC,cAAcC,WAAAA,CAAYJ,OAAAA,CAAAA;IAChC,MAAMK,aAAAA,GAAgBF,YAAYG,IAAI,CAAC,CAACC,MAAAA,GAAWA,MAAAA,CAAOC,KAAK,KAAKP,eAAAA,CAAAA;AAEpE,IAAA,IAAI,CAACI,aAAAA,EAAe;AAClB,QAAA,OAAO,EAAE;AACX,IAAA;IAEA,IAAI,EAAEI,MAAM,EAAE,GAAGJ,aAAAA;AAEjB,IAAA,MAAOI,WAAWC,SAAAA,CAAW;;QAE3B,MAAMC,aAAAA,GAAgBR,YAAYG,IAAI,CAAC,CAAC,EAAEE,KAAK,EAAE,GAAKA,KAAAA,KAAUC,MAAAA,CAAAA;AAChEP,QAAAA,OAAAA,CAAQU,IAAI,CAAC;AACXC,YAAAA,EAAAA,EAAIF,aAAAA,EAAeH,KAAAA;AACnBM,YAAAA,KAAAA,EAAOH,aAAAA,EAAeG,KAAAA;AACtBC,YAAAA,IAAAA,EAAMJ,aAAAA,EAAeI;AACvB,SAAA,CAAA;AACAN,QAAAA,MAAAA,GAASE,aAAAA,EAAeF,MAAAA;AAC1B,IAAA;AAEA,IAAA,OAAOP,QAAQc,OAAO,EAAA;AACxB;;;;"}