window.wp=window.wp||{};window.communityEventsData=window.communityEventsData||{};jQuery(function($){window.ajaxWidgets=['wpp_dashboard_primary'];window.ajaxPopulateWidgets=function(el){function show(i,id){var p,e=$('#'+id+' div.inside:visible').find('.widget-loading');if(e.length){p=e.parent();setTimeout(function(){p.load(ajaxurl+'?action=wpp-dashboard-widgets&widget='+id+'&pagenow='+pagenow,'',function(){p.hide().slideDown('normal',function(){$(this).css('display','')})})},i*500)}} if(el){el=el.toString();if($.inArray(el,ajaxWidgets)!==-1){show(0,el)}}else{$.each(ajaxWidgets,show)}};ajaxPopulateWidgets();postboxes.add_postbox_toggles(pagenow,{pbshow:ajaxPopulateWidgets})});jQuery(function($){'use strict';var communityEventsData=window.communityEventsData,dateI18n=wp.date.dateI18n,format=wp.date.format,sprintf=wp.i18n.sprintf,__=wp.i18n.__,_x=wp.i18n._x,app;app=window.wp.communityEvents={initialized:!1,model:null,init:function(){if(app.initialized){return} var $container=$('#community-events');$('.community-events-errors').attr('aria-hidden','true').removeClass('hide-if-js');$container.on('click','.community-events-toggle-location, .community-events-cancel',app.toggleLocationForm);$container.on('submit','.community-events-form',function(event){var location=$('#community-events-location').val().trim();event.preventDefault();if(!location){return} app.getEvents({location:location})});if(communityEventsData&&communityEventsData.cache&&communityEventsData.cache.location&&communityEventsData.cache.events){app.renderEventsTemplate(communityEventsData.cache,'app')}else{app.getEvents()} app.initialized=!0},toggleLocationForm:function(action){var $toggleButton=$('.community-events-toggle-location'),$cancelButton=$('.community-events-cancel'),$form=$('.community-events-form'),$target=$();if('object'===typeof action){$target=$(action.target);action='true'===$toggleButton.attr('aria-expanded')?'hide':'show'} if('hide'===action){$toggleButton.attr('aria-expanded','false');$cancelButton.attr('aria-expanded','false');$form.attr('aria-hidden','true');if($target.hasClass('community-events-cancel')){$toggleButton.trigger('focus')}}else{$toggleButton.attr('aria-expanded','true');$cancelButton.attr('aria-expanded','true');$form.attr('aria-hidden','false')}},getEvents:function(requestParams){var initiatedBy,app=this,$spinner=$('.community-events-form').children('.spinner');requestParams=requestParams||{};requestParams._wpnonce=communityEventsData.nonce;requestParams.timezone=window.Intl?window.Intl.DateTimeFormat().resolvedOptions().timeZone:'';initiatedBy=requestParams.location?'user':'app';$spinner.addClass('is-active');wp.ajax.post('get-community-events',requestParams).always(function(){$spinner.removeClass('is-active')}).done(function(response){if('no_location_available'===response.error){if(requestParams.location){response.unknownCity=requestParams.location}else{delete response.error}} app.renderEventsTemplate(response,initiatedBy)}).fail(function(){app.renderEventsTemplate({'location':!1,'events':[],'error':!0},initiatedBy)})},renderEventsTemplate:function(templateParams,initiatedBy){var template,elementVisibility,$toggleButton=$('.community-events-toggle-location'),$locationMessage=$('#community-events-location-message'),$results=$('.community-events-results');templateParams.events=app.populateDynamicEventFields(templateParams.events,communityEventsData.time_format);elementVisibility={'.community-events':!0,'.community-events-loading':!1,'.community-events-errors':!1,'.community-events-error-occurred':!1,'.community-events-could-not-locate':!1,'#community-events-location-message':!1,'.community-events-toggle-location':!1,'.community-events-results':!1};if(templateParams.location.ip){$locationMessage.text(__('Attend an upcoming event near you.'));if(templateParams.events.length){template=wp.template('community-events-event-list');$results.html(template(templateParams))}else{template=wp.template('community-events-no-upcoming-events');$results.html(template(templateParams))} elementVisibility['#community-events-location-message']=!0;elementVisibility['.community-events-toggle-location']=!0;elementVisibility['.community-events-results']=!0}else if(templateParams.location.description){template=wp.template('community-events-attend-event-near');$locationMessage.html(template(templateParams));if(templateParams.events.length){template=wp.template('community-events-event-list');$results.html(template(templateParams))}else{template=wp.template('community-events-no-upcoming-events');$results.html(template(templateParams))} if('user'===initiatedBy){wp.a11y.speak(sprintf(__('City updated. Listing events near %s.'),templateParams.location.description),'assertive')} elementVisibility['#community-events-location-message']=!0;elementVisibility['.community-events-toggle-location']=!0;elementVisibility['.community-events-results']=!0}else if(templateParams.unknownCity){template=wp.template('community-events-could-not-locate');$('.community-events-could-not-locate').html(template(templateParams));wp.a11y.speak(sprintf(__('We couldn’t locate %s. Please try another nearby city. For example: Kansas City; Springfield; Portland.'),templateParams.unknownCity));elementVisibility['.community-events-errors']=!0;elementVisibility['.community-events-could-not-locate']=!0}else if(templateParams.error&&'user'===initiatedBy){wp.a11y.speak(__('An error occurred. Please try again.'));elementVisibility['.community-events-errors']=!0;elementVisibility['.community-events-error-occurred']=!0}else{$locationMessage.text(__('Enter your closest city to find nearby events.'));elementVisibility['#community-events-location-message']=!0;elementVisibility['.community-events-toggle-location']=!0} _.each(elementVisibility,function(isVisible,element){$(element).attr('aria-hidden',!isVisible)});$toggleButton.attr('aria-expanded',elementVisibility['.community-events-toggle-location']);if(templateParams.location&&(templateParams.location.ip||templateParams.location.latitude)){app.toggleLocationForm('hide');if('user'===initiatedBy){$toggleButton.trigger('focus')}}else{app.toggleLocationForm('show')}},populateDynamicEventFields:function(rawEvents,timeFormat){var populatedEvents=JSON.parse(JSON.stringify(rawEvents));$.each(populatedEvents,function(index,event){var timeZone=app.getTimeZone(event.start_unix_timestamp*1000);event.user_formatted_date=app.getFormattedDate(event.start_unix_timestamp*1000,event.end_unix_timestamp*1000,timeZone);event.user_formatted_time=dateI18n(timeFormat,event.start_unix_timestamp*1000,timeZone);event.timeZoneAbbreviation=app.getTimeZoneAbbreviation(event.start_unix_timestamp*1000)});return populatedEvents},getTimeZone:function(startTimestamp){var timeZone=Intl.DateTimeFormat().resolvedOptions().timeZone;if('undefined'===typeof timeZone){timeZone=app.getFlippedTimeZoneOffset(startTimestamp)} return timeZone},getFlippedTimeZoneOffset:function(startTimestamp){return new Date(startTimestamp).getTimezoneOffset()*-1},getTimeZoneAbbreviation:function(startTimestamp){var timeZoneAbbreviation,eventDateTime=new Date(startTimestamp);var shortTimeStringParts=eventDateTime.toLocaleTimeString(undefined,{timeZoneName:'short'}).split(' ');if(3===shortTimeStringParts.length){timeZoneAbbreviation=shortTimeStringParts[2]} if('undefined'===typeof timeZoneAbbreviation){var timeZoneOffset=app.getFlippedTimeZoneOffset(startTimestamp),sign=-1===Math.sign(timeZoneOffset)?'':'+';timeZoneAbbreviation=_x('GMT','Events widget offset prefix')+sign+(timeZoneOffset/60)} return timeZoneAbbreviation},getFormattedDate:function(startDate,endDate,timeZone){var formattedDate;var singleDayEvent=__('l, M j, Y'),multipleDayEvent=__('%1$s %2$d–%3$d, %4$d'),multipleMonthEvent=__('%1$s %2$d – %3$s %4$d, %5$d');if(!endDate||format('Y-m-d',startDate)===format('Y-m-d',endDate)){formattedDate=dateI18n(singleDayEvent,startDate,timeZone)}else if(format('Y-m',startDate)===format('Y-m',endDate)){formattedDate=sprintf(multipleDayEvent,dateI18n(_x('F','upcoming events month format'),startDate,timeZone),dateI18n(_x('j','upcoming events day format'),startDate,timeZone),dateI18n(_x('j','upcoming events day format'),endDate,timeZone),dateI18n(_x('Y','upcoming events year format'),endDate,timeZone))}else{formattedDate=sprintf(multipleMonthEvent,dateI18n(_x('F','upcoming events month format'),startDate,timeZone),dateI18n(_x('j','upcoming events day format'),startDate,timeZone),dateI18n(_x('F','upcoming events month format'),endDate,timeZone),dateI18n(_x('j','upcoming events day format'),endDate,timeZone),dateI18n(_x('Y','upcoming events year format'),endDate,timeZone))} return formattedDate}};const wppWidget=$('#wpp_dashboard_primary');if(wppWidget.is(':visible')){app.init()}else{$(document).on('postbox-toggled',function(event,postbox){var $postbox=$(postbox);if('wpp_dashboard_primary'===$postbox.attr('id')&&$postbox.is(':visible')){app.init()}})}});const slidesContainer=document.getElementById('wpp_sponsorship');const sponsorshipGuid=document.getElementById('sponsorship-guide');const wppsPlaceholder=document.getElementById('wpp_sponsorship_placeholder');const wppsQuestion=document.querySelector('#sponsorship-guide .question');const sponsorshipUl=document.querySelector('#sponsorship-guide ul');async function wppInitSponsors(){try{const slidesData=Object.values(sponsors);wppsPlaceholder.remove();createSlides(slidesData);new KeenSlider(slidesContainer,{loop:!0,duration:5000,controls:!0,indicators:!0,})}catch(error){console.error('Error fetching slides:',error)}} function createSlides(slidesData){slidesData.forEach((slide)=>{const slideElement=document.createElement('div');slideElement.classList.add('keen-slider__slide');slideElement.innerHTML=''+slide.image_alt+'';slidesContainer.appendChild(slideElement)});if(slidesData.length>1){initWPPSSlider()}} function initWPPSSlider(){let wppsSlider=new KeenSlider(slidesContainer,{rtl:getComputedStyle(slidesContainer).direction,loop:!0,duration:3000,controls:!0,indicators:!0,},[wppsNavigation,(slider)=>{let timeout;let mouseOver=!1;function clearNextTimeout(){clearTimeout(timeout)} function nextTimeout(){clearTimeout(timeout);if(mouseOver){return} timeout=setTimeout(()=>{slider.next()},4000)} slider.on('created',()=>{slider.container.addEventListener('mouseover',()=>{mouseOver=!0;clearNextTimeout()});slider.container.addEventListener('mouseout',()=>{mouseOver=!1;nextTimeout()});nextTimeout()});slider.on('dragStarted',clearNextTimeout);slider.on('animationEnded',nextTimeout);slider.on('updated',nextTimeout)},])} function wppsNavigation(slider){let wrapper,dots,arrowLeft,arrowRight;function markup(remove){wrapperMarkup(remove);dotMarkup(remove);arrowMarkup(remove)} function removeElement(elment){elment.parentNode.removeChild(elment)} function createDiv(className){const div=document.createElement('div');let classNames=className.split(' ');classNames.forEach((name)=>div.classList.add(name));return div} function arrowMarkup(remove){if(remove){removeElement(arrowLeft);removeElement(arrowRight);return} arrowLeft=createDiv('arrow arrow--left');arrowLeft.addEventListener('click',()=>slider.prev());arrowRight=createDiv('arrow arrow--right');arrowRight.addEventListener('click',()=>slider.next());wrapper.appendChild(arrowLeft);wrapper.appendChild(arrowRight)} function wrapperMarkup(remove){if(remove){const parent=wrapper.parentNode;while(wrapper.firstChild){parent.insertBefore(wrapper.firstChild,wrapper)} removeElement(wrapper);return} wrapper=createDiv('navigation-wrapper');slider.container.parentNode.prepend(wrapper);wrapper.appendChild(slider.container)} function dotMarkup(remove){if(remove){removeElement(dots);return} dots=createDiv('dots');slider.track.details.slides.forEach((_e,idx)=>{const dot=createDiv('dot');dot.addEventListener('click',()=>slider.moveToIdx(idx));dots.appendChild(dot)});wrapper.appendChild(dots)} function updateClasses(){let slide=slider.track.details.rel;slide===0?arrowLeft.classList.add('arrow--disabled'):arrowLeft.classList.remove('arrow--disabled');slide===slider.track.details.slides.length-1?arrowRight.classList.add('arrow--disabled'):arrowRight.classList.remove('arrow--disabled');Array.from(dots.children).forEach(function(dot,idx){idx===slide?dot.classList.add('dot--active'):dot.classList.remove('dot--active')})} slider.on('created',()=>{markup();updateClasses()});slider.on('optionsChanged',()=>{console.log(2);markup(!0);markup();updateClasses()});slider.on('slideChanged',()=>{updateClasses()});slider.on('destroyed',()=>{markup(!0)})} wppInitSponsors();wppsQuestion.addEventListener('click',function(event){sponsorshipUl.classList.toggle('show');event.stopPropagation()});document.addEventListener('click',function(event){if(!sponsorshipGuid.contains(event.target)){sponsorshipUl.classList.remove('show')}})