\n ${this.lieuxParDepartementAffiches?.lieuxDisponibles.length ? html`\n
\n \n \n ${this.lieuxParDepartementAffiches?.lieuxDisponibles.length} Lieu${Strings.plural(this.lieuxParDepartementAffiches?.lieuxDisponibles.length, 'x')} de vaccination covid ont des disponibilités\n \n
\n
\n
\n this.afficherTriParDate(e)}\" type=\"radio\" name=\"tri\" id=\"tri-date\" ?checked=${this.critèreDeTri === 'date'} />\n \n \n
\n this.afficherTriParDistance(e)}\"\n ?checked=${this.critèreDeTri === 'distance'}\n ?disabled=\"${this.geolocalisationBloquée}\" />\n \n \n
Vous n'avez pas autorisé l'accès à votre position géographique au site ViteMaDose.
\n
La géolocalisation n'est pas disponible pour ViteMaDose
\n
\n ` : html`\n
Aucun créneau de vaccination trouvé
\n
Nous n’avons pas trouvé de rendez-vous de vaccination covid sur ces centres, nous vous recommandons toutefois de vérifier manuellement les rendez-vous de vaccination auprès des sites qui gèrent la réservation de créneau de vaccination. Pour ce faire, cliquez sur le bouton “vérifier le centre de vaccination”.
\n `}\n\n
\n ${repeat(this.lieuxParDepartementAffiches?.lieuxDisponibles || [], (c => `${c.departement}||${c.nom}||${c.plateforme}||${this.critèreDeTri}`), (lieu, index) => {\n return html`
`;\n })}\n\n ${this.lieuxParDepartementAffiches?.lieuxIndisponibles.length ? html`\n
\n\n
\n \n \n Autres centres sans créneaux de vaccination détecté\n \n
\n\n ${repeat(this.lieuxParDepartementAffiches?.lieuxIndisponibles || [], (c => `${c.departement}||${c.nom}||${c.plateforme}`), (lieu, index) => {\n return html`
`;\n })}\n ` : html``}\n
\n `}\n `;\n }\n\n async connectedCallback() {\n super.connectedCallback();\n\n const [departementsDisponibles, lieuxParDepartement] = await Promise.all([\n State.current.departementsDisponibles(),\n this.refreshLieux()\n ])\n\n this.departementsDisponibles = departementsDisponibles;\n }\n\n private remplirLieuxParDepartementTresParDistance() {\n if(this.userLocation) {\n const origin = this.userLocation\n const distanceAvec = (lieu: Lieu) => lieu.location ? distanceEntreDeuxPoints(origin, lieu.location) : Infinity\n\n const lieuxDisponiblesTriesParDistance: LieuAvecDistance[] = (this.lieuxParDepartementTriesParDate?.lieuxDisponibles || []).map(l => ({\n ...l, distance: distanceAvec(l)\n })).sort((a, b) => a.distance! - b.distance!)\n const lieuxIndisponiblesTriesParDistance: LieuAvecDistance[] = (this.lieuxParDepartementTriesParDate?.lieuxIndisponibles || []).map(l => ({\n ...l, distance: distanceAvec(l)\n })).sort((a, b) => a.distance! - b.distance!)\n\n this.lieuxParDepartementTriesParDistance = {\n ...this.lieuxParDepartementTriesParDate!,\n lieuxDisponibles: lieuxDisponiblesTriesParDistance,\n lieuxIndisponibles: lieuxIndisponiblesTriesParDistance,\n }\n } else {\n this.lieuxParDepartementTriesParDistance = undefined;\n }\n }\n\n async refreshLieux() {\n if (this.codeDepartementSelectionne && this.codeTrancheAgeSelectionne) {\n try {\n this.searchInProgress = true;\n const lieuxParDepartement = await State.current.lieuxPour(this.codeDepartementSelectionne, this.codeTrancheAgeSelectionne);\n\n const { lieuxDisponibles, lieuxIndisponibles } = {\n lieuxDisponibles: lieuxParDepartement?.lieuxDisponibles || [],\n lieuxIndisponibles: lieuxParDepartement?.lieuxIndisponibles || [],\n };\n\n this.lieuxParDepartementTriesParDate = {\n ...lieuxParDepartement,\n lieuxDisponibles: lieuxDisponibles.map(l => ({...l, distance: undefined})),\n lieuxIndisponibles: lieuxIndisponibles.map(l => ({...l, distance: undefined})),\n };\n\n this.remplirLieuxParDepartementTresParDistance();\n\n this.lieuxParDepartementAffiches = this.critèreDeTri==='date'?this.lieuxParDepartementTriesParDate:this.lieuxParDepartementTriesParDistance;\n } finally {\n this.searchInProgress = false;\n }\n } else {\n this.lieuxParDepartementAffiches = undefined;\n this.lieuxParDepartementTriesParDate = undefined;\n this.lieuxParDepartementTriesParDistance = undefined;\n }\n }\n\n trancheAgeMisAJour(event: CustomEvent
) {\n this.codeTrancheAgeSelectionne = event.detail.trancheAge?.codeTrancheAge;\n this.refreshLieux();\n this.refreshPageWhenValidParams();\n }\n\n departementUpdated(event: CustomEvent) {\n this.codeDepartementSelectionne = event.detail.departement?.code_departement;\n this.refreshLieux();\n this.refreshPageWhenValidParams();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n // console.log(\"disconnected callback\")\n }\n\n private refreshPageWhenValidParams() {\n if (this.codeDepartementSelectionne && this.codeTrancheAgeSelectionne) {\n Router.navigateToRendezVous(this.codeDepartementSelectionne, libelleUrlPathDuDepartement(this.departementSelectionne!), this.codeTrancheAgeSelectionne);\n }\n }\n}\n","export default function delay(ms: number): Promise {\n return new Promise ((resolve) => setTimeout(resolve, ms))\n}\n","import {css, customElement, html, LitElement, unsafeCSS} from 'lit-element';\nimport globalCss from \"../styles/global.scss\";\nimport {Icon, map, marker, tileLayer} from 'leaflet'\nimport leafletCss from 'leaflet/dist/leaflet.css';\nimport leafletMarkerCss from 'leaflet.markercluster/dist/MarkerCluster.Default.css';\n// @ts-ignore\nimport {MarkerClusterGroup} from 'leaflet.markercluster'\nimport {Router} from \"../routing/Router\";\n\n// Code imported (and refactored a little bit)\n// from https://github.com/rozierguillaume/covidtracker-tools/blob/main/src/ViteMaDose/carteCentres.html\n\ntype Lieu = {\n nom: string;\n longitude: number;\n latitude: number;\n reservation: string;\n date_ouverture: string;\n rdv_tel: string;\n modalites: string;\n adresse: string;\n maj: string;\n};\n\n@customElement('vmd-lieux')\nexport class VmdLieuxView extends LitElement {\n\n //language=css\n static styles = [\n css`${unsafeCSS(globalCss)}`,\n css`${unsafeCSS(leafletCss)}`,\n css`${unsafeCSS(leafletMarkerCss)}`,\n css`\n :host {\n display: block;\n }\n #mapid { height: 180px; }\n `\n ];\n\n render() {\n return html`\n Carte des centres de vaccination contre la Covid-19
\n \n \n\n \n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n this.requestUpdate().then(() => this.loadMap());\n }\n\n private loadMap() {\n const mymap = map(this.shadowRoot!.querySelector(\"#mapid\") as HTMLElement).setView([46.505, 3], 6);\n const url=\"https://www.data.gouv.fr/fr/datasets/r/5cb21a85-b0b0-4a65-a249-806a040ec372\"\n\n let request = fetch(url)\n .then(response => response.arrayBuffer())\n .then(buffer => {\n const decoder = new TextDecoder();\n const csv = decoder.decode(buffer);\n const data_array = VmdLieuxView.CSVToArray(csv, \";\");\n\n const lieux: Lieu[] = data_array.slice(1, data_array.length-1).map((value: string[], idx) => ({\n longitude: Number(value[10]),\n latitude: Number(value[11]),\n nom: value[1],\n reservation: value[34],\n date_ouverture: value[33],\n rdv_tel: value[35],\n modalites: value[37],\n adresse: value[5] + \" \" + value[6] + \", \" + value[7] + \" \" + value[9],\n maj: value[22].slice(0, 16),\n }))\n\n const markers = VmdLieuxView.creer_pins(lieux);\n mymap.addLayer(markers);\n })\n .catch(function () {\n // this.dataError = true;\n console.log(\"error1\")\n });\n\n tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n maxZoom: 19,\n attribution: '© OpenStreetMap contributors'\n }).addTo(mymap);\n }\n\n // ref: http://stackoverflow.com/a/1293163/2343\n // This will parse a delimited string into an array of\n // arrays. The default delimiter is the comma, but this\n // can be overriden in the second argument.\n private static CSVToArray(strData: string, strDelimiter: string ): string[][]{\n // Check to see if the delimiter is defined. If not,\n // then default to comma.\n strDelimiter = (strDelimiter || \",\");\n\n // Create a regular expression to parse the CSV values.\n let objPattern = new RegExp(\n (\n // Delimiters.\n \"(\\\\\" + strDelimiter + \"|\\\\r?\\\\n|\\\\r|^)\" +\n\n // Quoted fields.\n \"(?:\\\"([^\\\"]*(?:\\\"\\\"[^\\\"]*)*)\\\"|\" +\n\n // Standard fields.\n \"([^\\\"\\\\\" + strDelimiter + \"\\\\r\\\\n]*))\"\n ),\n \"gi\"\n );\n\n\n // Create an array to hold our data. Give the array\n // a default empty first row.\n let arrData = [[]] as string[][];\n\n // Create an array to hold our individual pattern\n // matching groups.\n let arrMatches = null;\n\n\n // Keep looping over the regular expression matches\n // until we can no longer find a match.\n while (arrMatches = objPattern.exec( strData )){\n\n // Get the delimiter that was found.\n let strMatchedDelimiter = arrMatches[ 1 ];\n\n // Check to see if the given delimiter has a length\n // (is not the start of string) and if it matches\n // field delimiter. If id does not, then we know\n // that this delimiter is a row delimiter.\n if (\n strMatchedDelimiter.length &&\n strMatchedDelimiter !== strDelimiter\n ){\n\n // Since we have reached a new row of data,\n // add an empty row to our data array.\n arrData.push( [] );\n\n }\n\n let strMatchedValue;\n\n // Now that we have our delimiter out of the way,\n // let's check to see which kind of value we\n // captured (quoted or unquoted).\n if (arrMatches[ 2 ]){\n\n // We found a quoted value. When we capture\n // this value, unescape any double quotes.\n strMatchedValue = arrMatches[ 2 ].replace(\n new RegExp( \"\\\"\\\"\", \"g\" ),\n \"\\\"\"\n );\n\n } else {\n\n // We found a non-quoted value.\n strMatchedValue = arrMatches[ 3 ];\n\n }\n\n\n // Now that we have our value string, let's add\n // it to the data array.\n arrData[ arrData.length - 1 ].push( strMatchedValue );\n }\n\n // Return the parsed data.\n return arrData;\n }\n\n private static creer_pins(lieux: Lieu[]){\n const markers = lieux.reduce((markers: MarkerClusterGroup, lieu, idx)=>{\n let reservation_str = \"\"\n if (typeof lieu.reservation != 'undefined'){\n if (lieu.reservation.indexOf(\"http\") === 0){\n reservation_str = `${lieu.reservation}`\n }\n } else {\n reservation_str = lieu.reservation;\n }\n\n var string_popup = `\n ${lieu.nom}\n
\n Adresse : ${lieu.adresse}
Réservation : ${reservation_str}\n
\n Tél : ${lieu.rdv_tel}\n
\n Date d'ouverture : ${lieu.date_ouverture}
Modalités : ${lieu.modalites}\n
\n Mise à jour : ${lieu.maj}\n `;\n var newMarker = marker([lieu.longitude, lieu.latitude], {\n icon: new Icon.Default({imagePath: `${Router.basePath}assets/images/png/`})\n }).bindPopup(string_popup) //.addTo(this.mymap);\n newMarker.on('click', function(e: any) {\n // @ts-ignore\n this.openPopup();\n });\n markers.addLayer(newMarker);\n\n return markers;\n }, new MarkerClusterGroup({ disableClusteringAtZoom: 9 }));\n return markers;\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n // console.log(\"disconnected callback\")\n }\n}\n","import {LitElement, html, customElement, property, css} from 'lit-element';\nimport {classMap} from \"lit-html/directives/class-map\";\n\n@customElement('vmd-apropos')\nexport class VmdAproposComponent extends LitElement {\n\n //language=css\n static styles = [\n css`\n `\n ];\n\n constructor() {\n super();\n }\n\n render() {\n return html`\n \n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n // console.log(\"connected callback\")\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n // console.log(\"disconnected callback\")\n }\n}\n"],"names":["modulePath","importFunctionName","Function","error","baseURL","URL","location","cleanup","script","revokeObjectURL","src","remove","url","Promise","resolve","reject","absURL","self","moduleMap","moduleBlob","Blob","type","Object","assign","document","createElement","createObjectURL","[object Object]","Error","head","appendChild","p","callback","callbackCleaner","this","onViewChanged","redirect","basePath","declareRoute","subViewSlot","html","params","context","_notFoundRoute","path","viewComponentCreator","substring","slottedViewComponentFactoryResult","then","currentPath","currentTemplateResultCreator","slottedViewTemplateFactory","_viewChangeCallbacks","forEach","push","idx","findIndex","registeredCallback","splice","navigateToHome","codeDepartement","pathLibelleDepartement","trancheAge","open","Routing","INSTANCE","_Routing","Router","LitElement","installRoutes","viewTemplateResult","connectedCallback","disconnectedCallback","VmdAppComponent","styles","css","unsafeCSS","globalCss","__decorate","property","attribute","prototype","customElement","Map","trancheAgeSelectionne","codeTrancheAgeSelectionne","Array","from","tranchesAge","values","map","codeTrancheAge","libelle","event","currentTarget","value","dispatchEvent","CustomEvent","detail","get","VmdTrancheAgeSelectorComponent","String","departementSelectionne","codeDepartementSelectionne","repeat","departementsDisponibles","dept","code_departement","nom_departement","departement","find","VmdDepartementSelectorComponent","size","filler","padSize","length","pad","i","pluralForm","phoneNumber","normaliedPhoneNumber","indexOf","join","toLowerCase","replace","TRANCHES_AGE","VMD_BASE_URL","PLATEFORMES","Doctolib","code","logo","nom","promoted","styleCode","Maiia","Ordoclic","Keldoc","Pandalab","Mapharma","libelleUrlPathDuDepartement","Strings","toReadableURLPathValue","TYPES_LIEUX","vaccination-center","drugstore","general-practitioner","rawLieu","__assign","appointment_count","metadata","address","adr_num","adr_voie","com_cp","com_nom","filter","val","phone_number","toNormalizedPhoneNumber","_lieuxParDepartement","has","resp","fetch","results","json","lieuxDisponibles","centres_disponibles","transformLieu","lieuxIndisponibles","centres_indisponibles","derniereMiseAJour","last_updated","_departementsDiponibles","departements","sort","d1","d2","convertDepartementForSort","localeCompare","_statsLieu","statsParDepartements","statsLieu","parDepartements","entries","dpt","stats","reduce","statsParDept","global","proportion","Math","round","disponibles","total","userLocation","promise","geolocation","getCurrentPosition","enableHighAccuracy","timeout","coords","GeolocationPositionError","State","current","_State","FR_WEEK_DAYS","0","1","2","3","4","5","6","FR_MONTHES","7","8","9","10","11","lundi","index","shortName","mardi","mercredi","jeudi","vendredi","samedi","dimanche","weekdays","weekday","desc","fill","isoDateStr","ts","Date","parse","isNaN","date","getDay","getDate","getMonth","padLeft","getHours","getMinutes","Dates","parseISO","formatToFRDateTime","isoDate","durationFromNow","formatDuration","durationBetween","date1","date2","totalMillis","abs","getTime","millis","seconds","minutes","hours","days","totalHours","totalMinutes","totalSeconds","unit","skipPlural","plural","showValue","lieu","rdvPossible","plateforme","distance","toFixed","classMap","clickable","estCliquable","navigateToUrlIfPossible","isoToFRDatetime","prochain_rdv","toLocaleString","VmdAppointmentCardComponent","Number","Boolean","METADATA_WIDTH_CLASSES","full-width","fit-to-content","3col-equally-distributed","widthType","align-items-center","centerIconVertically","icon","classList","add","displayed","style","display","VmdAppointmentMetadataComponent","rechercherRdv","navigateToRendezVous","onDepartementSelected","p2","all","statsLieux","VmdHomeView","deg","PI","e","location2","recuperationLocationEnCours","localisationNavigateur","geolocalisationBloquée","geolocalisationIndisponible","prévenirSiBloqué","critèreDeTri","lieuxParDepartementTriesParDistance","remplirLieuxParDepartementTresParDistance","lieuxParDepartementAffiches","requestUpdate","lieuxParDepartementTriesParDate","ms","afficherMessageGeoloc","setTimeout","departementUpdated","searchInProgress","styleMap","totalDoses","formatDurationFromNow","afficherTriParDate","afficherTriParDistance","c","lieuxParDepartement","refreshLieux","origin","distanceAvec","latitude","lat1","longitude","lon1","lat2","lon2","dLat","deg2rad","dLon","a","sin","cos","atan2","sqrt","distanceEntreDeuxPoints","Infinity","lieuxDisponiblesTriesParDistance","l","b","lieuxIndisponiblesTriesParDistance","lieuxPour","refreshPageWhenValidParams","VmdRdvView","loadMap","mymap","shadowRoot","querySelector","setView","response","arrayBuffer","csv","TextDecoder","decode","buffer","data_array","VmdLieuxView","CSVToArray","lieux","slice","reservation","date_ouverture","rdv_tel","modalites","adresse","maj","markers","creer_pins","addLayer","catch","log","maxZoom","attribution","addTo","strData","strDelimiter","objPattern","RegExp","arrData","arrMatches","exec","strMatchedValue","strMatchedDelimiter","markers2","reservation_str","string_popup","newMarker","marker","Icon","Default","imagePath","bindPopup","on","openPopup","MarkerClusterGroup","disableClusteringAtZoom","VmdAproposComponent"],"mappings":"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"}