1jQuery(document).ready(function($) { 2 var intWindowWidth = $(window).width(), intWindowHeight = $(window).height(); 3 // This is required for AJAX to work on our page 4 var ajaxurl = $("#adminAjaxURL").val(); 5 const shortcodeMonthPara = (element) => { 6 let shortcode = element.data('current'); 7 let target = element.data('target'); 8 if(shortcode == undefined || target == undefined || target == '') return {'shortcode-view': ''}; 9 return { 10 'limit': (shortcode.count != undefined) ? shortcode.count : '', 11 'shortcode-view': (shortcode.view != undefined) ? shortcode.view : '', 12 'shortCodeBar': (shortcode.bar != undefined) ? shortcode.bar : '', 13 'category': (shortcode.category != undefined) ? shortcode.category : '', 14 'search': (shortcode.search != undefined) ? shortcode.search : '', 15 'genre': (shortcode.genre != undefined) ? shortcode.genre : '', 16 'venue': (shortcode.venue != undefined) ? shortcode.venue : '', 17 'performer': (shortcode.performer != undefined) ? shortcode.performer : '', 18 'month': (shortcode.month != undefined) ? shortcode.month : '', 19 'announced': (shortcode.justAnnounced != undefined) ? shortcode.justAnnounced : '', 20 'featured': (shortcode.featured != undefined) ? shortcode.featured : '', 21 'filter-enabled': (shortcode.filter != undefined) ? shortcode.filter : '', 22 'gridcolcount': (shortcode.gridColumn != undefined) ? shortcode.gridColumn : '', 23 'shortcode': (shortcode.class != undefined) ? shortcode.class : '', 24 'target': target, 25 }; 26 } 27 // Short Code Apply filter 28 $(document).on('click', "input[name='shortcodeBtn']", function(event) { 29 event.preventDefault(); 30 let intlength = $(".overlayLoad" ).length; 31 if(intlength == 0) $("#accordionFilter").append("<div class='overlayLoad'></div>"); 32 $('#monoverlay').fadeIn(); 33 loadEtixMonthEventPageEvents(shortcodeMonthPara($(this).closest('.rhp-events__shortcode-main'))); 34 }); 35 // Clear Filter 36 $(document).on('click', "input[name='clearBarFilter']", function(event) { 37 event.preventDefault(); 38 let intlength = $(".overlayLoad" ).length; 39 if(intlength == 0) $("#accordionFilter").append("<div class='overlayLoad'></div>"); 40 $('#monoverlay').fadeIn(); 41 loadEtixMonthEventPageEvents(shortcodeMonthPara($(this).closest('.rhp-events__shortcode-main'))); 42 }); 43 44 // Format date into YYYY-MM-DDT00:00:00 45 function getMobMonthConvert(date) { 46 return getFormattedDate(date)+'T00:00:00'; 47 } 48 var strEventStarDate = '', strEventEndDate = '', arrParam = ''; 49 var objURLParams = new URLSearchParams(window.location.search); 50 var boolDisplay = objURLParams.has('rhp_event_display'); 51 var strDisplayName = objURLParams.get('rhp_event_display'); 52 var strGenreVal = objURLParams.get('rhp_bar_rhp_gen'); 53 var strSearchVal = objURLParams.get('rhp_bar_search_box'); 54 var intVenueVal = objURLParams.get('rhp_bar_rhp_venue'); 55 var intPerformerVal = objURLParams.get('rhp_bar_rhp_performer'); 56 var intMonthVal = objURLParams.get('rhp_bar_rhp_month'); 57 var strJustAnnCheck = objURLParams.get('rhp-bar-just-announced'); 58 var strFeatureCheck = objURLParams.get('rhp-bar-feature'); 59 60 function loadEtixMonthEventPageEvents(arrEPosts){ 61 // Data to receive from our server 62 // the value in 'action' is the key that will be identified by the 'wp_ajax_' hook 63 let intlength = $(".overlayLoad" ).length; 64 if(intlength == 0){ 65 $("#eventCalendar").append("<div class='overlayLoad'></div>"); 66 } 67 let strMonthStartDate = $("#monthStartDate").val(); 68 let data = { 69 data: arrEPosts, 70 action: "loadEtixMonthViewEventPageFn" 71 }; 72 $('#eventCalendar.'+arrEPosts.target).parent().find('#monoverlay').fadeIn(); 73 // Send the data 74 $.post(ajaxurl, data, function(response) { 75 if(response.success) { 76 let strTargetMainCalendar = response.data.target; 77 if(response.data.events.length != 0) { 78 handleCalendar(response); 79 $('#eventCalendar.'+strTargetMainCalendar+' .noEventsNotice').remove(); 80 $("#eventCalendar."+strTargetMainCalendar+" .btn-group.topButtons").parent().parent().addClass('month-navkit'); 81 $("#eventCalendar."+strTargetMainCalendar+" .fc-header-toolbar.month-navkit .botButtons").parent().siblings(".fc-toolbar-chunk").find(".fc-toolbar-title").addClass("nav-month-title"); 82 } else $('#eventCalendar.'+strTargetMainCalendar).prepend('<div class="p-4 noEventsNotice">There were no results found.</div>'); 83 window.onload = checkMonthCalanderOverSize; 84 window.onresize = checkMonthCalanderOverSize; 85 $(".post-loading-image").hide(); 86 $('#eventCalendar.'+strTargetMainCalendar).parent().find('#monoverlay').fadeOut(); 87 } 88 }); 89 reloadPage(); 90 }
91 var boolEventArchivePage = $('#isEventsArchivePage').val(); 92 boolEventArchivePage = ((boolEventArchivePage != undefined) && (boolEventArchivePage == 'true')) ? true : false; 93 intMainCalendar = 1; 94 $("#eventCalendar.mainCalendar").each(function(i, element) { 95 let strMainCalendarClass = 'calendar-'+intMainCalendar; 96 element.classList.add(strMainCalendarClass); 97 intMainCalendar++; 98 let intLimit = $('#eventCalendar.'+strMainCalendarClass).parent().find('#evPostPerPage').val(); 99 let shortcode = $(this).closest('.rhp-events__shortcode-main'); 100 if(shortcode.length) shortcode.data('target', strMainCalendarClass); 101 let arrEPosts = shortcode.length ? shortcodeMonthPara(shortcode) : {'limit': intLimit, 'display': boolDisplay, 'displayName': strDisplayName, 'search': strSearchVal, 'genre': strGenreVal, 'venue': intVenueVal, 'performer': intPerformerVal, 'month': intMonthVal, 'announced': strJustAnnCheck, 'featured': strFeatureCheck, 'target': strMainCalendarClass, 'archive': boolEventArchivePage}; 102 if($('#eventCalendar.'+strMainCalendarClass).length == 1){ 103 let strIsWidget = $('#eventCalendar.'+strMainCalendarClass).attr('widget'); 104 if(strIsWidget != '' && strIsWidget != undefined) { 105 strWidgetFeatureFilter = $('#eventCalendar.'+strMainCalendarClass).attr('widget-featured'); 106 strVenuesFilter = $('#eventCalendar.'+strMainCalendarClass).attr('widget-venues'); 107 strPerformersFilter = $('#eventCalendar.'+strMainCalendarClass).attr('widget-performers'); 108 strGenresFilter = $('#eventCalendar.'+strMainCalendarClass).attr('widget-genres'); 109 strCategoriesFilter = $('#eventCalendar.'+strMainCalendarClass).attr('widget-categories'); 110 boolFilterAction = $('#eventCalendar.'+strMainCalendarClass).attr('widget-action'); 111 arrEPosts = {'limit': intLimit, 'display':boolDisplay, 'displayName': strDisplayName, 'search': strSearchVal, 'genre': strGenreVal, 'venue': intVenueVal, 'performer': intPerformerVal, 'month': intMonthVal, 'announced': strJustAnnCheck, 'featured': strFeatureCheck, 'widget-featured': strWidgetFeatureFilter, 'venues': strVenuesFilter, 'performers': strPerformersFilter, 'genres': strGenresFilter, 'categories': strCategoriesFilter, 'method': boolFilterAction, 'widget': true, 'target': strMainCalendarClass}; 112 } 113 loadEtixMonthEventPageEvents(arrEPosts); 114 } 115 }); 116 // restructure event date in Y-m-d format 117 function getFormattedDate(date) { 118 let year = date.getFullYear(); 119 let month = String(date.getMonth() + 1).padStart(2, '0'); 120 let day = String(date.getDate()).padStart(2, '0'); 121 return `${year}-${month}-${day}`; 122 } 123 function checkMonthCalanderOverSize(){ 124 if(intWindowWidth > 767){ 125 let headerInnerWidth = $(".fc-header-toolbar.month-navkit").innerWidth(), 126 botWidth = $(".fc-header-toolbar.month-navkit .botButtons").innerWidth(), 127 topWidth = $(".fc-header-toolbar.month-navkit .topButtons").innerWidth(); 128 if(headerInnerWidth < (botWidth+topWidth)) 129 $(".month-navkit").addClass('realign'); 130 } 131 } 132 // return timestamp in utc timezone standard 133 function getUTCTimestampFromDate(date){ 134 date = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds()); 135 date.toUTCString(); 136 return Math.floor((date.getTime()/1000)-(date.getTimezoneOffset()*60)); 137 } 138 function loadMonthViewMobileEvents(arrParam){ 139 if(intWindowWidth > 767) return; 140 let strMainCalendarTargetClass = arrParam.target; 141 let strIsWidget = $('#eventCalendar.'+strMainCalendarTargetClass).attr('widget'); 142 if(strIsWidget != '' && strIsWidget != undefined ) { 143 strWidgetFeatureFilter = $('#eventCalendar.'+strMainCalendarTargetClass).attr('widget-featured'); 144 strVenuesFilter = $('#eventCalendar.'+strMainCalendarTargetClass).attr('widget-venues'); 145 strPerformersFilter = $('#eventCalendar.'+strMainCalendarTargetClass).attr('widget-performers'); 146 strGenresFilter = $('#eventCalendar.'+strMainCalendarTargetClass).attr('widget-genres'); 147 strCategoriesFilter = $('#eventCalendar.'+strMainCalendarTargetClass).attr('widget-categories'); 148 boolFilterAction = $('#eventCalendar.'+strMainCalendarTargetClass).attr('widget-action'); 149 let arrEPosts = {'eventStarDate': arrParam.eventStarDate, 'eventEndDate': arrParam.eventEndDate, 'venue': arrParam.venue, 'performer': arrParam.performer, 'displayName': arrParam.displayName, 'month': arrParam.month, 'justAnnounced': arrParam.justAnnounced, 'thumbImage': arrParam.thumbImage, 'widget-featured': strWidgetFeatureFilter, 'venues': strVenuesFilter, 'performers': strPerformersFilter, 'genres': strGenresFilter, 'categories': strCategoriesFilter, 'method': boolFilterAction, 'widget': true, 'target': strMainCalendarTargetClass}; 150 arrParam = arrEPosts; 151 } 152 if(boolEventArchivePage) arrParam.archive = boolEventArchivePage; 153 let intMonthMobileViewCheck = $('#eventCalendar.'+strMainCalendarTargetClass).parent().find('#monthMobileViewCheck').val(); 154 let intEventimgdisplayCheck = $('#eventCalendar.'+strMainCalendarTargetClass).parent().find('#eventimgdisplayCheck').val(); 155 if(intMonthMobileViewCheck != 1){ 156 arrParam['thumbImage'] = intEventimgdisplayCheck; 157 $('#eventCalendar.'+strMainCalendarTargetClass).parent().find('#monoverlay').fadeIn(); 158 // Data to receive from our server 159 // the value in 'action' is the key that will be identified by the 'wp_ajax_' hook 160 let data = { 161 data: arrParam, 162 action: "loadMonthViewMobEvents" 163 }; 164 // Send the data 165 $.post(ajaxurl, data, function(response) { 166 if(response.success) { 167 let strMainCalendarTargetClass = response.data.target; 168 if (response.data != undefined) { 169 jsonEventListData = JSON.parse( JSON.stringify(response.data) ); 170 let eventMobMonthCalendarDivSection = $('#eventCalendar.'+strMainCalendarTargetClass).parent().parent().find("#eventMobMonthCalendar"); 171 eventMobMonthCalendarDivSection.html(''); 172 eventMobMonthCalendarDivSection.append(jsonEventListData.htmldata); 173 } 174 $(".post-loading-image").hide(); 175 $('#eventCalendar.'+strMainCalendarTargetClass).parent().find('#monoverlay').fadeOut(); 176 $('.loader').hide(); 177 } 178 }); 179 } 180 } 181 // Check devices (iPad|iPhone|iPod) based on condition 182 function checkResizeForBasedOnDevice() { 183 if(/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) 184 return $(window).width() != intWindowWidth; 185 return $(window).width() != intWindowWidth || $(window).height() != intWindowHeight; 186 } 187 // reload page when this funtion where called 188 function reloadPage() { 189 $(window).resize(function() { 190 if(checkResizeForBasedOnDevice()){ 191 location.reload(); 192 } 193 }); 194 } 195 // Create and alter events besed on month or navigation buttons 196 function handleCalendar(response) { 197 let strMonthValidEndDate = ''; 198 let strTargetMainCalendar = response.data.target; 199 let strMonthValidStartDate = $('#eventCalendar.'+strTargetMainCalendar).parent().find("#monthValidStartDate").val(); 200 let strMonthStartDate = response.data.events[0]["start"]; 201 let objLength = $.map(response.data.events, function(n, i) { return i; }).length; 202 if(strMonthStartDate != '' && strMonthStartDate != undefined){ 203 let strFirtDate = strMonthStartDate.split('T'); 204 let arrfirstDate = []; 205 arrfirstDate = arrfirstDate.concat(strFirtDate); 206 strMonthValidStartDate = arrfirstDate[0]; 207 } else strMonthStartDate = ''; 208 if(objLength > 1){ 209 strMonthValidEndDate = response.data.events[objLength - 1]["start"] 210 let strLastEventDate = strMonthValidEndDate.split('T'); 211 let arrEventLastDate = []; 212 arrEventLastDate = arrEventLastDate.concat(strLastEventDate); 213 strMonthValidEndDate = arrEventLastDate[0]; 214 } else strMonthValidEndDate = strMonthValidStartDate; 215 let startDateParts = strMonthValidStartDate.split('-'); 216 let objStartDate = new Date(startDateParts[0], startDateParts[1] - 1, 1); 217 strMonthValidStartDate = getFormattedDate(objStartDate); 218 let endDateParts = strMonthValidEndDate.split('-'); 219 let objEndDate = new Date(endDateParts[0], endDateParts[1] - 1, endDateParts[2]); 220 let endDate = new Date(objEndDate.getFullYear(), objEndDate.getMonth() + 1, 0); // last day of month 221 endDate.setDate(endDate.getDate() + 1); // add 1 day 222 strMonthValidEndDate = getFormattedDate(endDate); 223 224 let strCurrentMonth = $('#eventCalendar.'+strTargetMainCalendar).parent().find("#currentMonth").val(); 225 226 if(strMonthStartDate == ''){ 227 strMonthStartDate = $('#eventCalendar.'+strTargetMainCalendar).parent().find("#monthStartDate").val(); 228 } 229 let arrCalendarViewDate = ( strMonthStartDate != '' && strMonthStartDate != undefined ) ? strMonthStartDate.split("-"): ''; 230 if( arrCalendarViewDate != '' && strCurrentMonth != arrCalendarViewDate[1] ) { 231 let strCurrMonthStartDate = $('#eventCalendar.'+strTargetMainCalendar).parent().find("#monthValidStartDate").val(); 232 strMonthStartDate = strCurrMonthStartDate; 233 } 234 let strWeekBeginValue = $('#eventCalendar.'+strTargetMainCalendar).parent().find("#weekBeginValue").val(); 235 strWeekBeginValue = (strWeekBeginValue != '' && strWeekBeginValue == 'sunday') ? 0 : 1; 236 let intMonthDayDisplayCheck = $('#eventCalendar.'+strTargetMainCalendar).parent().find("#monthDayDisplayCheck").val(); 237 let strMonthViews = (intMonthDayDisplayCheck == 1) ? 'dayGridWeek,dayGridMonth' : 'dayGridDay,dayGridWeek,dayGridMonth';
238 let strweekday = (intWindowWidth <= 992) ? 'short' : 'long'; 239 let intEventimgdisplayCheck = $('#eventCalendar.'+strTargetMainCalendar).parent().find("#eventimgdisplayCheck").val(); 240 let intMonthMobileViewCheck = $('#eventCalendar.'+strTargetMainCalendar).parent().find("#monthMobileViewCheck").val(); 241 242 let strSiteTimeZone = $('#eventCalendar.'+strTargetMainCalendar).parent().find("#siteTimeZone").val(); 243 let calendarEl = $('#eventCalendar.'+strTargetMainCalendar).parent().find('#eventCalendar').get(0); 244 if (calendarEl != null){ 245 let calendar = new FullCalendar.Calendar(calendarEl, { 246 themeSystem: 'bootstrap', 247 timeZone: strSiteTimeZone, 248 firstDay: strWeekBeginValue, 249 headerToolbar: { 250 center: 'title', 251 start: 'prev,title,next', 252 end: strMonthViews, 253 }, 254 footerToolbar: { 255 center: '', 256 start: 'prev,next', 257 end: strMonthViews, 258 }, 259 validRange: { 260 start: strMonthValidStartDate, 261 end: strMonthValidEndDate 262 }, 263 eventOrderStrict: true, 264 eventOrder: 'venueorder,similartitle,eventtimestamp', 265 slotLabelFormat:{ 266 hour: 'numeric', 267 minute: '2-digit', 268 omitZeroMinute: false, 269 meridiem: true 270 }, 271 progressiveEventRendering: true, 272 views: { // customize the button names, otherwise they'd all just say "list" 273 dayGridDay: {buttonText: 'Day'}, 274 dayGridWeek: {buttonText: 'Week'}, 275 dayGridMonth: {buttonText: 'Month'}, 276 }, 277 buttonIcons: { 278 prev: 'bi bi-arrow-left', 279 next: 'bi bi-arrow-right' 280 }, 281 aspectRatio: 1, 282 navLinks: false, // can click day/week names to navigate views 283 slotDuration: '00:15:00', 284 allDaySlot: false, 285 eventBorderColor: 'red', 286 nowIndicator: true, 287 handleWindowResize: true, 288 slotEventOverlap:false, 289 eventOverlap: false, 290 contentHeight: "auto", 291 eventDisplay: 'list-item', 292 stickyHeaderDates: true, 293 buttonText:{today: 'Today'}, 294 dayHeaderFormat:{ 295 weekday: strweekday 296 }, 297 initialDate: strMonthStartDate, 298 datesSet: function(info) { 299 calendar.destroy(); 300 calendar.render(); 301 $(".fc-timegrid-axis-frame").text("Day"); 302 calendar.updateSize(); 303 let dateParts = JSON.stringify(info.startStr).split('T')[0].replace(/"/g, "").split('-'); 304 let strEventStarDateTemp = new Date(dateParts[0], dateParts[1] - 1, dateParts[2]); 305 if(strEventStarDateTemp.getDate() != 1) { 306 strEventStarDateTemp = new Date(strEventStarDateTemp.getFullYear(), strEventStarDateTemp.getMonth() + 1, 0); // last day of month 307 strEventStarDateTemp.setDate(strEventStarDateTemp.getDate() + 1); // add 1 day 308 } 309 strEventStarDate = getMobMonthConvert(strEventStarDateTemp); 310 strEventStarDateTemp.setMonth(strEventStarDateTemp.getMonth() + 1) 311 strEventEndDate = getMobMonthConvert(strEventStarDateTemp); 312 strDisplayName = objURLParams.get('rhp_event_display'); 313 let strSearchVal = $("#rhp_bar_search_box").val(); //get search filter value. 314 strSearchVal = (strSearchVal != '' && strSearchVal != undefined) ? strSearchVal : ''; 315 let strGenreVal = $("#rhp_bar_rhp_gen").val(); 316 strGenreVal = (strGenreVal != '' && strGenreVal != undefined) ? strGenreVal : ''; 317 let strVenueVal = $("#rhp_bar_rhp_venue").val(); //get venue filter value. 318 strVenueVal = (strVenueVal != '' && strVenueVal != undefined) ? strVenueVal : ''; 319 let strPerformerVal = $("#rhp_bar_rhp_performer").val(); //get performer filter value. 320 strPerformerVal = (strPerformerVal != '' && strPerformerVal != undefined) ? strPerformerVal : ''; 321 let strMonthVal = $("#rhp_bar_rhp_month").val();//get month filter value. 322 strMonthVal = (strMonthVal != '' && strMonthVal != undefined) ? strMonthVal : ''; 323 let strJustAnnVal = $("#rhp-bar-just-announced").val(); 324 strJustAnnCheck = (strJustAnnVal != '' && strJustAnnVal != undefined && strJustAnnVal == 'checked') ? 'checked' : ''; 325 let strFeatureVal = $("#rhp-bar-feature").val(); 326 strFeatureCheck = (strFeatureVal != '' && strFeatureVal != undefined && strFeatureVal == 'checked') ? 'checked' : ''; 327 let strListMonth = $('#eventCalendar.'+strTargetMainCalendar).parent().parent().find("#eventMobMonthCalendar").attr("list-month"); 328 let staCalMonth = $(".fc-toolbar-title").first().text(); 329 if(strMonthVal != undefined){ 330 if(strListMonth == staCalMonth && strMonthVal != 0 ){ 331 $('#eventCalendar.'+strTargetMainCalendar).parent().find(".monthMobOuter").removeClass('hideMonthList').addClass('displayMonthList'); 332 } 333 if(strListMonth != staCalMonth && strMonthVal != 0 ){ 334 $('#eventCalendar.'+strTargetMainCalendar).parent().find(".monthMobOuter").removeClass('displayMonthList').addClass('hideMonthList'); 335 } 336 } 337 arrParam = {'eventStarDate': strEventStarDate, 'eventEndDate': strEventEndDate, 'search':strSearchVal, 'venue': intVenueVal, 'performer': intPerformerVal, 'displayName':strDisplayName, 'genre': strGenreVal, 'month': intMonthVal, 'announced': strJustAnnCheck, 'featured': strFeatureCheck, 'target': strTargetMainCalendar};
338 loadMonthViewMobileEvents(arrParam); 339 }, 340 eventContent: function(arg, createElement) { 341 let intMonthStartTimestamp = getUTCTimestampFromDate(arg.event._context.dateProfileGenerator.props.calendarApi.currentData.dateProfile.currentRange.start); 342 let intMonthEndTimestamp = getUTCTimestampFromDate(arg.event._context.dateProfileGenerator.props.calendarApi.currentData.dateProfile.currentRange.end); 343 let intEventTimestamp = arg.event.extendedProps.eventtimestamp; 344 if(!((intMonthStartTimestamp <= intEventTimestamp) && (intMonthEndTimestamp > intEventTimestamp))) return { domNodes: [] }; 345 $strDisplayClass = 'd-md-block d-none'; 346 $strDotsClass = 'd-md-none d-block'; 347 if(intMonthMobileViewCheck == 1){ 348 $strDisplayClass = 'd-block'; 349 $strDotsClass = 'd-none'; 350 } 351 let arrayOfDomNodes = [] 352 // title event 353 let titleEvent = document.createElement('div') 354 if(arg.event.title) { 355 titleEvent.innerHTML = arg.event.extendedProps.strTitleHtml; 356 titleEvent.classList = "eventTitleOuter"; 357 } 358 let venueEventWrap = document.createElement('div') 359 if(arg.event.extendedProps.venuename && arg.event.extendedProps.imagedisplay) { 360 venueEventWrap.innerHTML = arg.event.extendedProps.venuename; 361 venueEventWrap.classList = "rhp-event__venue--month eventVenueTitleOuter"; 362 venueEventWrap.classList += intMonthMobileViewCheck == 1 ? "" : " d-none d-md-block"; 363 } 364 365 // image event 366 let imgEventWrap = document.createElement('div'); 367 if(intEventimgdisplayCheck != 1 && arg.event.extendedProps.imagedisplay){ 368 if(arg.event.extendedProps.imageurl) { 369 let imgEvent = '<img class="rhp-event__image--month" src="'+arg.event.extendedProps.imageurl+'" title="'+arg.event.extendedProps.plaintitle+'" alt="'+arg.event.extendedProps.plaintitle+'" >'; 370 imgEventWrap.classList = "fc-event-img "+$strDisplayClass; 371 imgEventWrap.innerHTML = imgEvent; 372 } 373 } 374 // cta event 375 let ctaEventWrap = document.createElement('div') 376 let ctaEvent = arg.event.extendedProps.strctaHtml 377 if(ctaEvent) { 378 let strHexVenueColor = arg.event.extendedProps.strVenueColor 379 let strCTABackColor = arg.event.extendedProps.strBackColor 380 ctaEventWrap.classList = "fc-event-cta rhp-event__cta--month "+$strDisplayClass; 381 ctaEventWrap.style.cssText = 'border-left:5px solid '+strHexVenueColor+';background:'+strCTABackColor+';' 382 ctaEventWrap.innerHTML = ctaEvent; 383 } else ctaEventWrap.classList = "fc-event-cta rhp-event__cta--month d-none"; 384 // dots event 385 let divDotWrap = document.createElement('div') 386 if(arg.event.extendedProps.strSpanHtml) { 387 let spanDot = arg.event.extendedProps.strSpanHtml 388 divDotWrap.classList = "fc-event-dot "+$strDotsClass; 389 divDotWrap.innerHTML = spanDot; 390 } 391 arrayOfDomNodes = (intEventimgdisplayCheck != 1) ? [ divDotWrap,venueEventWrap,imgEventWrap,titleEvent,ctaEventWrap ] : [ divDotWrap,venueEventWrap,titleEvent,ctaEventWrap ] 392 return { domNodes: arrayOfDomNodes } 393 }, 394 editable: false, 395 selectable: false, 396 businessHours: { 397 daysOfWeek: [0, 1, 2, 3, 4, 5, 6 ], // Sunday - Saturday, days of week. an array of zero-based day of week integers (0=Sunday) 398 startTime: '00:00', // a start time (12am) 399 endTime: '24:00', // an end time (12am) 400 }, 401 showNonCurrentDates: true, 402 events: response.data.events 403 }); 404 calendar.render(); 405 } 406 $("#eventCalendar."+strTargetMainCalendar+" .fc-dayGridDay-button,#eventCalendar."+strTargetMainCalendar+" .fc-dayGridWeek-button").parent().addClass('btn-group to
406pButtons'); 407 $("#eventCalendar."+strTargetMainCalendar+" .fc-prev-button").parent().addClass('btn-group botButtons'); 408 $("#eventCalendar."+strTargetMainCalendar+" .fc-footer-toolbar .botButtons .fc-button").on("click", function() { 409 $('html,body').animate({ 410 scrollTop: $("#eventCalendar."+strTargetMainCalendar).offset().top - 200 411 }, 'slow'); 412 }); 413 } 414});
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.