PageSourceSearch

https://www.efrei.fr/wp-content/cache/min/1/wp-content/themes/efrei/js/gmap/popup.js?ver=1790068248

js efrei.fr collected 2026-09-24 09:29:40 UTC 5,022 bytes, 16 lines download raw bytes

1(function(){function unescapeEntities(str){return str.replace(/&#(\d+);/g,function(match,dec){return String.fromCharCode(dec)})}
2function getLocation(href){var match=href.match(/^(https?\:)(?:\/\/)(([^:\/?#]*)(?:\:([0-9]+))?)([\/]{0,1}[^?#]*)(\?[^#]*|)(#.*|)$/);return match&&{href:href,protocol:match[1],host:match[2],hostname:match[3],port:match[4],pathname:match[5],search:match[6],hash:match[7]}}
3function getPeriodByDay(periods){var ret=[];var days=[['lundi',1],['mardi',2],['mercredi',3],['jeudi',4],['vendredi',5],['samedi',6],['dimanche',0]]
4var sorted=[[],[],[],[],[],[],[]];periods.forEach(period=>sorted[period.open.day].push(period));days.forEach((day,i)=>{ret[i]={'day':day[0],'periods':sorted[day[1]]}});return ret}
5function getPeriodsFormatted(periods){var ret=[];periods.forEach(function(period){var open=parseInt(period.open.time.substring(0,2))+':'+period.open.time.substring(2,4)
6var close=parseInt(period.close.time.substring(0,2))+':'+period.close.time.substring(2,4)
7ret.push(open+"\u2013"+close)});return ret.join(', ')}
8function getImageSize(url,photo,heightRef,maxWidth){function getMeta(url,callback){var img=new Image();img.src=url;img.onload=function(){callback(this.width,this.height)}}
9getMeta(url,function(width,height){var facteur=height/heightRef;photo.style.height=heightRef;photo.style.width=Math.min(width/facteur,maxWidth)})}
10Popup=function(data){this.data=data;this.position=new google.maps.LatLng(data.coords.lat,data.coords.lng);this.loaded=!1}
11Popup.prototype=Object.create(google.maps.OverlayView.prototype);Popup.prototype.lazyLoad=function(){if(this.loaded)return;this.loaded=!0;data=this.data;let template=document.querySelector("#map-ecoles-popin");let content=document.importNode(template.content,!0);content.querySelector('a.card-ecole-partenaire').href=data.url;content.querySelector('.title').innerText=data.name;content.querySelector('.location').innerText=data.location;if(data.image){content.querySelector('.img img').src=data.image}else{content.querySelector('.img').remove()}
12var pixelOffset=document.createElement('div');pixelOffset.classList.add('popup-bubble-anchor');pixelOffset.appendChild(content);this.anchor=document.createElement('div');this.anchor.classList.add('popup-tip-anchor');this.anchor.appendChild(pixelOffset);this.stopEventPropagation();return;content=document.createElement('div');content.classList.add('popup-bubble-content');title=document.createElement('h2');title.classList.add('name');title.appendChild(document.createTextNode(unescapeEntities(data.name)));content.appendChild(title);address=document.createElement('p');address.classList.add('address');address.appendChild(document.createTextNode(unescapeEntities(data.address)));content.appendChild(address);if(data.features.charging){charging=document.createElement('p');charging.classList.add('charging-station');icon=document.createElement('img');icon.src="/wp-content/themes/indigo/images/gmap/icon-charging.svg";charging.appendChild(icon);charging.appendChild(document.createTextNode(google_maps_popin_labels.charging_stations));content.appendChild(charging)}
13if(data.features.bikes){bikes=document.createElement('p');bikes.classList.add('bikes');icon=document.createElement('img');icon.src="/wp-content/themes/indigo/images/gmap/icon-bike.svg";bikes.appendChild(icon);bikes.appendChild(document.createTextNode(google_maps_popin_labels.bike_space));content.appendChild(bikes)}
14if(data.url){urlline=document.createElement('p');urlline.classList.add('url');urllink=document.createElement('a');urllink.href=data.url;urllink.setAttribute('target','_blank');icon=document.createElement('img');icon.src="/wp-content/themes/indigo/images/gmap/link-arrow.svg";urllink.appendChild(document.createTextNode(google_maps_popin_labels.parking_link));urllink.appendChild(icon);urlline.appendChild(urllink);content.appendChild(urlline)}
15var pixelOffset=document.createElement('div');pixelOffset.classList.add('popup-bubble-anchor');pixelOffset.appendChild(content);this.anchor=document.createElement('div');this.anchor.classList.add('popup-tip-anchor');this.anchor.appendChild(pixelOffset);this.stopEventPropagation()};Popup.prototype.onAdd=function(){this.getPanes().floatPane.appendChild(this.anchor)};Popup.prototype.onRemove=function(){if(this.anchor.parentElement){this.anchor.parentElement.removeChild(this.anchor)}};Popup.prototype.draw=function(){var divPosition=this.getProjection().fromLatLngToDivPixel(this.position);divPosition.y=divPosition.y-20;var display=Math.abs(divPosition.x)<4000&&Math.abs(divPosition.y)<4000?'block':'none';if(display==='block'){this.anchor.style.left=divPosition.x+'px';this.anchor.style.top=divPosition.y+'px'}
16if(this.anchor.style.display!==display){this.anchor.style.display=display}};Popup.prototype.stopEventPropagation=function(){var anchor=this.anchor;anchor.style.cursor='auto';['click','dblclick','contextmenu','wheel','mousedown','touchstart','pointerdown'].forEach(function(event){anchor.addEventListener(event,function(e){e.stopPropagation()})})}}())

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.