You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

462 lines
21 KiB

let eventDetails={}
const onlineEvent = {
prepareBtns : (event_sched_btn, page/* page=1, homepage, page=2, event detailed page*/, event) => {
const bostatus = parseInt(event.back_office_status);
const fav = (parseInt(event.is_favorite) == 1) ? 'btn-favorite': '';
const redirectOfflineUser = !event.is_user_active ? 'subscribe-btn-redirect': '';
let btnClass = 'btn btn-block btn-default-style event-btn btn-online-event';
let btnText = '';
let btnDisabled = true;
// Event is Coming soon
if (event.is_coming_soon == 'coming_soon' && event.event_status === 'AVAILABLE' && (bostatus == 2 || bostatus == 1 )) {
btnClass = `${fav} ${btnClass} disabled`;
btnDisabled = true;
btnText = app.get_vars()._app.btn.coming_soon;
}
// Event is AVAILABLE
else if (event.is_coming_soon == '' && event.event_status === 'AVAILABLE' && bostatus == 2 ) {
btnClass = `${fav} ${btnClass} ${redirectOfflineUser}`;
btnDisabled = false;
btnText = app.get_vars()._app.btn._book_online_event;
}
// Event is FULL || COMPLETE
else if (event.event_status === 'FULL' && (bostatus == 2 || bostatus == 3)) {
btnClass = `${btnClass} disabled`
btnDisabled = true;
btnText = app.get_vars()._app.btn._full;
}
// Event is Cancelled
else if (event.event_status === 'CANCEL' && event.is_passed !== '1') {
btnClass = `${fav} ${btnClass} cancelled_event disabled`
btnDisabled = true;
btnText = app.get_vars()._app.btn._cancelled;
}
// Event is Closed
else if (bostatus == 4 || (event.event_status === 'CANCEL' && event.is_passed === '1')) {
btnClass = `${btnClass} disabled`
btnDisabled = true;
btnText = app.get_vars()._app.btn._closed;
}
// Event is Terminee
else if (bostatus == 7) {
btnClass = `${btnClass} disabled`
btnDisabled = true;
btnText = app.get_vars()._app.btn._terminee;
}
// Event is Archived
else {
btnClass = `${btnClass} disabled`
btnDisabled = true;
btnText = app.get_vars()._app.btn._archive;
}
if (page == 1) { // Buttons in Homepage
event_sched_btn.append(`<button
data-event-id="${event.event_id}"
class='${btnClass}'
role='button'
${btnDisabled ? 'disabled = "disabled"': ''}
data-page='home'>
${btnText}
</button>`);
}
},
getEventDetails: function (url) {
$.ajax({
url : url,
type : "POST",
data : {},
success : function(result) {
if(result) {
$('.hide-div').show()
eventDetails = result
/* For Course Online Event */
if(result.workshop_session === 'ENLIGNE' || result.workshop_session === 'DISTANCE-PRESENTIEL') {
$('#video_workshop_modal_content').show()
$('#regular_workshop_modal_content').hide()
$(".totalVideos").text(result.event_videos.length);
var learning_outcome = result.learning_outcome.split('\"');
var htmlOutcome = ''
for (let i = 0; i < learning_outcome.length; i++) {
if(learning_outcome[i] !== '[' && learning_outcome[i] !== ',' && learning_outcome[i] !== ']') {
htmlOutcome += `<div class="appendre-item">
<img class="mc-icon" src="${app.get_vars().baseurl}resources/images/frontoffice/icons/fleche-open.svg" />
<div class="ml-2">${learning_outcome[i]}</div>
</div>`
}
}
$("div.appendre-lists").html(htmlOutcome);
} else {
$('#video_workshop_modal_content').hide()
$('#regular_workshop_modal_content').show()
}
if(result.location) {
const mapLoc = JSON.parse(eventDetails.location);
// $('#gmap_canvas').attr('src', 'https://maps.google.com/maps?q='+ mapLoc.address +'&t=&z=10&ie=UTF8&iwloc=&output=embed');
$('#gmap_canvas')[0].src = 'https://maps.google.com/maps?q='+ mapLoc.address +'&t=&z=10&ie=UTF8&iwloc=&output=embed&z=13';
$('.event-address').text(mapLoc.address);
$('.event-venue').text(eventDetails.event_address);
}
if(result.location === "") {
$('.event-map').addClass('d-none')
}
if(result.workshop_author_awards == 0) {
$('.mc-author-awards').css('display', 'none')
}
if(result.works == 0) {
$('.mc-author-works').css('display', 'none')
}
/** setup buttons and labels rules */
// $('input[type=radio][name=soir-type][value=soir-presentiel]').click()
// $('input[type=radio][name=mobile-soir-type][value=soir-presentiel]').click()
onlineEvent.setup_details_rules(result, 'soir-presentiel')
if (result.workshop_session === 'DISTANCE-PRESENTIEL') {
$('.mc-btn-group button').prop('disabled', true)
}
}
}
})
},
getEventSchedules: function (url) {
$.ajax({
url : url,
type : "POST",
data : {},
success : function(result) {
if(result) {
moment.locale('fr')
let html = ""
result.forEach((d) => {
const ms = moment.duration(moment(d.end_date_time).diff(moment(d.start_date_time)))
//:${ms.minutes()}
html += `<div class="mc-event-sched">
<span class="event-date">${(moment(d.start_date_time).format('dddd DD MMM YYYY')).replace(".", '')}</span>
<span class="event-time"> — ${d.start_date_hour} à ${d.end_date_hour}</span>
<div class="event-duration">Durée ${ms.hours()}h${ms.minutes()>0?(ms.minutes().toString()+'0').slice(0,2):''}</div>
</div>`;
})
$("div#otherSched").append(html)
$("#w-startTime").text(result[0]?result[0].start_date_hour:'00h00')
}
}
})
},
"setup_details_rules": function(result, session_type) {
let remaining_seats = 0
$('.percent-discount').show()
if(result.workshop_session === 'DISTANCE-PRESENTIEL') {
$('.percent-discount').hide()
$('.mc-btn-group button').prop('disabled', false)
if(session_type=== 'soir-presentiel') {
remaining_seats = result.presentiel['p_remaining_combined_seat']
} else {
remaining_seats = result.distance['d_remaining_combined_seat']
}
} else {
remaining_seats = result.remaining_combined_seat
}
$("span#remaining_seat").text(remaining_seats);
// $(".subscribe-btn").attr('', result.remaining_combined_seat == 0)
if(remaining_seats > 1) {
$('span.plural').text('s');
} else {
$('span.plural').text('');
}
let reserveBtnLabel = ''
if(moment().isBetween(result.reservation_start_date, result.reservation_end_date, null ,'[]')) {
reserveBtnLabel = "Réserver"
// $("div#nombre-places").css('display', 'block')
} else if(moment(result.reservation_start_date).isAfter(moment())) {
reserveBtnLabel = "Prochainement"
// $(".btn-reserve").attr('disabled', true)
if(result.workshop_session !== 'ENLIGNE' && result.workshop_session !== 'DISTANCE'){
$(".offer-btn").attr('disabled', true)
}
$('a.mc-btn-status.btn-reserve').addClass('mc-btn-scroll')
$("#nombre-places").css('display', 'none')
} else if (moment().isAfter(moment(result.reservation_end_date))) {
reserveBtnLabel = 'Fermé'
$(".btn-reserve").attr('disabled', true)
$("div#nombre-places").css('display', 'none')
if(result.workshop_session !== 'ENLIGNE') {
$(".offer-btn").attr('disabled', true)
}
// $(".offer-btn").attr('disabled', true)
// if(result.workshop_session !== 'ENLIGNE' && result.workshop_session !== 'DISTANCE' &&
// result.workshop_session === 'DISTANCE-PRESENTIEL' && session_type === 'soir-presentiel' ){
// $(".offer-btn").attr('disabled', true)
// }
}
if(result.event_status === 'CANCEL') {
reserveBtnLabel = 'Annule'
$(".show-prompt-login-reserver, .subscribe-btn").attr('disabled', true)
$(".btn-reserve").attr('disabled', true)
$(".offer-btn").attr('disabled', true)
$(".show-prompt-login-reserver, .subscribe-btn").text(reserveBtnLabel)
$('.cancel-overlay').removeClass('d-none');
$('div#nombre-places, .nombre-places').addClass('d-none');
$('.show-prompt-login-reserver, .btn-reserve, .subscribe-btn').addClass('cancelled-btn');
}
/* Show details block based on event status FO */
// if($('.btn-reserve').text().indexOf('Prochainement') >= 0) {
if(result.event_status === 'SOON') {
reserveBtnLabel = 'Prochainement'
$('.available').addClass('d-none');
$('.unavailable').removeClass('d-none');
} else {
$('.unavailable').addClass('d-none');
$('.available').removeClass('d-none');
}
let remaining_combined_seat = result.remaining_combined_seat
if(result.workshop_session === 'DISTANCE-PRESENTIEL') {
if(session_type == 'soir-presentiel') {
remaining_combined_seat = result.presentiel.p_remaining_combined_seat
} else {
remaining_combined_seat = result.distance.d_remaining_combined_seat
}
}
if(remaining_combined_seat == 0 && result.workshop_session != 'ENLIGNE') {
reserveBtnLabel = "Atelier complet"
$(".btn-reserve").attr('disabled', false)
$("div#nombre-places").css('display', 'none')
$(".mc-price").css('display', 'none')
$(".mc-price-mention").css('display', 'none')
$(".mc-btn-group").css('display', 'none')
$('div.mc-complet').css('display', 'block')
$('.contact-block').css('margin-top','0')
$('.mobile-event-details .date-duration').css('display', 'none')
$('.mobile-event .available').addClass('d-none');
$('.mc-atelier-complet').removeClass('d-none');
} else {
$('.mc-atelier-complet').addClass('d-none');
}
$(".btn-reserve").text(reserveBtnLabel)
$(".btn-mobile-event").text(reserveBtnLabel)
$(".subscribe-btn").text(reserveBtnLabel)
moment.locale('fr')
var s_date = moment(result.start_date_time).format('DD MMM');
var e_date = moment(result.end_date_time).format('DD MMM YYYY');
if(result.number_of_sessions > 1) {
$(".date-duration").text('Du ' + moment(result.start_date_time).format('DD MMMM') + ' au ' + moment(result.end_date_time).format('DD MMMM YYYY'));
$(".mc-date-duration").text(s_date.replace('.','') + ' - ' + e_date.replace('.','') );
} else {
$(".date-duration").text('Le ' + moment(result.start_date_time).format('DD MMMM YYYY'));
$(".mc-date-duration").text(e_date.replace('.',''));
}
//for a specific event
$("#w-date").text('Le ' + moment(result.start_date_time).format('DD MMMM') + ' à ')
// Convert decimal to time format
let minute = 0
let hour = 0
if(result.workshop_session === 'ENLIGNE' || result.workshop_session === 'DISTANCE' || result.workshop_session === 'DISTANCE-PRESENTIEL') {
// $("div#otherSched").hide()
$("#w-startTime").hide()
if(result.event_videos.length) {
let videos = result.event_videos
let h = 0
let m = 0
let s = 0
for(let i=0; i<videos.length; i++) {
let hms = null
hms = videos[i].duration.split(':')
h += parseInt(hms[0])
m += parseInt(hms[1])
s += parseInt(hms[2])
}
m = m + Math.floor(s/60)
hour = h + Math.floor(m/60)
minute = m % 60
}
} else {
// $("div#otherSched").show()
$("#w-startTime").show()
let totalH = Math.round((result.hours_per_session) * 100) / 100;
hour = Math.floor(totalH);
var decimal = totalH - hour;
var min = 1 / 60;
// Round to nearest minute
decimal = min * Math.round(decimal / min);
minute = Math.floor(decimal * 60);
}
$("span#time-hr").text(hour)
if(minute === 0){
return ' '
} else if(minute < 10){
return $("span#time-min").text('0'+ minute)
} else {
return $("span#time-min").text(minute)
}
},
"on_change_session_type": function (_this) {
let num_seats = ''
let rs = 0
subscribe.set_vars({session_type: $(_this).val()})
if($(_this).val()== 'soir-presentiel') {
rs = eventDetails.presentiel.p_remaining_combined_seat
num_seats = rs + ' place' + (rs>1?'s':'') + ' maximum'
onlineEvent.setup_details_rules(eventDetails, 'soir-presentiel')
} else {
rs = eventDetails.distance.d_remaining_combined_seat
num_seats = rs + ' place' + (rs>1?'s':'') + ' maximum'
$(".btn-reserve").removeAttr('disabled')
$("div#nombre-places").css('display', 'block')
$(".mc-price").css('display', 'block')
$(".mc-price-mention").css('display', 'block')
$(".mc-btn-group").css('display', 'block')
$('div.mc-complet').css('display', 'block')
$('.contact-block').css('margin-top','0')
$('.mobile-event-details .date-duration').css('display', 'block')
$('.mobile-event .available').removeClass('d-none');
$('.mc-atelier-complet').removeClass('d-none');
onlineEvent.setup_details_rules(eventDetails, 'soir-distance')
}
$('.num_seats').text(num_seats)
$('#remaining_seat').text(rs)
$('#number_of_seat_reserved').empty()
$('#number_of_seat_reserved').append('<option disabled selected value="">- sélectionner -</option>')
$('#number_of_seat_reserved_mobile').empty()
$('#number_of_seat_reserved_mobile').append('<option disabled selected value="">- sélectionner -</option>')
for(let i=1; i<=rs; i++) {
if(i==1) {
$('#number_of_seat_reserved').append('<option value="1">1 place</option>');
$('#number_of_seat_reserved_mobile').append('<option value="1">1 place</option>');
} else {
$('#number_of_seat_reserved').append('<option value="'+i+'">'+i+' places</option>');
$('#number_of_seat_reserved_mobile').append('<option value="'+i+'">'+i+' places</option>');
}
}
}
}
$(function(){
$('input[type=radio][name=soir-type], input[type=radio][name=mobile-soir-type]').on('change', function(){
onlineEvent.on_change_session_type(this)
});
// $('input[type=radio][name=mobile-soir-type]').on('change', function(){
// onlineEvent.on_change_session_type()
// });
//$(document).ready(function() {
/* Format comment rate */
let rate = $("#comment-rate").text();
if(rate.length > 4) {
let avg = parseFloat(rate)
if(Number.isInteger(avg)) {
$("#comment-rate").text(avg + '/10');
$("progress").attr("value", avg);
} else {
$("#comment-rate").text(avg.toFixed(1) + '/10');
$("progress").attr("value", avg);
}
} else {
$("#comment-rate").text(rate) + '/10';
}
if(typeof moment !== 'undefined') {
const eventId = $('#event-details').data('event-id')
onlineEvent.getEventDetails(app.get_vars().baseurl+'events/homepage/get_event_details/'+ eventId)
onlineEvent.getEventSchedules(app.get_vars().baseurl+'events/homepage/get_event_schedules/'+ eventId)
}
$(document).on('click','button[data-page^="details"].btn-online-event:not(.subscribe-btn-redirect, .not-premium)', (event) => {
const event_url = $(event.target).data('event_url');
if (event_url) {
window.open(event_url, "_blank");
}
});
$(document).on('click','button[data-page^="home"].btn-online-event:not(.subscribe-btn-redirect)', (event) => {
const target = $(event.target);
const event_id = target.data('event-id');
if (event_id) {
window.location=`${app.get_vars().baseurl}event_details?event_id=${event_id}`;
}
});
$("select#number_of_seat_reserved").on('change', function() {
let combined_seat = eventDetails.remaining_combined_seat
if(eventDetails.workshop_session == 'DISTANCE-PRESENTIEL') {
if(subscribe.get_vars().session_type == 'soir-presentiel')
combined_seat = eventDetails.presentiel.p_remaining_combined_seat
else
combined_seat = eventDetails.distance.d_remaining_combined_seat
}
$("span#remaining_seat").text(combined_seat - $(this).val());
if((combined_seat - $(this).val()) >= 2) {
$('span.plural').text('s');
}
if ((combined_seat - $(this).val()) <= 1) {
$('span.plural').text('');
}
});
$("#number_of_seat_reserved_mobile").on('change', function() {
let combined_seat = eventDetails.remaining_combined_seat
if(eventDetails.workshop_session == 'DISTANCE-PRESENTIEL') {
if(subscribe.get_vars().session_type == 'soir-presentiel')
combined_seat = eventDetails.presentiel.p_remaining_combined_seat
else
combined_seat = eventDetails.distance.d_remaining_combined_seat
}
$("span#remaining_seat").text(combined_seat - $(this).val());
if((combined_seat - $(this).val()) >= 2) {
$('span.plural').text('s');
}
if ((combined_seat - $(this).val()) <= 1) {
$('span.plural').text('');
}
});
// ONLINE COURSE VIDEO LISTS VOIR PLUS
$(window).on('resize', function(){
var win = $(this);
if ($(window).width() <= 767) {
$("#more-less-btn").removeClass('d-none')
$('.video-part-item.video-more').addClass('collapse')
$("#more-less-btn").click(function(){
$(".video-more").collapse('show');
});
$(".video-more").on('show.bs.collapse', function(){
$("#more-less-btn").css('display', 'none')
});
} else {
$('.video-part-item.video-more').removeClass('collapse')
$("#more-less-btn").addClass('d-none')
}
});
$('.mc-banner-img iframe').attr('id', 'v-item')
// Call the API when a button is pressed
var iframe = $('iframe#v-item');
var player = new Vimeo.Player(iframe);
$('.overlay-video ').on('click', function() {
$(".img-video-overlay").hide();
player.play();
});
player.on('play', function() {
$('.overlay-video').css('display', 'none')
$('iframe').removeClass('darken');
$('iframe').css('background', 'black');
$('iframe').css('border-radius', '8px');
});
player.on('pause', function() {
$('.overlay-video').css('display', 'block')
$('iframe').addClass('darken');
});
})