PageSourceSearch

https://ahoi.dev/wp-content/plugins/site-reviews-images/assets/site-reviews-images.js?ver=6f65a76cda31

js ahoi.dev collected 2026-10-07 17:11:46 UTC 15,915 bytes, 1 lines download raw bytes

1!function(){"use strict";var e="site-reviews-images";const t=e=>{let i=Array.isArray(e)?[]:{};for(let a in e){let s=e[a],o={}.toString.call(s).slice(8,-1);i[a]="Array"==o||"Object"==o?t(s):"Date"==o?new Date(s.getTime()):s}return i},i=GLSR.Utils.dom,a=(e,t,a)=>i("a",{class:`glsr-dz-button glsr-dz-${e}`,tabindex:0,href:"javascript:undefined;",title:t,[`data-dz-${e}`]:""},a),s=(...e)=>i("div",...e),o=(...e)=>i("span",...e),r=(e,t,a,s)=>i("line",{x1:e,y1:t,x2:a,y2:s}),n=(e,t)=>i("stop",{offset:e,"stop-color":t}),d=GLSR.addons[e].text,l=GLSR.addons[e],p="glsr.images",c={acceptedFiles:l.acceptedfiles,addRemoveLinks:!1,dictCancelUpload:l.text.cancelUpload,dictCancelUploadConfirmation:l.text.cancelUploadConfirmation,dictFallbackMessage:l.text.fallbackMessage,dictFallbackText:l.text.fallbackText,dictFileTooBig:l.text.fileTooBig,dictInvalidFileType:l.text.invalidFileType,dictMaxFilesExceeded:l.text.maxFilesExceeded,dictRemoveFileConfirmation:l.text.removeFileConfirmation,dictResponseError:l.text.responseError,dictUploadCanceled:l.text.uploadCanceled,maxFiles:l.maxfiles,maxFilesize:l.maxfilesize,previewTemplate:(()=>{const e=o("glsr-dz-progress",o({"data-dz-uploadprogress":""})),t=o("glsr-dz-overlay",i("svg",{viewBox:"0 0 500 250",preserveAspectRatio:"none"},i("rect",{style:"height:100%;width:100%;",x:0,width:500,height:250,fill:"currentColor",mask:"url(#glsr-svg-overlay-mask)"}))),s=i("svg",{xmlns:"http://www.w3.org/2000/svg",width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":3,"stroke-linecap":"round","stroke-linejoin":"round"},r(18,6,6,18),r(6,6,18,18)),n=i("svg",{xmlns:"http://www.w3.org/2000/svg",width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2.5},i("path",{d:"M12 5C12 5 12.0610767 2 7 2M11.9999661 5C11.9999661 5 11.9389233 2 17 2M7 22C12.1495319 22 11.9995455 19 11.9995455 19M17 22C11.8504681 22 12.0004545 19 12.0004545 19"}),r(12,4,12,20)),l=o("glsr-dz-buttons",a("remove",d.removeImage,s),a("edit",d.editCaption,n)),p=o("glsr-dz-details",l,o("glsr-dz-filename",o({"data-dz-name":""})),o("glsr-dz-caption",o({"data-dz-caption":""})),o("glsr-dz-error-message",o({"data-dz-errormessage":""}))),c=o("glsr-dz-image",i("img",{"data-dz-thumbnail":"","data-no-lazy":""}));return o("glsr-dz-preview",e,t,p,c)})().outerHTML,resizeHeight:1920,resizeMethod:"contain",resizeWidth:1920,thumbnailHeight:300,thumbnailMethod:"contain",thumbnailWidth:300,url:GLSR.ajax_url};class m{constructor(e){this.images=[],this.isDuplicateImage=!1,this.isFormSubmitted=!1,this.dropzone=new Dropzone(e,c),this.dropzone.on("addedfile",this.onAddedFile.bind(this)),this.dropzone.on("addedfile",this.handleEditFile.bind(this)),this.dropzone.on("removedfile",this.onRemovedFile.bind(this)),this.dropzone.on("sending",this.onBeforeSending.bind(this)),this.dropzone.on("success",this.onUploadSuccess.bind(this)),this.dropzone.on("error",this.onError.bind(this)),this.dropzone.on("complete",this.onComplete.bind(this)),this.dropzone.on("queuecomplete",this.onQueueUploadComplete.bind(this)),this.dropzone.on("deleted-image",this.onDeletedImage.bind(this)),this.dropzone.on("deleted-temporary-image",this.onDeletedImage.bind(this)),this.storedEvents={},GLSR.Event.on("site-reviews/form/handle",this.onAfterSubmission.bind(this)),this.populateImages(),document.querySelector(".glsr-svg-sprite")||document.body.appendChild((()=>{const e=i("radialGradient",{id:"glsr-svg-overlay-radial-gradient",cx:.5,cy:1.25,r:1.15},n("50%","#000000"),n("56%","#0a0a0a"),n("63%","#262626"),n("69%","#4f4f4f"),n("75%","#808080"),n("81%","#b1b1b1"),n("88%","#dadada"),n("94%","#f6f6f6"),n("100%","#ffffff")),t=i("mask",{id:"glsr-svg-overlay-mask"},i("rect",{x:0,y:0,width:500,height:250,fill:"url(#glsr-svg-overlay-radial-gradient)"}));return i("svg",{class:"glsr-svg-sprite",style:"position:absolute!important;width:0!important;height:0!important;"},e,t)})())}appendToFormData(e,t,i){return e.append(GLSR.nameprefix+"["+t+"]",i),e}deleteImage(e){let t=this.normalizeFormData(new FormData);this.appendToFormData(t,"method","delete"),this.appendToFormData(t,"i
1d",e.id),this.toggleButtonState(!0),GLSR.ajax.post(t,e=>{this.dropzone.emit("deleted-image",e),this.toggleButtonState(!1)})}deleteTemporaryImage(e){let t=this.normalizeFormData(new FormData);this.appendToFormData(t,"file",e.file),this.appendToFormData(t,"method","purge"),this.appendToFormData(t,"name",e.name),this.appendToFormData(t,"url",e.dataURL),this.toggleButtonState(!0),GLSR.ajax.post(t,e=>{this.dropzone.emit("deleted-temporary-image",e),this.toggleButtonState(!1)})}findIndexIn(e,t){for(let i=0,a=e.length;i<a;i++)if(t.name===e[i].name&&t.size===e[i].size&&t.lastModified===e[i].lastModified)return i;return!1}generateThumbnailFromUrl(e){this.dropzone.emit("thumbnail",e,e.dataURL)}handleEditFile(e){const t=e.previewElement.querySelector("[data-dz-edit]");t&&t.addEventListener("click",this.onEditFile.bind(this,e))}insertCaption(e){const t=e.previewElement.querySelector("[data-dz-caption]");if(t){t.textContent=e.caption;let i=this.findIndexIn(this.images,e);!1!==i&&(this.images[i].caption=e.caption),this.loadImagesInForm(),localStorage.setItem(p,JSON.stringify(this.images))}}isDuplicate(e){let i=t(this.dropzone.files);return i.pop(),!1!==this.findIndexIn(i,e)}loadImages(){for(let e in this.images){if(!this.images.hasOwnProperty(e))continue;let t=this.images[e];this.dropzone.emit("addedfile",t),this.dropzone.createThumbnailFromUrl(t,c.thumbnailWidth,c.thumbnailHeight,c.thumbnailMethod,!0,this.generateThumbnailFromUrl.bind(this,t)),this.dropzone.emit("complete",t),this.dropzone.files.push(t),this.dropzone._callbacks.success[0](t),this.onAddedFile(t)}this.loadImagesInForm()}loadImagesInForm(){let e=[];this.images.forEach(t=>{e.push({caption:t.caption,file:t.file,id:t.id,url:t.dataURL})}),this.dropzone.element.querySelector("[data-dz-images]").value=JSON.stringify(e)}normalizeFormData(e){return e.append("action",GLSR.action),e.append("_ajax_request",!0),this.appendToFormData(e,"_action",l.action),this.appendToFormData(e,"_nonce",l.nonce),e}onAddedFile(e){this.isFormSubmitted=!1,this.isDuplicateImage=this.isDuplicate(e),this.isDuplicateImage&&this.dropzone.removeFile(e)}onAfterSubmission(e){this.isFormSubmitted=!0,!0===e?.success&&this.resetImages()}onBeforeSending(e,t,i){this.normalizeFormData(i),this.appendToFormData(i,"method","upload"),this.toggleButtonState(!0)}onComplete(e){this.insertCaption(e),e.id&&e.previewElement.classList.add("dz-saved")}onDeletedImage(e){e&&(this.removeImage("file",e.file),localStorage.setItem(p,JSON.stringify(this.images)),this.loadImagesInForm())}onEditedFile(e,t){const i=t.querySelector("textarea").value;e.caption=i.replace(/\s+/g," ").trim(),this.insertCaption(e),document.removeEventListener("keydown",this.storedEvents.keydown),GLSR.Modal.close("glsr-modal-caption")}onEditFile(e,t){const a=(()=>{const e=i("textarea",{rows:4,placeholder:d.enterCaption}),t="btn btn-primary button wp-block-button__link glsr-dropzone-modal-",a=i("button",{type:"button",class:`${t}save`},d.save),o=i("button",{type:"button",class:`${t}close`,"data-glsr-close":""},d.cancel),r=s("wp-block-buttons",s("wp-block-button",a),s("wp-block-button",o));return s("glsr-dz-modal-caption",e,r)})();GLSR.Modal.open("glsr-modal-caption",{focus:!0,onOpen:i=>{i.dom.close.remove(),i.dom.close=null,i.root.classList.add("is-image-caption"),document.body.classList.contains("theme-twentytwentyone")&&i.root.classList.add("site"),a.querySelector("textarea").innerText=e.caption||"",i.content().innerHTML=a.outerHTML,i.content().querySelector(".glsr-dropzone-modal-save").addEventListener("click",()=>{t.preventDefault(),this.onEditedFile(e,i.content())}),document.addEventListener("keydown",this.storedEvents.keydown)}})}onError(e,t){this.dropzone.removeFile(e);let i=document.createElement("div");i.classList.add("glsr-dz-error"),i.innerText=t,this.dropzone.element.appendChild(i),setTimeout(()=>{i.parentNode.removeChild(i)},3e3)}onKeydown(e,t,i){13===i.keyCode&&this.onEditedFile(e,t)}onQueueUploadComplete(){this.toggleButtonState(!1)}onRemovedFile(e){if(!this.isDuplicateImage){if(e.id)this.deleteImage(e);else if(!this.isFormSubmitted)for(let t in this.images)if(this.images.hasOwnProperty(t)&&this.images[t].name===e.name){this.deleteTemporaryImage(this.images[t]);break}this.dropzone.files.length||this.resetImages()}}onUploadSuccess(e,t){if(e.id)return;let i={};for(let t in e)~["accepted","height","lastModified","name","processing","size","status","type","width"].indexOf(t)&&(i[t]=e[t]);i.caption="",i.dataURL=t.data.url,i.file=t.data.file,this.images.push(i),this.loadImagesInForm(),localStorage.setItem(p,JSON.stringify(this.images))}populateImages(){this.images=JSON.parse(localStorage.getItem(p))||[],this.images.length>=c.maxFiles&&this.dropzone.element.classList.add("dz-max-files-reached"),this.loadImages()}removeImage(e,t){let i=[],a=0;if(!Array.isArray(this.images))return i;for(let s in this.images)this.images.hasOwnProperty(s)&&this.images[s][e]!==t&&(i[a++]=this.images[s]);this.images=i}resetImages(){let e=this.dropzone.files;for(let t in e)e.hasOwnProperty(t)&&(e[t].id=null,this.dropzone.removeFile(e[t]));localStorage.removeItem(p),this.images=[],this.loadImagesInForm()}toggleButtonState(e){const t=this.dropzone.element.closest("form");if(!t)return;const i=t.querySelector(".glsr-button-text");i&&i.getAttribute("data-text")&&(i.parentNode.disabled=e,i.innerText=e?l.text.pleaseWait:i.getAttribute("data-text"))}}const g=[];var h={init:e=>
1{document.querySelectorAll(e||".glsr-dropzone").forEach(e=>{if(!e.dropzone&&window.Dropzone)try{g.push(new m(e))}catch(e){console.error(e)}});for(let e=0;e<g.length;e++)g[e]&&!g[e].dropzone.element.closest("body")&&g.splice(e,1);return g},dropzones:g};const u=GLSR.addons[e],v=GLSR.Utils.dom;let f,w,S=null,x=0,y=!1,b=0;const z=(e={})=>{const t=u.swiper.Components.Slides.getAt(u.swiper.index);if(!T()&&e?.review&&e?.review_id&&!f.content().querySelector(`.glsr-review[data-id="${e.review_id}"]`)){const t=document.createRange().createContextualFragment(e.review);if(t.querySelectorAll(".glsr,.glsr-review").forEach(e=>e.id=""),t.querySelectorAll('p[data-trigger="modal"]').forEach(e=>e.dataset.trigger="expand"),t.querySelectorAll('[data-expanded="false"]').forEach(e=>e.dataset.expanded="true"),f.content().querySelector(".glsr-reviews")){const e=t.querySelector(".glsr-review");e&&f.content().querySelector(".glsr-reviews")?.appendChild(e)}else f.content().querySelector(".glsr-modal__review")?.appendChild(t)}x=t.slide.dataset.index,f.content().querySelectorAll(".glsr-review[data-id]").forEach(e=>{e.style.display=e.dataset.id===t.slide.dataset.review_id?"":"none"}),GLSR.Event.trigger("site-reviews/init")},L=(e,t,i)=>{if(0===t){const t=u.swiper.options.speed||0;u.swiper.options={speed:0},u.swiper.add(e.slides,1);let i=e.slides.length;e.has_prev||(u.swiper.remove(0),i--),u.swiper.go(i).options={speed:t}}else u.swiper.length===t+1&&(u.swiper.add(e.slides,t),e.has_next||u.swiper.remove(u.swiper.length-1))},F=(e={})=>{_(),M("fetch-image-gallery",e,e=>{u.storage.data=e.data,f.content().innerHTML=e.html,f.content().querySelectorAll("a.glsri-image").forEach(e=>e.addEventListener("click",k)),""===f.footer().innerHTML&&f.footer(e.pagination);const t=f.footer().querySelector("input"),i=f.footer().querySelector("button[data-next]"),a=f.footer().querySelector("button[data-prev]");B({input:t,next:i,prev:a,page:e.data.page,max:e.data.max_pages})})},E=(e={})=>{A(e),M("fetch-image-review",e,t=>{R(t,e,{keyboard:"global",pagination:!1,speed:400}),I(),z(t)})},I=e=>{if(T())return;const t=v("div",y?{class:w.parentElement.className,id:w.parentElement.parentElement.id,style:w.parentElement.style.cssText}:{});t.classList.add("glsr-modal__review"),f.content().appendChild(t)},R=(e,t,i)=>{const a=j();let s=0;f.content().innerHTML=e.slider,u.swiper=new Splide(f.content().querySelector(".splide"),i).mount(),e.has_prev&&(++s,e.slides.unshift(a)),e.has_next&&e.slides.push(a),u.swiper.add(e.slides),e.images.forEach((e,a)=>{e.ID===+t.ID&&(u.swiper.options={speed:0},u.swiper.go(a+s).options={speed:i.speed||0})}),u.swiper.on("move",C),u.swiper.on("moved",G)},T=()=>!0===w.dataset.hide?.includes("review"),k=e=>{const t=e.currentTarget;e.preventDefault(),E({ID:t.dataset.id,index:t.dataset.index,review_id:t.dataset.review_id,total:u.storage.data.total})},D=e=>{e.preventDefault();const t=Math.ceil((+x+1)/u.storage.data.per_page)||1;F({page:t})},C=(e,t,i)=>{const a=u.swiper.Components.Slides,s=a.getAt(e),o=a.getAt(t);if(!s.slide.querySelector(".glsri-spinner"))return void z();let r=-1;0===e?r=+o.slide.dataset.index-1:a.getLength()===e+1&&(r=+o.slide.dataset.index+1),f.root.classList.add("is-changing"),M("fetch-image-review",{index:r},t=>{u.swiper.state.is(Splide.STATES.MOVING)?q(t):(L(t,e),z(t))})},G=(e,t,i)=>{const a=u.swiper.Components.Slides,s=a.getAt(e),o=a.getAt(t);s.slide.dataset.review_id!==o.slide.dataset.review_id&&null!==S&&(L(S,i),z(S),q(null))},M=(e,t={},i)=>{const a=e=>`${GLSR.nameprefix}[${e}]`,s={[a("_action")]:e,...Object.fromEntries(Object.entries(w.dataset).map(([e,t])=>{return[(i=e,`${GLSR.nameprefix}[atts][${i}]`),t];var i})),...Object.fromEntries(Object.entries(t).map(([e,t])=>[a(e),t]))};f.root.classList.add("is-loading"),GLSR.ajax.post(s,(e,a)=>{if(f.root.classList.remove("is-loading"),!a)return(e=>{const t=e.message||u.text.genericModalError;f.content(t,{class:`is-modal-error is-${e.code}-error`})})(e),void console.error({data:t,response:e});i(e,t)})},_=e=>{const t=Math.min(Math.max(b,4),12);O("is-image-gallery"),f.content().innerHTML="<div></div>".repeat(t),f.header(u.text.imageGallery)},A=e=>{O("is-image-review"),f.header('<a href="#" tabindex="0">'+u.text.viewImageGallery+"</a>"),f.header().querySelector("a").addEventListener("click",D),u.swiper&&u.swiper.length||(f.content().innerHTML=j()),f.footer(""),x=+e.index},q=e=>{S=e},U=(e,t,i)=>{e.removeEventListener(t,i),e.addEventListener(t,i,!0)}
1,O=e=>{e&&(f.root.className="glsr-modal is-open is-changing",f.root.classList.add(e)),u.swiper&&u.swiper.destroy(),f.dom.dialog.style.cssText=w.style.cssText,f.content(""),f.header("")},B=e=>{const{input:t,max:i,next:a,page:s,prev:o}=e;t.value=s,a.setAttribute("disabled",""),o.setAttribute("disabled",""),a.dataset.page=Math.min(i,s+1),o.dataset.page=Math.max(1,s-1),s>1&&o.removeAttribute("disabled"),s<i&&a.removeAttribute("disabled"),U(a,"click",H.click),U(o,"click",H.click),U(t,"change",H.change)},j=()=>v("div",{class:"splide__slide"},v("div",{class:"glsri-spinner"},v("div"),v("div"),v("div"))).outerHTML,H={click:e=>{e.preventDefault();const t=+e.currentTarget.dataset.page;F({page:t})},change:GLSR.Utils.debounce(e=>{const t=Math.max(1,Math.min(+e.target.max,+e.target.value));F({page:t})},400)},N=GLSR.addons[e],$=GLSR.Utils.dom,J=()=>{GLSR.Modal.init("glsr-modal-gallery",{onOpen:e=>{x=0,f=e,w=e.trigger.closest(".glsr"),b=Number(w.querySelector("[data-total]")?.dataset?.total)||0,y=GLSR.modal_wrapped_by.includes(w.dataset.from),e.trigger.classList.contains("glsri-image")?E({ID:e.trigger.dataset.id,index:e.trigger.dataset.index,review_id:e.trigger.dataset.review_id}):F({page:1})}}),"modal"===N.modal&&GLSR.Modal.init("glsr-modal-image",{onOpen:e=>{e.content().appendChild($("figure",$("img",{src:e.trigger.href,height:e.trigger.dataset.height,width:e.trigger.dataset.width}),e.trigger.dataset.caption&&$("figcaption",{},e.trigger.dataset.caption)))}})};N.Dropzone=h,N.storage={data:{}},GLSR.Event.on(e+"/init",()=>{h.init(),J()}),GLSR.Event.on("site-reviews/modal/open",J),GLSR.Event.on("site-reviews/pagination/handle",J),GLSR.Event.on("site-reviews/pagination/popstate",e=>{e.state&&e.state[`${GLSR.nameprefix}[_action]`]&&"undefined"!=typeof Spotlight&&Spotlight.close()}),GLSR.Event.on("site-reviews/init",()=>{GLSR.Event.trigger(e+"/init")}),GLSR.Event.on("block:site-reviews/form",()=>{GLSR.Event.trigger(e+"/init")})}();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.