/* * cass_member_course_info - Shortcode for course info * * This shortcode is used to display the course info */ document.addEventListener('DOMContentLoaded', function () { var loader = document.getElementById('cass_shortcode_course_info'); if (loader) { new Vue({ el: "#cass_shortcode_course_info", data: { race: [] }, methods: { async getRaceData() { const siteUrl = window.siteUrl; const RaceID = window.RaceID; const apiURL = `${siteUrl}/wp-json/wp-cass/v1/cass-race-list-element/${RaceID}`; try { const response = await axios.get(apiURL); this.race = response.data[0]; if (response.data.length != 0) { var materials; var raceMaterialList = document.getElementById("raceMaterials"); raceMaterialList.innerHTML = 'Matériel requis : '; if (this.race.materials != null) { materials = this.race.materials.split(','); materials.forEach(material => { raceMaterialList.innerHTML += '' + ReadGlobal(material,false) + ','; }); raceMaterialList.innerHTML = raceMaterialList.innerHTML.slice(0, -1); } else { raceMaterialList.innerHTML = 'Pas de matériel requis pour cette course'; } if (this.race.descriptionMemberSubscribed == '') { document.getElementById("raceDescriptionPublic").innerHTML = "Il n'y a aucune description membre pour cette course"; } else { document.getElementById("raceDescriptionPublic").innerHTML = ReadGlobal(getReturnWithCarriage(this.race.descriptionMemberSubscribed)); } document.getElementById("raceInfo").removeAttribute("hidden"); document.getElementById('raceInfo').scrollIntoView(); document.getElementById("raceInfo").style.display = "block"; document.getElementById("raceSeason").innerHTML = "La saison de la course est "+this.race.season+""; document.getElementById("racePlaceLocality").innerHTML = "La course se déroulera à "+ReadGlobal(this.race.placeName,false)+" ("+this.race.placeLocality+")"; document.getElementById("raceName").innerHTML =ReadGlobal(this.race.name,false); document.getElementById('raceStartEnd').innerHTML = "La course se déroulera du "+getDateFormated(this.race.start,true)+" au "+getDateFormated(this.race.end,true)+""; document.getElementById("raceState").innerHTML = "Etat de la course : "+ReadGlobal(getTextFromState(this.race.state),false)+""; let deputyText ="."; if(this.race.nameDeputy !=null && this.race.nameDeputy !="") { deputyText = " avec comme adjoint "+ReadGlobal(this.race.nameDeputy,false)+"."; } document.getElementById("raceRLDeputy").innerHTML = "La course est gérée (chef de course) par "+ReadGlobal(this.race.nameRL,false)+" "+ReadGlobal(deputyText,false)+""; document.getElementById("raceTypeLevel").innerHTML = "Le type est "+ReadGlobal(this.race.type,false)+" d'un niveau "+ReadGlobal(this.race.level,false)+""; document.getElementById("raceGroup").innerHTML = "Groupe : "+ReadGlobal(this.race.group,false)+""; //Description public if (this.race.descriptionPublic == '' || this.race.descriptionPublic == null) { document.getElementById("raceDescriptionPublic").innerHTML = "Il n'y a aucune description pour cette course"; } else { document.getElementById("raceDescriptionPublic").innerHTML = ReadGlobal(getReturnWithCarriage(this.race.descriptionPublic),false); } //Description membre inscrit if (document.getElementById("raceDescriptionMemberSubscribed") != null) { if (this.race.descriptionMemberSubscribed == '' || this.race.descriptionMemberSubscribed == null) { document.getElementById("raceDescriptionMemberSubscribed").innerHTML = "Il n'y a aucune description pour cette course"; } else { document.getElementById("raceDescriptionMemberSubscribed").innerHTML = ReadGlobal(getReturnWithCarriage(this.race.descriptionMemberSubscribed),false); } } let raceSubscriptionStartEndMeetingPlaceParticipiant=""; //Check inscription var date = new Date(); var today = date.toISOString().slice(0, 19).replace("T", " "); var subscriptionStart = this.race.subscriptionStart.toLocaleString(); var subscriptionEnd = this.race.subscriptionEnd.toLocaleString(); // Contrôle état de la course if(parseInt(this.race.subscriptionEnable) == 1) { raceSubscriptionStartEndMeetingPlaceParticipiant = 'Les inscriptions sont ouvertes du ' + getDateFormated(this.race.subscriptionStart) + ' au ' + getDateFormated(this.race.subscriptionEnd) + '.'; } else { raceSubscriptionStartEndMeetingPlaceParticipiant = 'Les inscriptions sont ouvertes du ' + getDateFormated(this.race.subscriptionStart) + ' au ' + getDateFormated(this.race.subscriptionEnd) + ' (actuellement fermées).'; } if (this.race.participantMin !== null && this.race.participantMin !== "" && this.race.participantMin !== 0) { raceSubscriptionStartEndMeetingPlaceParticipiant += "
Le nombre de participant minimum est de " + this.race.participantMin + "."; } if (this.race.participantMax !== null && this.race.participantMax !== "" && this.race.participantMax !== 0) { raceSubscriptionStartEndMeetingPlaceParticipiant += "
Le nombre de participant maximum est de " + this.race.participantMax + "."; } if (this.race.meetingPlaceName !== null && this.race.meetingPlaceName !== "") { raceSubscriptionStartEndMeetingPlaceParticipiant += "
Le lieu de RDV est " + this.race.meetingPlaceName + "."; } document.getElementById("raceSubscriptionStartEndMeetingPlaceParticipiant").innerHTML = ReadGlobal(raceSubscriptionStartEndMeetingPlaceParticipiant,false); document.getElementById("progress-bar-container").setAttribute("hidden", "true"); } } catch (error) { console.error('Erreur Axios :', error); } }, }, created() { this.getRaceData(); }, }); } });