{"version":3,"file":"9180.53760ee320a439677ea5.js","mappings":"6IASA,MAAMA,EAEFC,YAAYC,GACRC,KAAKD,GAAKA,EACVC,KAAKC,gBAAiB,EACtBD,KAAKE,SAAW,KAEhBF,KAAKG,MAAQ,GACb,IAAIC,EAAYJ,KAAKD,GAAGM,iBAAiB,KACzCL,KAAKM,KAAOF,EAAUG,OAAS,EACf,MAAbH,GACC,IAAIA,GAAWI,SAAQ,CAACC,EAAaC,KACjC,IAAIC,EAAYF,EAAYG,QAAQC,UAChCC,EAAaL,EAAYG,QAAQG,WACrCf,KAAKG,MAAMO,GAAa,CACpBM,IAAKP,EAAYQ,aAAa,QAC9BC,MAAOC,WAAWR,GAAa,EAAIQ,WAAWR,GAAa,EAC3DS,OAAQD,WAAWL,GAAc,EAAIK,WAAWL,GAAc,EAC9DO,IAAgD,MAA3CZ,EAAYa,cAAc,cAAwBb,EAAYa,cAAc,cAAcC,UAAY,SAE/GvB,KAAKC,eAAiBD,KAAKG,MAAMO,GAAWQ,MAAQ,GAAKlB,KAAKG,MAAMO,GAAWU,OAAS,EACxF,IAAII,EAAQxB,KAEZS,EAAYgB,QAAWC,IACnBA,EAAEC,kBACFD,EAAEE,iBACEJ,EAAMvB,eAGND,KAAK6B,eAAenB,GAFpBc,EAAMM,mBAAmBpB,EAG7B,CACH,GAGb,CAEAoB,mBAAmBC,GAEf,GAAsC,GAAnC/B,KAAKG,MAAM4B,GAAeb,OAAkD,GAApClB,KAAKG,MAAM4B,GAAeX,OAAa,CAE9EpB,KAAKG,MAAM4B,GAAeC,MAAQ,IAAIC,MACtCjC,KAAKG,MAAM4B,GAAeC,MAAME,OAAS,KACrClC,KAAKmC,YAAYJ,GAAe,EAAK,EAEzC/B,KAAKG,MAAM4B,GAAeC,MAAMhB,IAAMhB,KAAKG,MAAM4B,GAAef,GACpE,MACIhB,KAAK6B,eAAeE,GAGxB,IAAI,IAAIK,EAAE,EAAGA,EAAIpC,KAAKG,MAAMI,OAAQ6B,IAChC,GAAIA,IAAML,IACoB,GAAvB/B,KAAKG,MAAMiC,GAAGlB,OAAsC,GAAxBlB,KAAKG,MAAMiC,GAAGhB,QAAa,CACtD,IAAIiB,EAAQD,EACZpC,KAAKG,MAAMiC,GAAGJ,MAAQ,IAAIC,MAC1BjC,KAAKG,MAAMiC,GAAGJ,MAAME,OAAS,KACzBlC,KAAKmC,YAAYE,GAAO,EAAM,EAElCrC,KAAKG,MAAMiC,GAAGJ,MAAMhB,IAAMhB,KAAKG,MAAMiC,GAAGpB,GAC5C,CAGZ,CAEAmB,YAAYG,EAAGC,GACX,IAAIC,EAAIxC,KAAKG,MAAMmC,GAAGN,MAAMd,MACxBuB,EAAIzC,KAAKG,MAAMmC,GAAGN,MAAMZ,OAC5BpB,KAAKG,MAAMmC,GAAGpB,MAAQsB,EACtBxC,KAAKG,MAAMmC,GAAGlB,OAASqB,EACpBF,GACCvC,KAAKE,SAAU,IAAIwC,EAAAA,EAAW,CAC1BC,WAAY3C,KAAKG,MACjBG,KAAMN,KAAKM,KACX+B,MAAOC,IAEXtC,KAAKE,SAAS0C,SAEd5C,KAAKE,SAAS2C,QAAQF,WAAWL,GAAGpB,MAAQsB,EAC5CxC,KAAKE,SAAS2C,QAAQF,WAAWL,GAAGlB,OAASqB,EAC7CzC,KAAKE,SAAS4C,oBAAoBR,GAE1C,CAEAT,eAAekB,GACX/C,KAAKE,SAAW,IAAIwC,EAAAA,EAAW,CAC3BC,WAAY3C,KAAKG,MACjBG,KAAMN,KAAKM,KACX+B,MAAOU,IAEX/C,KAAKE,SAAS0C,MAClB,EAKG,SAASI,EAAWC,GACvBA,EAASzC,SAAS0C,IAEQ,IAAlBA,EAAKC,UACL,IAAItD,EAAaqD,EACrB,GAER,C","sources":["webpack://riat/./wwwroot/app/src/modules/lightboxes-galleries/lightboxes.js"],"sourcesContent":["// *****************************************\r\n// ************* Image Gallery *************\r\n// *****************************************\r\n\r\nimport PhotoSwipe from 'photoswipe';\r\nimport 'photoswipe/style.css';\r\n\r\nimport './image-galleries.scss';\r\n\r\nclass ImageGallery {\r\n\r\n constructor(el) {\r\n this.el = el;\r\n this.imageSizesOkay = true;\r\n this.lightbox = null;\r\n // get items\r\n this.items = [];\r\n let findItems = this.el.querySelectorAll('a');\r\n this.loop = findItems.length > 1;\r\n if(findItems != null) {\r\n [...findItems].forEach((itemElement, itemIndex) => {\r\n let dataWidth = itemElement.dataset.pswpWidth,\r\n dataHeight = itemElement.dataset.pswpHeight;\r\n this.items[itemIndex] = {\r\n src: itemElement.getAttribute('href'),\r\n width: parseFloat(dataWidth) > 0 ? parseFloat(dataWidth) : 0,\r\n height: parseFloat(dataHeight) > 0 ? parseFloat(dataHeight) : 0,\r\n alt: itemElement.querySelector('figcaption') != null ? itemElement.querySelector('figcaption').innerText : 'Image'\r\n };\r\n this.imageSizesOkay = this.items[itemIndex].width > 0 && this.items[itemIndex].height > 0;\r\n let _this = this;\r\n // behaviour\r\n itemElement.onclick = (e) => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n if(!_this.imageSizesOkay) {\r\n _this.getImageDimensions(itemIndex);\r\n } else {\r\n this.createLightbox(itemIndex);\r\n }\r\n };\r\n });\r\n }\r\n }\r\n\r\n getImageDimensions(priorityIndex) {\r\n // priority index\r\n if(this.items[priorityIndex].width == 0 || this.items[priorityIndex].height == 0) {\r\n let index = priorityIndex;\r\n this.items[priorityIndex].image = new Image();\r\n this.items[priorityIndex].image.onload = () => {\r\n this.imageLoaded(priorityIndex, true);\r\n }\r\n this.items[priorityIndex].image.src = this.items[priorityIndex].src;\r\n } else {\r\n this.createLightbox(priorityIndex);\r\n }\r\n // other images\r\n for(var x=0; x < this.items.length; x++) {\r\n if( x !== priorityIndex) {\r\n if(this.items[x].width == 0 || this.items[x].height == 0) {\r\n let index = x;\r\n this.items[x].image = new Image();\r\n this.items[x].image.onload = () => {\r\n this.imageLoaded(index, false);\r\n }\r\n this.items[x].image.src = this.items[x].src;\r\n }\r\n }\r\n };\r\n }\r\n\r\n imageLoaded(i, create) {\r\n let w = this.items[i].image.width,\r\n h = this.items[i].image.height;\r\n this.items[i].width = w;\r\n this.items[i].height = h;\r\n if(create) {\r\n this.lightbox= new PhotoSwipe({\r\n dataSource: this.items,\r\n loop: this.loop,\r\n index: i\r\n });\r\n this.lightbox.init();\r\n } else {\r\n this.lightbox.options.dataSource[i].width = w;\r\n this.lightbox.options.dataSource[i].height = h;\r\n this.lightbox.refreshSlideContent(i);\r\n }\r\n }\r\n\r\n createLightbox(imageIndex) {\r\n this.lightbox = new PhotoSwipe({\r\n dataSource: this.items,\r\n loop: this.loop,\r\n index: imageIndex\r\n });\r\n this.lightbox.init();\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 ImageGallery(node);\r\n }\r\n });\r\n}"],"names":["ImageGallery","constructor","el","this","imageSizesOkay","lightbox","items","findItems","querySelectorAll","loop","length","forEach","itemElement","itemIndex","dataWidth","dataset","pswpWidth","dataHeight","pswpHeight","src","getAttribute","width","parseFloat","height","alt","querySelector","innerText","_this","onclick","e","stopPropagation","preventDefault","createLightbox","getImageDimensions","priorityIndex","image","Image","onload","imageLoaded","x","index","i","create","w","h","PhotoSwipe","dataSource","init","options","refreshSlideContent","imageIndex","createFrom","wrappers","node","nodeType"],"sourceRoot":""}