{"version":3,"file":"uppsala.togglestatekeeper.min.js","names":["define","storageService","instance","storeOpenedAreas","storedObjId","elementId","isToggledOpen","storedObj","getStoredItem","opened","openedItem","id","objectExistsInArray","push","itemsToKeep","i","length","toString","setStoredItem","openedArray"],"sources":["uppsala.togglestatekeeper.js"],"mappings":"AAAAA,OAAO,CAAC,mBAAmB,SAAUC,GACjC,IAAIC,EAAW,CAEXC,iBAAkB,SAAUC,EAAaC,EAAWC,GAEhD,IAAIC,EAAYN,EAAeO,cAAcJ,GAAa,GAQ1D,GALiB,MAAbG,KACAA,EAAY,CAAC,GACHE,OAAS,IAGN,MAAbJ,EAEA,GAAIC,EAAe,CAEf,IAAII,EAAa,CAAEC,GAAIN,GAGlBH,EAASU,oBAAoBL,EAAUE,OAAQC,IAChDH,EAAUE,OAAOI,KAAKH,EAE9B,KAAO,CAKH,IAHA,IAAII,EAAc,GAGTC,EAAI,EAAGA,EAAIR,EAAUE,OAAOO,OAAQD,IACrCR,EAAUE,OAAOM,GAAGJ,KAAON,EAAUY,YACrCH,EAAYD,KAAKN,EAAUE,OAAOM,IAI1CR,EAAUE,OAASK,CACvB,CAIJb,EAAeiB,cAAcd,EAAaG,GAAW,EACzD,EACAK,oBAAqB,SAASO,EAAaT,GACvC,IAAK,IAAIK,EAAI,EAAGA,EAAII,EAAYH,OAAQD,IACpC,GAAII,EAAYJ,GAAGJ,KAAOD,EAAWC,GACjC,OAAO,EAIf,OAAO,CACX,GAGJ,OAAOT,CACX","ignoreList":[],"sourcesContent":["define([\"storageservice\"], function (storageService) {\n var instance = {\n //Sparar element-id'n för ytor som är öppnade till local storage\n storeOpenedAreas: function (storedObjId, elementId, isToggledOpen) {\n //Hämta sparad data från localstorage\n var storedObj = storageService.getStoredItem(storedObjId, true);\n\n //Skapa upp objektet om det inte redan finns i localstorage\n if (storedObj == null) {\n storedObj = {};\n storedObj.opened = [];\n }\n\n if (elementId != null) {\n //Uppdatera objektet beroende på state\n if (isToggledOpen) {\n //Lägg till öppnat objekt\n var openedItem = { id: elementId };\n\n //Lägg endast till objektet om det inte redan existerar\n if (!instance.objectExistsInArray(storedObj.opened, openedItem)) {\n storedObj.opened.push(openedItem);\n }\n } else {\n //Ta bort stängt objekt\n var itemsToKeep = [];\n\n //Kontrollera om objeketet finns sparat som öppnat i listan\n for (var i = 0; i < storedObj.opened.length; i++) {\n if (storedObj.opened[i].id !== elementId.toString()) {\n itemsToKeep.push(storedObj.opened[i]);\n }\n }\n\n storedObj.opened = itemsToKeep;\n }\n }\n\n //Spara data i localstorage\n storageService.setStoredItem(storedObjId, storedObj, true);\n },\n objectExistsInArray: function(openedArray, openedItem) {\n for (var i = 0; i < openedArray.length; i++) {\n if (openedArray[i].id === openedItem.id) {\n return true;\n }\n }\n\n return false;\n }\n };\n\n return instance;\n});"]}