PageSourceSearch

https://shop.abcservice.pl/gfx/pol/add_codes_to_basket.js.gzip?r=1790605296

js abcservice.pl collected 2026-10-08 07:34:38 UTC 8,676 bytes, 1 lines download raw bytes

1const AddCodesToBasket=function(e){this.txt={blednieDodanoKody:"Wprowadzone kody są w niewłaściwym formacie",wgranoPlikWNiewlasciwymFormacie:"Wgrano plik w niewłaściwym formacie",wypelnijPoleLubWgrajPlik:"Wypełnij pole lub wgraj plik csv",zobaczNieRozpoznaneKody:"Zobacz nierozpoznane kody",successMessage:"Kod %s produktu został poprawnie rozpoznany i ten produkt został dodany do koszyka",successMessagePlural:"Kody %s produktów zostały poprawnie rozpoznane i te produkty zostały dodane do koszyka",errorMessage:"Kod %s produktu nie został odnaleziony i został pominięty przy dodawaniu do koszyka",errorMessagePlural:"Kody %s produktów nie zostały odnalezione i zostały pominięte przy dodawaniu do koszyka",errorMessageQuantity:"Kod %s produktu został pominięty przy dodawaniu do koszyka, ponieważ nie mamy w tej chwili takiej ilości w magazynie",errorMessageQuantityPlural:"Kody %s produktów zostały pominięte przy dodawaniu do koszyka, ponieważ nie mamy w tej chwili takiej ilości w magazynie",warningMessage:"Kod %s produktu został odnaleziony i został pominięty przy dodawaniu do koszyka, ponieważ nie jest obsługiwany przez ten moduł",warningMessagePlural:"Kody %s produktów zostały odnalezione i zostały pominięte przy dodawaniu do koszyka, ponieważ nie są obsługiwane przez ten moduł",dodajeTowaryDoKoszyka:"Dodaję towary do koszyka",zobaczPominieteKody:"Zobacz pominięte ko
1dy","PrzykładoweKodyProduktów":"Przykładowe kody produktówtr"};const t=document.getElementById("addCodesToBasket__file"),a=document.getElementById("addCodesToBasket"),s=document.getElementById("addCodesToBasket__textarea"),r=document.getElementById("addCodesToBasketSubmit"),o=(e,t)=>{const a=t[0];for(let s=1;s<t.length;s++)e=e.split(t[s]).join(a);return e=e.split(a)};this.validate=(e,t)=>{"warrning"===t?Alertek.Warning(e):"error"===t?Alertek.Error(e):Alertek.Success(e)},this.loaderSet=(t,a)=>{a?t.classList.add("--loader"):t.classList.remove("--loader"),a&&e.redirectToBasket&&app_shop.fn.ajaxLoadSite?(this.modal.closeModal(),app_shop.fn.ajaxLoadSite(1),app_shop.fn.ajaxLoadSiteMessage(this.txt.dodajeTowaryDoKoszyka)):!a&&app_shop.fn.ajaxLoadSite&&app_shop.fn.ajaxLoadSite(0)},this.createModal=()=>{try{this.modal=new Modal({element:a,classList:"addCodesToBasketModal --small",afterShow:()=>{document.querySelectorAll(".modal.addCodesToBasketModal").forEach((e=>e.setAttribute("aria-label",this.txt.dodajeTowaryDoKoszyka)))}})}catch(e){}},this.csvReeder=(e,t)=>{const a=new FileReader;a.onload=a=>{this.writeCsvToTextarea(a,e,t)},e[t].type.indexOf("text")>=0||e[t].name.indexOf(".csv")>=0?a.readAsText(e[t],"UTF-8"):this.validate(this.txt.wgranoPlikWNiewlasciwymFormacie,"error")},this.writeCsvToTextarea=e=>{""!==s.value&&(s.value+="\r"),s.value+=`${e.target.result}\r`,this.autoSizeTextarea()},this.autoSizeTextarea=function(){s.setAttribute("style",`height:${s.scrollHeight}px;overflow-y:scroll; min-height: 50px; max-height: 500px; width: 100%`)},this.removeDuplicateFromArray=e=>(codes=e.filter(((t,a)=>{const s=t[0],r=t.length>1?Number(t[1]):1;let o=!0;if(e.forEach(((e,t)=>{s===e[0]&&t>a&&o&&(o=!1,e[1]=e.length>1?Number(e[1])+r:r+1)})),o)return t})),codes),this.createArrayFromText=()=>{let e=o(s.value,[" ",",","\n"]);return e=e.filter((e=>""!=e)),e=e.map((e=>o(e,[";"]))),this.removeDuplicateFromArray(e)},this.validateArrayFromText=()=>{const e=this.createArrayFromText();let t=!0;return""===s.value?(this.validate(this.txt.wypelnijPoleLubWgrajPlik,"warrning"),!1):(e.forEach((e=>{const a=Number.isInteger(parseFloat(e[e.length-1]));(e.length>2||2===e.length&&!a)&&(this.validate(this.txt.blednieDodanoKody,"error"),t=!1)})),t)},this.fetchData=async e=>{const t=JSON.stringify({query:`mutation {\n            addProductsToBasketB2B(${e}) {\n            status\n            results {\n                status\n                productCode\n                productId\n                error {\n                  code\n                  message\n                }\n            }\n        }\n      }`});try{const e=await fetch(`${app_shop.urls.graphql}?query=addCodesToBasket`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:t});return await e.json()}catch(e){return!1}},this.submit=async()=>{let t="";this.createArrayFromText().forEach((e=>{t+=`{code: "${e[0]}", quantity: ${1===e.length?1:e[1]}}`}));const s=`ProductB2BInput: [${t}]`;let r=!1;this.validateArrayFromText()&&(this.loaderSet(a,!0),r=await this.fetchData(s)),r&&e.redirectToBasket&&(sessionStorage.setItem("addCodesToBasketStatus",JSON.stringify(r)),window.location.href="/basketedit.php"),!e.redirectToBasket&&this.setCommunicates(r)},this.createCommunicate=(t,s,r)=>{const o=`${1===r?this.txt.errorMessage.format(r):this.txt.errorMessagePlural.format(r)}. <a class="errorCodesShow ${s.length<=e.codeQuantity?"d-none":""}" href="#errorCodes">${this.txt.zobaczNieRozpoznaneKody}</a>`,i=`${1===r?this.txt.errorMessageQuantity.format(r):this.txt.errorMessageQuantityPlural.format(r)}. <a class="errorCodesShow ${s.length<=e.codeQuantity?"d-none":""}" href="#errorCodes">${this.txt.zobaczPominieteKody}</a>`,n=`${1===r?this.txt.successMessage.format(r):this.txt.successMessagePlural.format(r)}.`,d=`${1===r?this.txt.warningMessage.format(r):this.txt.warningMessagePlural.format(r)}.`;s.length&&(s=s.map((e=>`<b>${e}</b>`)));const c=`<div class="errorCodes ${s.length>e.codeQuantity||-1===t.search("error")?"d-none":""}">${s.length>0?s.join(", "):""}</div>`,l=`\n        <div class="menu_messages_${"errorQuantity"===t?"error":t}">\n            <div>\n              ${"success"==t?n:""}\n              ${"error"==t?o:""}\n              ${"errorQuantity"==t?i:""}\n              ${"warning"==t?d:""}\n            </div>\n            ${"error"===t||"errorQuantity"===t?c:""}\n        </div>\n        `;e.messageElement&&e.redirectToBasket||(e.messageElement=[".addCodesToBasket__form"],this.loaderSet(a,!1)),e.messageElement.forEach((e=>{null!=document.querySelector(e)&&document.querySelector(e).insertAdjacentHTML("beforebegin",l)})),("error"===t||"errorQuantity"===t)&&document.querySelector(".errorCodesShow").addEventListener("click",(function(){this.classList.add("d-none"),document.querySelector(".errorCodes").classList.remove("d-none")}))},this.setCommunicates=t=>{const s=t.data.addProductsToBasketB2B.results,r=[],o=[],i=[],n=[];let d=0,c=0,l=0,h=0;if(s.forEach((e=>
1{"success"==e.status?(l++,r.push(e.productId),i.push(e.productCode)):null!==e.error&&"15"===e.error.code?(c++,n.push(e.productCode)):null!==e.error&&"8"!==e.error.code&&"9"!==e.error.code?(d++,o.push(e.productCode)):h++})),!e.messageElement||!e.redirectToBasket){const e=a.querySelectorAll('div[class*="menu_messages"]');0!=e.length&&e.forEach((e=>{e.parentNode.removeChild(e)}))}return l>0&&this.createCommunicate("success",i,l),d>0&&this.createCommunicate("error",o,d),c>0&&this.createCommunicate("errorQuantity",n,c,"errorQuantity"),h>0&&this.createCommunicate("warning",o,h),r.length>0&&this.checkProducts(r),!0},this.checkProducts=t=>{t.forEach((t=>{let a=document.querySelector(`${e.basketProductElements}[${e.basketProductIdAttr}="${t}"]`);null!==a&&a.classList.add("--addedFromCode")}))},this.getStatus=()=>{const t=sessionStorage.getItem("addCodesToBasketStatus");null!==t&&(this.setCommunicates(JSON.parse(t)),e.callback&&e.callback(data))},this.setEvents=()=>{e.elementsList.forEach((e=>{null!=e&&document.querySelectorAll(e).forEach((e=>{e.addEventListener("click",(e=>(e.preventDefault(),e.stopPropagation(),this.createModal(),!1)))}))}))},this.init=()=>{this.setEvents(),t.addEventListener("change",(()=>{setTimeout((()=>{document.querySelector('label[for="addCodesToBasket__file"]').innerText=t.files[0].name}),100),t.files.length>0&&this.csvReeder(t.files,0)})),r.addEventListener("click",(()=>{this.submit()})),s.addEventListener("input",(function(){this.style.height="auto",this.style.height=`${this.scrollHeight}px`})),s.placeholder=`${this.txt["PrzykładoweKodyProduktów"]} \n29 \n30:100 \n31-U;150 \n32-W`,this.getStatus(),sessionStorage.removeItem("addCodesToBasketStatus"),this.inicialized=!0}};app_shop.fn.addCodesToBasket=new AddCodesToBasket({elementsList:[".addCodesToBasketLink"],messageElement:['form[action*="basketchange"]',"#return_message"],basketProductElements:""+(null!==document.querySelector(".productslist_item")?".productslist_item":".basket__block"),basketProductIdAttr:"data-product-id",codeQuantity:10,redirectToBasket:!0}),app_shop.run((()=>{try{app_shop.fn.addCodesToBasket?.inicialized?app_shop.fn.addCodesToBasket.setEvents():app_shop.fn.addCodesToBasket.init()}catch(e){}}),"all",".addCodesToBasketLink",!0);

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.