{"version":3,"file":"3023.c442e09f3f89631c9ea8.js","mappings":"gmCAOMA,EAAAA,WAEF,WAAYC,I,4FAAI,SACZC,KAAKD,GAAKA,EACVC,KAAKC,OAAS,GACdD,KAAKE,UAAY,EAEjB,IAAIC,EAAaH,KAAKD,GAAGK,iBAAiB,OAC1C,GAAGD,EAAWE,OAAS,EAAG,CAEtBL,KAAKM,WAAaH,EAAWE,OAC7B,IAAIE,EAAQP,KACZ,EAAIG,GAAYK,SAAQ,SAAAC,GAEhBA,EAAEC,SACFH,EAAMI,YAENF,EAAEG,iBAAiB,QAAQ,WACvBL,EAAMI,WACT,GAAE,CAACE,MAAM,GAEjB,GACJ,MACGb,KAAKD,GAAGe,UAAUC,IAAI,gBAE7B,C,gDAED,WACIf,KAAKE,YACFF,KAAKE,WAAaF,KAAKM,YAEtBN,KAAKD,GAAGe,UAAUC,IAAI,gBAE7B,M,gFAjCCjB,GAsCC,SAASkB,EAAWC,GACvBA,EAAST,SAAQ,SAACU,GAEQ,IAAlBA,EAAKC,UACL,IAAIrB,EAAiBoB,EAE5B,GACJ,C","sources":["webpack://nationalspacecentre.web/./wwwroot/app/src/js/image-loader-group.js"],"sourcesContent":["// ********************************\r\n// ***** IMAGE LOADER GROUP *****\r\n// ********************************\r\n\r\n// watches all images inside an '.image-loader-group'.\r\n// adds an '.images-loaded' class to that element once they're all loaded.\r\n\r\nclass ImageLoaderGroup {\r\n\r\n constructor(el) {\r\n this.el = el;\r\n this.images = [];\r\n this.loadCount = 0;\r\n // find all images in this 'image-loader-group' element\r\n let findImages = this.el.querySelectorAll('img');\r\n if(findImages.length > 0) {\r\n // set target load count valie\r\n this.loadTarget = findImages.length;\r\n let _this = this;\r\n [...findImages].forEach(i => {\r\n // add listeners etc\r\n if (i.complete) {\r\n _this.hasLoaded();\r\n } else {\r\n i.addEventListener('load', () => {\r\n _this.hasLoaded();\r\n }, {once: true});\r\n }\r\n });\r\n } else {\r\n this.el.classList.add('images-loaded');\r\n }\r\n }\r\n\r\n hasLoaded() {\r\n this.loadCount++;\r\n if(this.loadCount >= this.loadTarget) {\r\n // add class to 'image-loader-group' element\r\n this.el.classList.add('images-loaded');\r\n }\r\n }\r\n\r\n}\r\n\r\n// export the default function to create\r\nexport function createFrom(wrappers) {\r\n wrappers.forEach((node) => {\r\n // if node is an element\r\n if (node.nodeType === 1) {\r\n new ImageLoaderGroup(node);\r\n }\r\n });\r\n}"],"names":["ImageLoaderGroup","el","this","images","loadCount","findImages","querySelectorAll","length","loadTarget","_this","forEach","i","complete","hasLoaded","addEventListener","once","classList","add","createFrom","wrappers","node","nodeType"],"sourceRoot":""}