nouveau-theatre-de-besancon/site/plugins/mapado-check/index.js
2024-09-04 14:05:22 +02:00

1 line
2.2 KiB
JavaScript

(function(){"use strict";function f(i,e,o,a,r,c,d,s){var t=typeof i=="function"?i.options:i;return e&&(t.render=e,t.staticRenderFns=o,t._compiled=!0),t._scopeId="data-v-"+c,{exports:i,options:t}}const p={__name:"MapadoCheckButton",props:{mapadoToken:String},setup(i){const e=Vue.ref(null),o=Vue.ref("search"),a=Vue.ref(null),r=Vue.ref("Vérifie si Mapado contient bien un événement correspondant.");setTimeout(()=>{const s=document.querySelector(".k-field-name-mapadoid input");e.value=s.value,s.addEventListener("input",()=>{e.value=s.value})},100);function c(s){const t=s.split(" "),n=t[2],l=t[3],u=t[4],g=t[9],k=t[10],y=t[11];return`du ${n} ${l} ${u} au ${g} ${k} ${y}`}function d(){o.value="loader",a.value="yellow";const s="https://ticketing.mapado.net/v1/ticketings/"+e.value+"?fields=id,title,slug,sellingDeviceSchedule",t={method:"POST",body:JSON.stringify({requestUrl:s})};fetch("/mapado-fetch.json",t).then(n=>{if(console.log(n),n.status===404)throw new Error("Aucun événement ne correspond à l'identifiant : "+e.value+".");if(n.status===500)throw new Error("Impossible de joindre le serveur Mapado. Veuillez réessayer plus tard.");return n.json()}).then(n=>{o.value="check",a.value="green";const l=Object.keys(n.sellingDeviceSchedule)[0],u=c(n.sellingDeviceSchedule[l].fr.toLowerCase());console.log(n),r.value=`<strong>Événement correspondant sur Mapado : <em>${n.title}</em>, ${u}</strong> (<a href="https://desk.mapado.com/mass-action/ticketing/${e.value}" target="_blank">gérer sur Mapado.</a>).`}).catch(n=>{o.value="alert",a.value="red",r.value="<strong>"+n+"</strong>",console.log(n),setTimeout(()=>{o.value="search",a.value=null},2e3)})}return{__sfc:!0,id:e,icon:o,theme:a,text:r,formatDateString:c,connect:d}}};var m=function(){var e=this,o=e._self._c,a=e._self._setupProxy;return o("div",{staticClass:"k-number-field k-field k-field-name-mapadoid"},[o("k-button",{attrs:{variant:"filled",theme:a.theme,icon:a.icon},on:{click:a.connect}},[e._v("Vérifier")]),o("footer",{staticClass:"k-field-footer"},[o("div",{staticClass:"k-help k-field-help k-text"},[o("p",{domProps:{innerHTML:e._s(a.text)}})])])],1)},v=[],h=f(p,m,v,!1,null,"36712d5e");const _=h.exports;window.panel.plugin("adrienpayet/mapado-check",{fields:{"mapado-check":_}})})();