{"version":3,"sources":["webpack:///./scripts/components/toolbox/convertSavedToolbox.js"],"names":["convertSavedToolbox","savedItems","allItems","returnObj","items","remainingItems","someToolboxValid","some","savedItem","r","forEach","allItem","Id","length","filter","currentAllItem","i","SortOrder","push","sort","sortOrder","remaining","a","b","orderA","orderB","comparison"],"mappings":"0FAEO,SAASA,EAAoBC,EAAYC,GAC9C,IAAIC,EAAY,GACZC,EAAQ,GACRC,EAAiB,GAGjBC,EAAmBL,EAAWM,MAAK,SAACC,GACtC,IAAIC,GAAI,EAMR,OALAP,EAASQ,SAAQ,SAACC,GACZA,EAAQC,KAAOJ,EAAUI,KAC3BH,GAAI,MAGDA,KAsCT,OA/BIR,EAAWY,OAAS,GAAKP,GAC3BF,EAAQF,EAASY,QAAO,SAACC,GAEvB,IADA,IAAIN,GAAI,EACCO,EAAI,EAAGA,EAAIf,EAAWY,OAAQG,IACjCf,EAAWe,GAAGJ,KAAOG,EAAeH,KACtCG,EAAeE,UAAYhB,EAAWe,GAAGC,UACzCR,GAAI,GAQR,OAHKA,GACHJ,EAAea,KAAKH,GAEfN,MAGHU,KAAKC,GAEXhB,EAAQF,EAGVC,EAAUC,MAAQA,EAClBD,EAAUkB,UAAYhB,EAQfF,EAGT,SAASiB,EAAUE,EAAGC,GACpB,IAAMC,EAASF,EAAEL,UACXQ,EAASF,EAAEN,UACbS,EAAa,EAMjB,OALIF,EAASC,EACXC,EAAa,EACJF,EAASC,IAClBC,GAAc,GAETA,EAjET","file":"24.502d1ec277c5ab3b3ed6.js","sourcesContent":["// Helper to convert saved list of just toolbox ids to a full toolbox object ready to render\n\nexport function convertSavedToolbox(savedItems, allItems) {\n var returnObj = {};\n var items = [];\n var remainingItems = [];\n\n // First check at least one iD is valid to avoid returning an empty set if savesaved iDs somehow no longer match any items\n var someToolboxValid = savedItems.some((savedItem) => {\n let r = false;\n allItems.forEach((allItem) => {\n if (allItem.Id === savedItem.Id) {\n r = true;\n }\n });\n return r;\n });\n\n // console.log('Some valid:');\n // console.log(someToolboxValid);\n\n // Filter all items based on the saved list. This ensures content is updated and invalid ids from saved items are skipped\n if (savedItems.length > 0 && someToolboxValid) {\n items = allItems.filter((currentAllItem) => {\n let r = false;\n for (var i = 0; i < savedItems.length; i++) {\n if (savedItems[i].Id === currentAllItem.Id) {\n currentAllItem.SortOrder = savedItems[i].SortOrder; //Transfer the sort order across\n r = true;\n }\n }\n\n //Loop complete and it wasn't found, must go to remaining list\n if (!r) {\n remainingItems.push(currentAllItem);\n }\n return r;\n });\n\n items.sort(sortOrder); //Sort based on SortOrder prop\n } else {\n items = allItems;\n }\n\n returnObj.items = items;\n returnObj.remaining = remainingItems;\n // console.log('Items to push to return obj:');\n // console.log(items);\n // console.log('Saved list:');\n // console.log(savedItems);\n // console.log('Converted toolbox list:');\n // console.log(returnObj)\n\n return returnObj;\n}\n\nfunction sortOrder(a, b) {\n const orderA = a.SortOrder;\n const orderB = b.SortOrder;\n let comparison = 0;\n if (orderA > orderB) {\n comparison = 1;\n } else if (orderA < orderB) {\n comparison = -1;\n }\n return comparison;\n}\n"],"sourceRoot":""}