PageSourceSearch

https://www.tevausa.com/js/product_row.js?v=639251641280000000

js tevausa.com collected 2026-09-24 18:17:39 UTC 18,431 bytes, 1 lines download raw bytes

1$(document).ready(()=>{function rt(n){n.key==="Enter"&&c(n)}function l(n){return y=d?"/api/AddToCartApi/Update":y,$.ajax({url:y,type:"GET",contentType:"application/json",data:n})}function ut(n){const t={Product:{ProductIdentifier:n.ProductCode,SalesOrganization:n.SalesOrg,Locale:n.Locale,Quantity:n.ProductQuantity,Language:n.ProductLanguage,SalesRepSelectedDiscount:n.SalesRepSelectedDiscount,EnableDefaultQuantity:n.EnableDefaultQuantity,DefaultMinQuantity:n.DefaultMinQuantity??v}};return $.ajax({url:at,type:"POST",contentType:"application/json",headers:{RequestVerificationToken:s},data:JSON.stringify(t)})}function a(n){w(n,!1,!1,!0)}function ft(n){w(n,!1,!0)}function et(n){pushAnalyticsToDataLayer(n.currentTarget.dataset.analyticsInfo)}const v=1;let{addProductToCartUrl:ht,removeProductFromCartUrl:ct,updateProductQuantityUrl:y,addProductsToCartUrl:lt,updateCartProductQuantityUrl:at}={addProductToCartUrl:"/api/ShoppingCart/AddProductToCart",removeProductFromCartUrl:"/api/ShoppingCart/RemoveProductFromCart",updateProductQuantityUrl:"/api/CommerceProductRowApi/Update",addProductsToCartUrl:"/api/ShoppingCart/AddProductsToCart",updateCartProductQuantityUrl:"/api/ShoppingCart/UpdateProductQuantity"};const{updateClaim:vt,toggleComponentLoader:f}=window,ii=new CustomEvent("cart-update",{detail:{}}),s=$('input[name="__RequestVerificationToken"]').val(),yt=document.getElementById("add-all-selected-products"),d=document.querySelector(".table-container .vi-card-price-cart");let p={},e={label:"",destination:""};const n=new Set,i=n=>{if(!n)return null;const t=n.dataset.productCode,i=n.dataset.salesOrg;return!t||!i?null:`${t}_${i}`},h=t=>{const r=i(t);return r?n.has(r):!1},r=n=>{const t=n.querySelector(".vi-numeric-stepper");if(t){const n=t.querySelector(".vi-numeric-stepper__button--increment"),i=t.querySelector(".vi-numeric-stepper__button--decrement"),r=t.querySelector(".quantity-input");t.classList.add("product-in-cart-stepper");n&&(n.disabled=!0,n.setAttribute("aria-disabled","true"),n.classList.add("disabled"));i&&(i.disabled=!0,i.setAttribute("aria-disabled","true"),i.classList.add("disabled"));r&&(r.disabled=!0,r.classList.add("disabled"))}},g=n=>{const t=n.querySelector(".vi-numeric-stepper");if(t){const i=t.querySelector(".vi-numeric-stepper__button--increment"),r=t.querySelector(".vi-numeric-stepper__button--decrement"),n=t.querySelector(".quantity-input"),u=Number(n?.value)||0,f=Number(n?.min)||0;t.classList.remove("product-in-cart-stepper");i&&(i.disabled=!1,i.removeAttribute("aria-disabled"),i.classList.remove("disabled"));r&&u>f&&(r.disabled=!1,r.removeAttribute("aria-disabled"),r.classList.remove("disabled"));n&&(n.disabled=!1,n.classList.remove("disabled"))}};document.querySelectorAll("[data-product-code][data-sales-org]:not(.vi-card-price-cart--in-stock)").forEach(t=>{const u=t.querySelector(".add-to-cart");if(u&&u.tagName==="A"){const u=i(t);u&&(n.add(u),r(t))}});const pt=()=>p,wt=()=>{p={}},o=n=>{if(!n)return null;const i=n.dataset.enableDefaultQuantity==="true",t=parseInt(n.dataset.defaultMinQuantity);return{ProductIdentifier:n.dataset.productCode,ProductCode:n.dataset.productCode,SalesOrganization:n.dataset.salesOrg,SalesOrg:n.dataset.salesOrg,Locale:n.dataset.locale,Language:n.dataset.language,Quantity:parseInt(n.querySelector(".quantity-input")?.value||+n.dataset.fixedQuantity),ProductQuantity:parseInt(n.querySelector(".quantity-input")?.value||+n.dataset.fixedQuantity),EnableDefaultQuantity:i,DefaultMinQuantity:i?!isNaN(t)&&t>0?t:v:undefined}},bt=n=>{const t=n.classList.contains("vi-card-quick-order-product");for(const i of n.querySelectorAll(".vi-badge"))t||i.remove()},kt=n=>{const t=n.classList.contains("vi-card-quick-order-product");if(!t)for(const t of n.querySelectorAll(".vi-badge"))t.style.visibility="hidden"},u=n=>{const{label:u,destination:s}=e,l=h(n);if(u&&s&&l){const i=n.querySelector(".add-to-cart");if(i&&i.tagName==="BUTTON"){const f=i.querySelector("svg, .icon"),o=f?f.outerHTML:"";let c=!0;if(f){const n=Array.from(i.childNodes),r=n.indexOf(f),t=n.findIndex(n=>n.nodeType===Node.TEXT_NODE&&n.textContent.trim().length>0);c=t===-1||r<t}const t=document.createElement("a");t.href=s;t.setAttribute("aria-label",u);t.className=i.className;t.classList.add("add-to-cart","see-in-cart");for(const n of i.attributes)n.name.startsWith("data-")&&t.setAttribute(n.name,n.value);o?t.innerHTML=c?o+" "+u:u+" "+o:t.textContent=u;i.replaceWith(t);it();r(n)}}},dt=n=>{const t=n.classList.contains("vi-card-quick-order-product");
1if(!t)for(const t of n.querySelectorAll(".vi-badge"))t.style.visibility=""},nt=(n,t)=>(t&&(kt(t),f(t)),$.ajax({url:ht,type:"POST",contentType:"application/json",headers:{RequestVerificationToken:s},data:JSON.stringify(n)})),tt=n=>{const i=document.querySelectorAll(".vi-table-products tbody tr");if(i.length){let r=[...i].filter(n=>{const t=n.querySelector("input[type='checkbox']");return t?t.disabled==!1:!0});if(n||(r=[...i].filter(n=>n.querySelector("input[type='checkbox']").checked)),r.length>1){const n=r.map(o);$.ajax({url:lt,headers:{RequestVerificationToken:s},method:"POST",data:JSON.stringify({Products:n}),contentType:"application/json"}).done(i=>{window.notification.initializeAndDispatch(i),t(null,n)})}if(r.length==1){const n={Product:o(r[0])};nt(n).done(i=>{n&&n.Product&&(n.Product.EventName="add_to_cart"),t(null,n.Product),window.notification.initializeAndDispatch(i)})}}},it=()=>{const n=document.getElementById("bulk-search-pagination-result"),t=document.querySelectorAll(".bulk-add-all");if(n&&t.length!==0){const i=n.querySelector(".add-to-cart.see-in-cart")!==null;t.forEach(n=>{n.disabled=i,n.setAttribute("aria-disabled",i.toString())})}},c=(i,e,o,s,c)=>{const ot=document.querySelector("[data-isgrid-view]:not(.sticky-product-table-head [data-isgrid-view])"),st=ot?.dataset.isgridView.toLowerCase(),nt=i.target;let a=nt.closest("tr")||nt.closest(".vi-card-price-cart")||nt.closest(".grid-element"),ht=a.querySelector(".add-to-cart"),w=a?.querySelector(".quantity-input");e&&(a=o,w=s);const ct=a.closest(".checkout-search")||a.closest("#checkout-body"),lt=h(a);if(!lt||ct){const y={},at=document.getElementById("checkout-body"),yt=a.querySelector("[data-column-type='BatchNumber'] input"),pt=yt?.value,wt=a.querySelector(".datepicker-trigger"),kt=wt?.value,dt=a.nextElementSibling?.classList.contains("vi-impersonating-discount-bar");if(y.ProductCode=a.dataset.productCode,w){const t=w.max?parseInt(w.max):999,n=w.min?parseInt(w.min):1,r=+w.step||1,i=w.value%r;if(w.value>t){w.value=t;$(w).change();return}if(w.value<n){w.value=n;$(w).change();return}if(w.value>n&&i>0){w.value=w.value-i;$(w).change();return}}
1y.ProductQuantity=+w?.value||+a.dataset.fixedQuantity;y.Language=document.documentElement.lang;y.ProductLanguage=a.dataset.productLanguage||a.dataset.language;y.Locale=a.dataset.locale;y.MarketId=a.dataset.marketId;y.SalesOrg=a.dataset.salesOrg;const ft=a.dataset.enableDefaultQuantity==="true";if(y.EnableDefaultQuantity=ft,ft){const n=parseInt(a.dataset.defaultMinQuantity);y.DefaultMinQuantity=!isNaN(n)&&n>0?n:v}if(y.TAIndicatorLabel=a.querySelector(".ta-indicator-label")?.innerText,y.TAIndicatorColor=$(a)?.css("--vi-custom-ta-indicator-color"),!c&&!ht){const n=parseFloat(i.target.defaultValue),t=parseFloat(i.target.value);n!==t&&(c=n<t?"add_to_cart":"remove_from_cart",y.EventProductQuantity=Math.abs(t-n))}if(dt){const n=a.nextElementSibling?.querySelector("select")?.value??"";y.SalesRepSelectedDiscount=Number(n)}y.EventName=c;const tt=a.closest(".table-container");let it,et;tt?(et=tt.querySelector("[data-container-block-id]"),it=tt.dataset.containerBlockId||et?.dataset.containerBlockId):it=document.body.dataset.pageId;y.ContainerId=it;y.DisplayGridView=st;const rt=(i,e)=>{f(a);p[`${a.dataset.productIdentifier}`]=y.ProductQuantity;const c=document.querySelector(".claim-table"),s=a.closest(".checkout-search");if(d){document.querySelector(".vi-card-price-cart__total-price-section").outerHTML=i;w.value=y.ProductQuantity;t(null,y);k(!0);const n=h(a),f=a.classList.contains("pdp-card");n?f?u(a):r(a):u(a);return}const o=document.createElement("table");o.innerHTML=i;const l=o.querySelector("tr.vi-impersonating-discount-bar"),v=a.cloneNode(!0);if(a.innerHTML="",l)o.querySelector("tr.vi-impersonating-discount-bar").remove(),a.innerHTML=o.innerHTML;else if($(a).hasClass("grid-element")){const r=a.getAttribute("data-product-code");a.outerHTML=i;const t=document.querySelector(`.grid-element[data-product-code="${r}"]`);if(t?.dispatchEvent(new CustomEvent("update-row",{bubbles:!0,detail:{detachedProductRow:v,updatedRow:t}})),t){const i=`${t.dataset.productCode}_${t.dataset.salesOrg}`;n.has(i)?u(t):g(t)}}else a.innerHTML=i,s&&b(y.ProductCode,y.SalesOrg);if(a.nextElementSibling&&a.nextElementSibling.classList.contains("vi-impersonating-discount-bar")&&(a.nextElementSibling.remove(),a.after(l)),a.querySelector(".datepicker-trigger")&&(a.querySelector(".datepicker-trigger").value=kt),a.querySelector("[data-column-type='BatchNumber']")&&(a.querySelector("[data-column-type='BatchNumber'] input").value=pt),s||u(a),k(),c){vt(c);return}s||t(e,y)};if(bt(a),f(a),at){y.ListName="checkout";const n=i.target,r=n.classList.contains("quantity-input"),t=Boolean(n.closest(".checkout-search"));if(t){if(!r&&t){const n=!0;l(y).then(t=>{rt(t,n)});return}}else{const n=ut(y);n.done(function(){l(y).then(n=>{rt(n)})});return}}l(y).then(n=>{rt(n)})}};const w=(s,h,c,l)=>{const p=s.target,a=p.closest("tr")||p.closest(".vi-card-price-cart")||p.closest(".vi-card-quick-order-product")||p.closest(".grid-element"),w=a.querySelector(".vi-numeric-stepper")||a.querySelector(".vi-card-quick-order-product__cart-actions"),y=w?.querySelector(".quantity-input")??1,k=a.closest(".checkout-search"),v={Product:o(a)};h&&(v.Product.Quantity=h,v.Product.ProductQuantity=h);nt(v,a).done(f=>{const s=document.createElement("div");s.innerHTML=f;const p=s.querySelector("#see-in-cart");if(p){const t=p.content.querySelector("div"),r=t?.dataset.seeInCartLabel?.trim()||"",u=t?.dataset.seeInCartDestination?.trim()||"";if(r&&u){e.label=r;e.destination=u;const t=i(a);t&&n.add(t)}}window.notification.initializeAndDispatch(f);v.Product.EventName="add_to_cart";const o=Boolean(a.closest(".checkout-search"));o&&v.Product.ProductCode&&v.Product.SalesOrg&&b(v.Product.ProductCode,v.Product.SalesOrg);a&&a.classList&&(v.Product.ListName=a.classList.contains("vi-card-quick-order-product")?"quick_order":a.classList.contains("vi-card")?"product_details":"product_search");const d=!!a.closest(".checkout-search"),g=a.classList.contains("vi-card-quick-order-product"),w=a.classList.contains("pdp-card");if(d||g||w||u(a),l){t(o,v.Product);const u=i(a),f=u&&n.has(u);u&&n.delete(u);y.setAttribute("value",y.min);y.value=y.min;$(y).change();f&&u&&n.add(u);o||w||r(a);return}if(h||c){t(null,v.Product);y.value="";y.dispatchEvent(new Event("reset-row-qty",{bubbles:!0}));return}t(k);y.setAttribute("value",y.min);y.value=y.min}).always(()=>{f(a),dt(a)})};const ot=r=>{if(r.target.classList.contains("remove-from-cart")||r.target.classList.contains("removeFrmCrt")){const e=r.target,h=e.dataset.productToRemove,c=e.closest(".vi-receipt__row"),u=document.querySelector(`#checkout-body tr[data-
1product-code='${h}']`)||document.querySelector(`#checkout-body tr[data-vnr='${h}']`)||document.querySelector(`.claim-table tr[data-product-code="${h}"]`);if(u){const l={Product:o(u)};if(u&&!u.closest("#checkout-body")){u.remove();e.closest(".is-showing")&&e.closest(".is-showing").classList.remove("is-showing");return}$.ajax({url:ct,type:"POST",contentType:"application/json",headers:{RequestVerificationToken:s},data:JSON.stringify(l)}).done(()=>{const r=u.closest(".vi-table-products"),o=u.nextElementSibling;e.closest(".is-showing")&&e.closest(".is-showing").classList.remove("is-showing");f(c||u);o&&o.classList.contains("vi-impersonating-discount-bar")&&u.nextElementSibling.remove();u.remove();r.querySelectorAll("tbody tr").length<=0&&r.remove();u&&window.triggerRemoveFromCartAnalyticsPush(u);const s=i(u);s&&n.delete(s);t()})}}},gt=()=>{const n=document.querySelectorAll(".vi-btn[id='add-all-products']");for(const t of n)t?.addEventListener("click",()=>tt(!0))},ni=()=>{yt?.addEventListener("click",()=>tt(!1))},st=n=>{const t=n.currentTarget.dataset.quantity;w(n,t)},t=(n,t)=>{const i=new CustomEvent("cart-update",{detail:{shouldUpdateCheckoutPage:n,updateQuantityObjForBE:t}});window.dispatchEvent(i)},b=(t,i)=>{const r=`${t}_${i}`,u=document.getElementById("checkout-body");(n.has(r)||u)&&(n.delete(r),document.querySelectorAll(`[data-product-code="${t}"][data-sales-org="${i}"]`).forEach(n=>{const i=n.querySelector("a.add-to-cart");if(i){const t=document.createElement("button");t.type="button";t.className=i.className;t.classList.add("add-to-cart");t.setAttribute("aria-label","Add to cart");t.classList.remove("see-in-cart");for(const n of i.attributes)n.name.startsWith("data-")&&t.setAttribute(n.name,n.value);const r=i.dataset.addToCartTitle||"",u=i.querySelector("svg, .icon"),f=u?u.outerHTML:"";if(f){const n=Array.from(i.childNodes),o=n.indexOf(u),e=n.findIndex(n=>n.nodeType===Node.TEXT_NODE&&n.textContent.trim().length>0),s=e===-1||o<e;t.innerHTML=s?f+" "+r:r+" "+f}else t.textContent=r;i.replaceWith(t);g(n);t.removeEventListener("click",a);t.classList.contains("see-in-cart")||t.addEventListener("click",a)}}))};window.addEventListener("cart-update",n=>{const t=n.detail?.updateQuantityObjForBE;t?.EventName==="remove_from_cart"&&t?.ProductCode&&t?.SalesOrg&&b(t.ProductCode,t.SalesOrg)});const k=(f,e)=>{document.querySelectorAll("[data-product-code][data-sales-org]").forEach(n=>{if(h(n)&&!n.classList.contains("vi-card-quick-order-product")&&!n.closest(".vi-card-quick-order-product")){const i=n.closest(".checkout-search")||n.closest("#checkout-body");if(!i){const t=n.querySelector(".add-to-cart");t&&t.tagName==="BUTTON"?u(n):r(n)}}});const p=document.querySelectorAll(".vi-table-products:not(.sticky-product-table-head .vi-table-products)"),w=document.querySelectorAll("a[data-analytics-info]");let o=[],s=[],l=[],v=[],y=[];if(p.forEach(n=>{o=[...o,...n?.querySelectorAll(".quantity-container .vi-form")],s=[...s,...n?.querySelectorAll(".add-to-cart")],l=[...l,...n?.querySelectorAll(".vi-numeric-stepper")],v=[...v,...n?.querySelectorAll(".vi-date-select")],y=[...y,...n?.querySelectorAll(".vi-form")]}),p.length||(o=document.querySelectorAll(".vi-grid__row .quantity-container .vi-form"),s=document.querySelectorAll(".vi-grid__row .add-to-cart"),l=document.querySelectorAll(".vi-grid__row .vi-numeric-stepper"),v=document.querySelectorAll(".vi-grid__row .vi-date-select"),y=document.querySelectorAll(".vi-grid__row .vi-form")),f&&(o=document.querySelectorAll(".vi-card-price-cart .vi-form"),s=document.querySelectorAll(".vi-card-price-cart .add-to-cart"),l=document.querySelectorAll(".vi-card-price-cart .vi-numeric-stepper")),e){let n=document.querySelectorAll(".quick-order-bulk-button");o=[];l=[];s=document.querySelectorAll(".vi-card-quick-order-product .add-to-cart");for(const t of n)t.removeEventListener("click",st),t.addEventListener("click",st)}const b=document.querySelectorAll(".vi-impersonating-discount-bar"),k=document.querySelectorAll(".vi-pop-button");for(const n of b)n?.querySelector("select")?.removeEventListener("change",t),n?.querySelector("select")?.addEventListener("change",t);if(l.forEach(n=>
1{n.classList.contains("product-in-cart-stepper")||$(n).viNumericStepper()}),y.forEach(n=>$(n).viForm()),v.forEach(n=>$(n).viDateSelect()),k.forEach(n=>$(n).viPopButton()),o.length)for(const t of o)if(!t.closest(".quantity-container_brochure")){const r=t.closest("tr")||t.closest(".vi-card-price-cart")||t.closest(".grid-element");if(r){const u=i(r),f=r.closest(".checkout-search")||r.closest("#checkout-body");if(!u||!n.has(u)||f){$(t).off("change",c);$(t).on("change",c);$(t).off("keyup",rt);$(t).on("keyup",rt)}}}if(s.length)for(const n of s)e?(n.removeEventListener("click",ft),n.classList.contains("see-in-cart")||n.addEventListener("click",ft)):(n.removeEventListener("click",a),n.classList.contains("see-in-cart")||n.addEventListener("click",a));w.length&&w.forEach(function(n){n.removeEventListener("click",et);n.addEventListener("click",et)});document.body.removeEventListener("click",ot);document.body.addEventListener("click",ot)};window.transformAllProductRowButtons=(t,u,f)=>{const o=u||e.label,s=f||e.destination;if(o&&s){const h=`[data-product-code="${t}"][data-sales-org], [data-product-identifier="${t}"][data-sales-org]`;document.querySelectorAll(h).forEach(t=>{const c=i(t);if(c&&!t.classList.contains("vi-card-quick-order-product")&&!t.closest(".vi-card-quick-order-product")){const u=t.querySelector(".add-to-cart");if(u&&u.tagName==="BUTTON"){n.add(c);const e=u.querySelector("svg, .icon"),h=e?e.outerHTML:"";let l=!0;if(e){const n=Array.from(u.childNodes),i=n.indexOf(e),t=n.findIndex(n=>n.nodeType===Node.TEXT_NODE&&n.textContent.trim().length>0);l=t===-1||i<t}const f=document.createElement("a");f.href=s;f.setAttribute("aria-label","See in cart");f.className=u.className;f.classList.add("add-to-cart","see-in-cart");for(const n of u.attributes)n.name.startsWith("data-")&&f.setAttribute(n.name,n.value);f.innerHTML=h?l?h+" "+o:o+" "+h:o;u.replaceWith(f);r(t)}}})}};const ti=(n,t)=>{for(const i of n)if(i.dataset.validationAttached!=="true"){i.dataset.validationAttached="true";i.addEventListener("keydown",n=>{n.key==="Enter"&&n.preventDefault()});const r=()=>{const n=Number(i.value),f=Number(i.step),e=Number(i.min),o=Number(i.max),u=i.closest(t)?.querySelector(".text-invalid");let r;n%f!=0?r=i.dataset.tuCountErrMsg:n>o&&n?r=i.dataset.maxQtyErrMsg:(n<e||n<=0)&&(r=i.dataset.minQtyErrMsg);u&&(u.innerHTML=r||"")};i.addEventListener("change",r);const n=i.closest(".vi-numeric-stepper");if(n){const t=n.querySelector(".vi-numeric-stepper__button--increment"),i=n.querySelector(".vi-numeric-stepper__button--decrement");[t,i].forEach(n=>{n?.addEventListener("click",()=>{setTimeout(r,0)})})}}};window.attachQuantityInputValidation=ti;window.attachAddSelectedProducts=ni;window.attachAddAllProducts=gt;window.attachProductRowEvents=k;window.getProductObjForBE=o;window.getLatestUpdatedProduct=pt;window.setLatestUpdatedProduct=wt;window.triggerUpdateQuantity=c;window.dispatchCartUpdateEvent=t;window.updateShoppingCartQuantity=ut;window.updateProductRowQuantity=l;window.disableQuantityStepper=r;window.updateBulkAddAllProductsButtons=it})

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.