PageSourceSearch

https://teatromadrid.com/wp-content/themes/desktop/dist/js/widget-ecommerce-DngjZoF6.js

js teatromadrid.com collected 2026-10-02 10:22:54 UTC 4,626 bytes, 1 lines download raw bytes

1var e=class{$supports_html5_storage=!0;settings;cart_button=null;cart_interval=null;countDownDate=null;widgetToken=null;is_updating_cart=[];is_updating_cart_index=0;redirectDelayMs=0;constructor(){try{this.$supports_html5_storage=`sessionStorage`in window&&window.sessionStorage!==null,window.sessionStorage.setItem(`wc`,`test`),window.sessionStorage.removeItem(`wc`),window.localStorage.setItem(`wc`,`test`),window.localStorage.removeItem(`wc`)}catch{this.$supports_html5_storage=!1}let e=document.getElementById(`tb-show-settings`);this.settings=e?JSON.parse(e.textContent||`{}`):{},this.init()}init(){let e=document.querySelector(`#modal-calendar-events`);e&&(e.addEventListener(`beforetoggle`,e=>{if(!(typeof dataLayer>`u`)&&window.ga4_ecommerce_event!==void 0&&e.newState===`open`){dataLayer.push({ecommerce:null});let e=JSON.parse(JSON.stringify(window.ga4_ecommerce_event));Object.keys(e).filter(e=>e.startsWith(`gtm.`)).forEach(t=>delete e[t]),e.event=`view_item`,dataLayer.push(e)}}),window.addEventListener(`load`,()=>{window.location.hash===`#modal-sessions`&&e.showModal()}))}padTo2Digits(e){return e.toString().padStart(2,`0`)}convertSecondsToTime(e,t=!0){e=Math.floor(e);let n=Math.floor(e/60),r=Math.floor(n/60);return e%=60,n%=60,t?`${this.padTo2Digits(r)}:${this.padTo2Digits(n)}:${this.padTo2Digits(e)}`:`${this.padTo2Digits(n)}:${this.padTo2Digits(e)}`}update_cart_expires(e=null){if(!e&&this.$supports_html5_storage){let t=localStorage.getItem(`tb_update_checkout_cart`);e=t?parseInt(t):null}e&&(this.cart_interval&&clearInterval(this.cart_interval),this.cart_interval=setInterval(()=>{let t=e-Date.now();if(t<0){this.cart_interval&&clearInterval(this.cart_interval),this.cart_button&&(this.cart_button.disabled=!0);return}this.cart_button&&(this.cart_button.disabled=!1);let n=document.getElementById(`widget-expires`);n&&(n.innerHTML=this.convertSecondsToTime(t/1e3,!1));let r=document.querySelector(`.widget-expires`);r&&r.classList.add(`show`)},1e3))}fillWidgetForm(e,t){let n=document.getElementById(`tb-widget-form`);if(!n)return null;let r={"cart-show_name":e.dataset.espectaculo,"cart-show_id":e.dataset.espectacle_id,"cart-session_id":e.dataset.funcio_id,"cart-venue_name":e.dataset.teatro,"tb-widget-platform-id":t};Object.entries(r).forEach(([e,t])=>{let r=n.querySelector(`input[name="${e}"]`);r&&(r.value=t||``)});let i=n.querySelector(`#tb-widget-token`);if(i&&(i.value=``),this.cart_button=n.querySelector(`.submit`),this.cart_button){this.cart_button.disabled=!0;let e=this.cart_button.querySelector(`.num-tickets`);e&&(e.innerHTML=``);let t=!!document.querySelector(`.page-checkout`),n=this.cart_button.querySelector(`.submit-label`),r=t?this.cart_button.dataset.labelUpdate||`Actualitzar`:this.cart_button.dataset.labelBuy||`Comprar`;n&&(n.textContent=r)}return n}render_widget_modal(e,t,n,r,i=null){e.preventDefault();let a=document.getElementById(`modal-platform`);if(!a)return console.error(`Modal #modal-platform not found in DOM`),!1;let o=a.querySelector(`[data-widget]`);o&&r&&(o.innerHTML=r),this.fillWidgetForm(t,n),a.showModal(),setTimeout(()=>{i&&i(a),this.update_cart_expires()},200);let s=()=>{this.cart_interval&&clearInterval(this.cart_interval),o&&(o.innerHTML=``),a.removeEventListener(`close`,s)};return a.addEventListener(`close`,s),!1}finishWidgetCartUpdate(e){let t=document.getElementById(`modal-platform`);if(t?.open&&t.close(),document.querySelector(`.page-checkout`)){document.body.dispatchEvent(new CustomEvent(`tb_widget_cart_updated`,{detail:{expires:e||null}}));return}let n=document.getElementById(`tb-widget-form`)?.getAttribute(`action`)||`/checkout/`;if(this.redirectDelayMs>0){setTimeout(()=>{window.location.href=n},this.redirectDelayMs);return}window.location.href=n}agentWidgetOpen(){return!!document.getElementById(`modal-platform`)?.open}};window.button_click_widget=(e,t,n=``)=>{typeof dataLayer<`u`&&(dataLayer.push({ecommerce:null}),dataLayer.push({event:`select_session`,ecommerce:{currency:`EUR`,platform:getVendorForEvent(t.dataset.vendor||``,t.dataset.url||``),items:[{item_id:t.dataset.funcio_id||``,item_name:t.dataset.espectaculo||``,item_brand:t.dataset.teatro||``,price:t.dataset.price||``,quantity:1}]}})),n===`onebox`&&window.__widgetOneboxInstance?window.__widgetOneboxInstance.button_click_widget(e,t):n===`audie
1nceview`&&window.__widgetAudienceviewInstance?window.__widgetAudienceviewInstance.button_click_widget(e,t):n===`koobin`&&(window.__widgetKoobinInstance?window.__widgetKoobinInstance.button_click_widget(e,t):console.error(`Koobin widget: script no cargado (__widgetKoobinInstance ausente)`))};export{e as WidgetEcommerce};

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.