Current File : /home/d/i/g/digitaw/www/wp-content/plugins/event-tickets/build/js/v2/tickets-block.js
(()=>{const{applyFilters:t}=wp.hooks;tribe.tickets=tribe.tickets||{},tribe.tickets.block={num_attendees:0,event:{}},function(e,i){const s=e(document);i.selectors={container:".tribe-tickets__tickets-wrapper",form:".tribe-tickets__tickets-form",blockFooter:".tribe-tickets__tickets-footer",blockFooterActive:"tribe-tickets__tickets-footer--active",blockFooterAmount:".tribe-amount",blockFooterQuantity:".tribe-tickets__tickets-footer-quantity-number",blockSubmit:"#tribe-tickets__tickets-submit",item:".tribe-tickets__tickets-item",itemDescription:".tribe-tickets__tickets-item-details-content",itemDescriptionButtonMore:".tribe-tickets__tickets-item-details-summary-button--more",itemDescriptionButtonLess:".tribe-tickets__tickets-item-details-summary-button--less",itemExtraAvailable:".tribe-tickets__tickets-item-extra-available",itemExtraAvailableQuantity:".tribe-tickets__tickets-item-extra-available-quantity",itemOptOut:".tribe-tickets-attendees-list-optout--wrapper",itemOptOutInput:"#tribe-tickets-attendees-list-optout-",itemPrice:".tribe-tickets__tickets-sale-price .tribe-amount",itemQuantity:".tribe-tickets__tickets-item-quantity",itemQuantityInput:".tribe-tickets__tickets-item-quantity-number-input",itemQuantityAdd:".tribe-tickets__tickets-item-quantity-add",itemQuantityRemove:".tribe-tickets__tickets-item-quantity-remove",submit:".tribe-tickets__tickets-buy",hiddenElement:".tribe-common-a11y-hidden"},i.commerceSelector={edd:"Tribe__Tickets_Plus__Commerce__EDD__Main",rsvp:"Tribe__Tickets__RSVP",tpp:"Tribe__Tickets__Commerce__PayPal__Main",Tribe__Tickets__Commerce__PayPal__Main:"tribe-commerce",Tribe__Tickets__RSVP:"rsvp",Tribe__Tickets_Plus__Commerce__EDD__Main:"edd",Tribe__Tickets_Plus__Commerce__WooCommerce__Main:"woo",tribe_eddticket:"Tribe__Tickets_Plus__Commerce__EDD__Main",tribe_tpp_attendees:"Tribe__Tickets__Commerce__PayPal__Main",tribe_wooticket:"Tribe__Tickets_Plus__Commerce__WooCommerce__Main",woo:"Tribe__Tickets_Plus__Commerce__WooCommerce__Main"},i.updateAvailability=function(t){Object.keys(t).forEach((function(s){const c=t[s].available,o=t[s].max_purchase,r=e(i.selectors.item+'[data-ticket-id="'+s+'"]');if(0===c){const e=t[s].unavailable_html;r.prop("available",!1),r.removeClass("instock"),r.removeClass("purchasable"),r.find(i.selectors.itemQuantity).html(e),r.find(i.selectors.itemExtraAvailable).html("")}1<c&&(r.find(i.selectors.itemQuantityInput).attr({max:o}),r.find(i.selectors.itemExtraAvailableQuantity).html(c))}))},i.updateFooter=function(t){const e=t.find(i.selectors.blockFooter);i.updateFooterCount(t),i.updateFooterAmount(t),e.addClass(i.selectors.blockFooterActive.className())},i.updateFooterCount=function(t){const s=t.find(i.selectors.blockFooter+" "+i.selectors.blockFooterQuantity),c=t.find(i.selectors.item+" "+i.selectors.itemQuantityInput);let o=0;c.each((function(){const t=e(this);if(!t.is(":visible"))return;let i=parseInt(t.val(),10);i=isNaN(i)?0:i,o+=i}));const r=0>=o;tribe.tickets.utils.disable(t.find(i.selectors.submit),r),0>o||s.text(o)},i.getTicketsBlockProvider=function(t){return t.data("provider")},i.updateFooterAmount=function(t){const s=t.find(i.selectors.blockFooter+" "+i.selectors.blockFooterAmount),c=t.find(i.selectors.item+" "+i.selectors.itemQuantityInput),o=i.getTicketsBlockProvider(t);let r=0;c.each((function(){const t=e(this);if(!t.is(":visible"))return;let s=parseInt(t.val(),10);s=isNaN(s)?0:s;const c=t.closest(i.selectors.item),n=i.getPrice(c,o);r+=n*s})),0>r||s.text(tribe.tickets.utils.numberFormat(r,o))},i.updateFormTotals=function(t){s.trigger("beforeUpdateFormTotals.tribeTicketsBlock",[t]),i.updateFooter(t),s.trigger("afterUpdateFormTotals.tribeTicketsBlock",[t])},i.getTickets=function(){let s=e(i.selectors.item).map((function(){return e(this).data("ticket-id")})).get();return s=t("tec.tickets.tickets-block.getTickets",s),s},i.maybeShowOptOut=function(t,e){if(t.has(i.selectors.itemOptOut).length){const s=t.closest(i.selectors.item);0<e?s.addClass("show-optout"):s.removeClass("show-optout")}},i.formMatch=function(t,s){const c=t.closest(i.selectors.item).attr("data-ticket-id"),o=e('[ data-ticket-id="'+c+'" ]');o.length>=2&&o.each((function(){e(this).find(i.selectors.itemQuantityInput).val(s),i.updateFooter(e(this).closest("form"))}))},i.stepUp=function(t,e){const s=t.attr("max")?Number(t.attr("max")):-1,c=t.attr("step")?Number(t.attr("step")):1;let o=-1===s||s>=e+c?e+c:s;const r=t.closest(i.selectors.item);if("true"===r.attr("data-has-shared-cap")){const t=r.closest("form");o=i.checkSharedCapacity(t,o,r)}if(0!==o)if(0>o)t[0].value=e+o;else{if("function"==typeof t[0].stepUp)try{if(s<e+c)return;t[0].stepUp()}catch(e){t.val(o)}else t.val(o);i.formMatch(t,o)}},i.stepDown=function(t,e){const s=t.attr("min")?Number(t.attr("min")):0,c=t.attr("step")?Number(t.attr("step")):1,o=s<=e-c&&0<e-c?e-c:s;if("function"==typeof t[0].stepDown)try{t[0].stepDown()}catch(e){t[0].value=o}else t[0].value=o;i.formMatch(t,o)},i.checkAvailability=function(){const t=i.getTickets();if(0===t.length)return;const s={action:"ticket_availability_check",tickets:t};e.post(TribeTicketOptions.ajaxurl,s,(function(t){t.success&&i.updateAvailability(t.data.tickets)})),0<TribeTicketOptions.availability_check_interval&&setTimeout(i.checkAvailability,TribeTicketOptions.availability_check_interval)},i.checkSharedCapacity=function(t,s,c){let o=[],r=[];const n=t.find(i.selectors.item).filter('[data-has-shared-cap="true"]'),a=n.find(i.selectors.itemQuantityInput);if(!n.length)return s;const l=c.attr("data-available-count"),u=c.attr("data-shared-cap");return void 0===l||void 0===u?s:(a.each((function(){r.push(parseInt(e(this).val(),10))})),r=r.reduce((function(t,e){return t+e}),0),n.each((function(){o.push(parseInt(e(this).attr("data-available-count"),10))})),o=Math.max.apply(this,o),tribe.tickets.utils.calculateSharedCap(s,l,o,r))},i.getQty=function(t){const e=parseInt(t.find(i.selectors.itemQuantityInput).val(),10);return isNaN(e)?0:e},i.getPrice=function(t){return tribe.tickets.utils.getPrice(t,i.tribe_tickets_provider)},i.getTicketsForCart=function(t){const c=[];return(t||s).find(i.selectors.item).each((function(){const t=e(this);if(!t.is(":visible"))return;const s=t.data("ticketId"),o=t.find(i.selectors.itemQuantityInput).val(),r=t.find('[name="attendee[optout]"]');let n=r.val();r.is(":checkbox")&&(n=r.prop("checked")?1:0);const a={};a.ticket_id=s,a.quantity=o,a.optout=n,c.push(a)})),c},i.unbindTicketsAddRemove=function(t){t.find(i.selectors.itemQuantityAdd+", "+i.selectors.itemQuantityRemove).off()},i.bindTicketsAddRemove=function(t){t.find(i.selectors.itemQuantityAdd+", "+i.selectors.itemQuantityRemove).unbind("click").on("click",(function(t){t.preventDefault();const c=e(this).parent().find('input[type="number"]');if(s.trigger("beforeTicketsAddRemove.tribeTicketsBlock",[c]),c.is(":disabled"))return!1;const o=Number(c[0].value);e(this).hasClass(i.selectors.itemQuantityAdd.className())?i.stepUp(c,o):i.stepDown(c,o),o!==c[0].value&&c.trigger("change"),s.trigger("afterTicketsAddRemove.tribeTicketsBlock",[c])}))},i.unbindTicketsQuantityInput=function(t){t.find(i.selectors.itemQuantityInput).off()},i.bindTicketsQuantityInput=function(t){const c=t.find(i.selectors.itemQuantityInput);c.on("keypress",(function(t){13===t.keyCode&&(t.preventDefault(),t.stopPropagation())})),c.on("change keyup",(function(t){const c=e(t.target);s.trigger("beforeTicketsQuantityChange.tribeTicketsBlock",[c]);const o=c.closest(i.selectors.item),r=c.closest("form"),n=c.attr("max");let a=0,l=parseInt(c.val(),10);l=isNaN(l)?0:l,n<l&&(l=n,c.val(n)),"true"===o.attr("data-has-shared-cap")&&(a=i.checkSharedCapacity(r,l,o)),0>a&&(l+=a,c.val(l)),t.preventDefault(),i.maybeShowOptOut(o,l),i.updateFooter(r),i.updateFormTotals(r),s.trigger("afterTicketsQuantityChange.tribeTicketsBlock",[c])}))},i.itemDescriptionToggle=function(t){if("keyup"===t.type&&13!==t.keyCode)return;const s=t.target;if(!s)return;const c=e(s);if(!c.hasClass(i.selectors.itemDescriptionButtonMore.className())&&!c.hasClass(i.selectors.itemDescriptionButtonLess.className()))return;const o=c.closest(i.selectors.item),r=e("#"+c.attr("aria-controls"));if(!r.length||!o.length)return;const n=!o.hasClass("tribe__details--open");o.toggleClass("tribe__details--open",n),r.toggleClass("tribe__details--open",n),r.toggleClass(i.selectors.hiddenElement.className())},i.bindDescriptionToggle=function(t){const e=t.find(i.selectors.itemDescriptionButtonMore+", "+i.selectors.itemDescriptionButtonLess);e.on("keyup",i.itemDescriptionToggle),e.on("click",i.itemDescriptionToggle)},i.unbindDescriptionToggle=function(t){t.find(i.selectors.itemDescriptionButtonMore+", "+i.selectors.itemDescriptionButtonLess).off()},i.ticketsSubmit=function(t){const e=t.data("post-id"),c=t.data("provider");tribe.tickets.loader.show(t);const o={tribe_tickets_provider:i.commerceSelector[c],tribe_tickets_tickets:i.getTicketsForCart(t),tribe_tickets_meta:{},tribe_tickets_post_id:e};t.find("#tribe_tickets_block_ar_data").val(JSON.stringify(o)),s.trigger("beforeTicketsSubmit.tribeTicketsBlock",[t,o]),t.submit(),s.trigger("afterTicketsSubmit.tribeTicketsBlock",[t,o])},i.bindTicketsSubmit=function(t){t.find(i.selectors.submit).on("click",(function(s){if(s.preventDefault(),e(this).data("content"))return;const c=t.find(i.selectors.form);i.ticketsSubmit(c)}))},i.bindEvents=function(t){s.trigger("beforeSetup.tribeTicketsBlock",[t]),tribe.tickets.utils.disable(t.find(i.selectors.submit),!0),i.bindTicketsAddRemove(t),i.bindTicketsQuantityInput(t),i.bindTicketsSubmit(t),i.bindDescriptionToggle(t),s.trigger("afterSetup.tribeTicketsBlock",[t])},i.ready=function(){0<TribeTicketOptions.availability_check_interval&&i.checkAvailability(),s.find(i.selectors.container).each((function(t,s){const c=e(s);i.bindEvents(c);const o=c.find(i.selectors.form);i.tribe_tickets_provider=o.data("provider")}))},window.addEventListener("pageshow",(function(t){(t.persisted||void 0!==window.performance&&2===window.performance.navigation.type)&&i.ready()})),e(i.ready)}(jQuery,tribe.tickets.block),window.tec=window.tec||{},window.tec.tickets=window.tec.tickets||{},window.tec.tickets.v2=window.tec.tickets.v2||{},window.tec.tickets.v2.ticketsBlock={}})();