@ecomplus/widget-tiktok-pixel
Version:
Storefront plugin to handle Tiktok Pixel events
2 lines • 3.32 kB
JavaScript
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("@ecomplus/shopping-cart"),require("@ecomplus/utils")):"function"==typeof define&&define.amd?define([,],e):"object"==typeof exports?exports.widgetTiktokPixel=e(require("@ecomplus/shopping-cart"),require("@ecomplus/utils")):t.widgetTiktokPixel=e(t.ecomCart,t.ecomUtils)}(window,(function(t,e){return function(t){var e={};function o(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}return o.m=t,o.c=e,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="/assets/vendor/",o(o.s=2)}([function(e,o){e.exports=t},function(t,o){t.exports=e},function(t,e,o){"use strict";o.r(e);var n=o(1);const r=n.$ecomConfig.get("currency")||"BRL",c=t=>{const e={currency:r,content_id:t.sku,content_name:t.name,value:Object(n.price)(t),content_type:"product"};return t.categories&&t.categories.length&&(e.content_category=t.category_tree||t.categories[0].name),e};var a=o(0),i=o.n(a);e.default=()=>{if("object"==typeof window.ttq){const e=window.ttq;(t=>{const e=window.storefront&&window.storefront.context;e&&"products"===e.resource&&t.track("ViewContent",c(e.body))})(e),t=e,setTimeout(()=>{if(document.querySelectorAll("[data-sku]").length&&"/search"===window.location.pathname){const e=new URLSearchParams(document.location.search);t.track("Search",e.get("term"))}},300),((t,e)=>{const o=window.storefrontApp&&window.storefrontApp.router;if(o){let e,n,c;const a=t=>{const{amount:e}=t||window.storefrontApp,o={value:e&&e.total||i.a.data&&i.a.data.subtotal||0,currency:r,contents:[]};return i.a.data&&Array.isArray(i.a.data.items)&&i.a.data.items.forEach(({sku:t,quantity:e,name:n,price:r})=>{o.contents.push({content_id:t,content_name:n,price:r,content_type:"product",quantity:e})}),o},u=o=>{const r=a();!e||o<=1?(t.track("InitiateCheckout",r),e=!0):o<=2?t.track("CompleteRegistration"):n||(t.track("AddPaymentInfo"),n=!0)},s=(e,o)=>{if(!c){if(window.localStorage.getItem("ttq.orderIdSent")!==e){let n;if(o)try{n=JSON.parse(o)}catch(t){n=null}t.track("CompletePayment",{...a(n)}),window.localStorage.setItem("ttq.orderIdSent",e)}c=!0}};let d;const l=({name:t,params:e})=>{switch(t){case"cart":u(1);break;case"checkout":e.id||u(2),u(3);break;case"confirmation":clearTimeout(d),e.json?s(e.id,decodeURIComponent(e.json)):d=setTimeout(()=>{e.json?s(e.id,decodeURIComponent(e.json)):s(e.id)},e.json?1:1500)}};o.currentRoute&&l(o.currentRoute),o.afterEach(l)}})(e),(t=>{i.a.on("addItem",({item:e})=>{t.track("AddToCart",c(e))})})(e)}var t}}]).default}));
//# sourceMappingURL=widget-tiktok-pixel.min.js.map