/** * This JS file was auto-generated via Terser. * * Contributors should avoid editing this file, but instead edit the associated * non minified file file. For more information, check out our engineering docs * on how we handle JS minification in our engineering docs. * * @see: https://evnt.is/dev-docs-minification */ tribe.events=tribe.events||{},tribe.events.views=tribe.events.views||{},tribe.events.views.manager={},function($,_,obj){"use strict";var $window=$(window);obj.nonces=null,obj.selectors={container:'[data-js="tribe-events-view"]',form:'[data-js="tribe-events-view-form"]',link:'[data-js="tribe-events-view-link"]',dataScript:'[data-js="tribe-events-view-data"]',loader:".tribe-events-view-loader",loaderText:".tribe-events-view-loader__text",hiddenElement:".tribe-common-a11y-hidden",nonceScript:'[data-js="tribe-events-view-nonce-data"]'},obj.lastLocation={origin:"",pathname:""},obj.doingPopstate=!1,obj.currentAjaxRequest=null,obj.$lastContainer=$(),obj.$containers=$(),obj.cleanup=function(container){var $container=$(container),$form=$container.find(obj.selectors.form),$data=$container.find(obj.selectors.dataScript),data={};$data.length&&(data=JSON.parse($data.text().trim())),$container.trigger("beforeCleanup.tribeEvents",[$container,data]),$container.find(obj.selectors.link).off("click.tribeEvents",obj.onLinkClick),$form.length&&$form.off("submit.tribeEvents",obj.onSubmit),$container.trigger("afterCleanup.tribeEvents",[$container,data])},obj.setup=function(index,container){var $nonces=$($.find(obj.selectors.nonceScript)),$container=$(container),$form=$container.find(obj.selectors.form),$data=$container.find(obj.selectors.dataScript),data={};$nonces.length&&(obj.nonces=JSON.parse($($nonces[0]).text().trim()),$nonces.remove()),$data.length&&(data=JSON.parse($data.text().trim())),$container.trigger("beforeSetup.tribeEvents",[index,$container,data]),$container.find(obj.selectors.link).on("click.tribeEvents",obj.onLinkClick),$form.length&&$form.on("submit.tribeEvents",obj.onSubmit),$container.trigger("afterSetup.tribeEvents",[index,$container,data])},obj.getContainer=function(element){var $element=$(element);return $element.is(obj.selectors.container)?$element:$element.parents(obj.selectors.container).eq(0)},obj.getContainerData=function($container){var $data=$container.find(obj.selectors.dataScript);if($data.length)return JSON.parse($data.text().trim())},obj.shouldManageUrl=function($container){var shouldManageUrl=$container.data("view-manage-url");return shouldManageUrl=void 0===shouldManageUrl||/^(true|1|on|yes)$/.test(String(shouldManageUrl))},obj.updateUrl=function($container){if(!obj.doingPopstate&&obj.shouldManageUrl($container)){var $data=$container.find(obj.selectors.dataScript);if($data.length){var data=JSON.parse($data.text().trim());_.isObject(data)&&(_.isUndefined(data.url)||_.isUndefined(data.title)||(document.title=data.title,window.history.pushState(null,data.title,data.url),obj.lastLocation.pathname=document.location.pathname,obj.lastLocation.origin=document.location.origin))}}},obj.onLinkClick=function(event){var $container=obj.getContainer(this);$container.trigger("beforeOnLinkClick.tribeEvents",event),event.preventDefault();var containerData=obj.getContainerData($container),url=$(this).attr("href"),prevUrl=containerData.prev_url,shouldManageUrl=obj.shouldManageUrl($container),shortcodeId=$container.data("view-shortcode"),data={prev_url:encodeURI(decodeURI(prevUrl)),url:encodeURI(decodeURI(url)),should_manage_url:shouldManageUrl};return shortcodeId&&(data.shortcode=shortcodeId),obj.request(data,$container),$container.trigger("afterOnLinkClick.tribeEvents",event),!1},obj.onSubmit=function(event){var $container=obj.getContainer(this);$container.trigger("beforeOnSubmit.tribeEvents",event),event.preventDefault();var $form=$(this),data={view_data:Qs.parse($form.serialize())["tribe-events-views"]};return obj.request(data,$container),$container.trigger("afterOnSubmit.tribeEvents",event),!1},obj.onPopState=function(event){var target=event.originalEvent.target,url=target.location.href,$container=obj.getLastContainer();if(obj.lastLocation.origin===target.location.origin&&obj.lastLocation.pathname===target.location.pathname)return!1;if(obj.lastLocation.pathname=document.location.pathname,obj.lastLocation.origin=document.location.origin,!$container)return!1;obj.currentAjaxRequest&&obj.currentAjaxRequest.abort(),obj.doingPopstate=!0,$container.trigger("beforePopState.tribeEvents",event);var data={url:url};return obj.request(data,$container),!1},obj.setupRequestData=function(data,$container){var shouldManageUrl=obj.shouldManageUrl($container),containerData=obj.getContainerData($container);data.url||(data.url=containerData.url),data.prev_url||(data.prev_url=containerData.prev_url),data.should_manage_url=shouldManageUrl,obj.nonces&&(data=$.extend(data,obj.nonces));var requestData=$container.data("tribeRequestData");return $.isPlainObject(requestData)?$.extend(requestData,data):data},obj.request=function(data,$container){$container.trigger("beforeRequest.tribeEvents",[data,$container]);var settings=obj.getAjaxSettings($container);settings.data=obj.setupRequestData(data,$container),obj.currentAjaxRequest=$.ajax(settings),$container.trigger("afterRequest.tribeEvents",[data,$container])},obj.getAjaxSettings=function($container){return{url:$container.data("view-rest-url"),method:$container.data("view-rest-method")||"POST",async:!0,beforeSend:obj.ajaxBeforeSend,complete:obj.ajaxComplete,success:obj.ajaxSuccess,error:obj.ajaxError,context:$container}},obj.ajaxBeforeSend=function(jqXHR,settings){var $loader=this.find(obj.selectors.loader);if(this.trigger("beforeAjaxBeforeSend.tribeEvents",[jqXHR,settings]),$loader.length){$loader.removeClass(obj.selectors.hiddenElement.className());var $loaderText=$loader.find(obj.selectors.loaderText);$loaderText.text($loaderText.text())}this.attr("aria-busy","true"),this.trigger("afterAjaxBeforeSend.tribeEvents",[jqXHR,settings])},obj.ajaxComplete=function(jqXHR,textStatus){var $loader=this.find(obj.selectors.loader);this.trigger("beforeAjaxComplete.tribeEvents",[jqXHR,textStatus]),$loader.length&&$loader.addClass(obj.selectors.hiddenElement.className()),this.trigger("afterAjaxComplete.tribeEvents",[jqXHR,textStatus]),obj.doingPopstate&&(obj.doingPopstate=!1),obj.currentAjaxRequest=null},obj.ajaxSuccess=function(data,textStatus,jqXHR){var $container=this;$container.trigger("beforeAjaxSuccess.tribeEvents",[data,textStatus,jqXHR]);var $html=$(data),$nonces=$html.find(obj.selectors.nonceScript);$html=$html.not(obj.selectors.nonceScript),$nonces.length&&(obj.nonces=JSON.parse($($nonces[0]).text().trim())),obj.cleanup($container),document.dispatchEvent(new CustomEvent("containerReplaceBefore.tribeEvents",{detail:$container})),$container.replaceWith($html),$container=$html,obj.setup(0,$container),document.dispatchEvent(new CustomEvent("containerReplaceAfter.tribeEvents",{detail:$container})),obj.selectContainers(),obj.updateUrl($container),$container.trigger("afterAjaxSuccess.tribeEvents",[data,textStatus,jqXHR]),obj.shouldManageUrl($container)&&(obj.$lastContainer=$container)},obj.ajaxError=function(jqXHR,settings){this.trigger("beforeAjaxError.tribeEvents",[jqXHR,settings]),this.trigger("afterAjaxError.tribeEvents",[jqXHR,settings])},obj.selectContainers=function(){return obj.$containers=$(obj.selectors.container),obj.$containers},obj.getLastContainer=function(){return obj.$lastContainer.length||(obj.$lastContainer=obj.$containers.filter('[data-view-manage-url="1"]').eq(0)),obj.$lastContainer},obj.ready=function(){obj.selectContainers().each(obj.setup),obj.lastLocation={origin:document.location.origin,pathname:document.location.pathname}},$(obj.ready),$window.on("popstate",obj.onPopState)}(jQuery,window.underscore||window._,tribe.events.views.manager);