search
Alloyworks Water Pump For 2007-2020 Chevy Silverado Tahoe GMC Sierra 1500 4.8L 5.3L 6.0L

Alloyworks Water Pump For 2007-2020 Chevy Silverado Tahoe GMC Sierra 1500 4.8L 5.3L 6.0L

ACCE-AW-158
$95.99
$129.00
Save 26%
Quantity
Please check if this fits your vehicle before purchasing
Visible only when the product is out of stock. Currently in preview mode.
Notify Me
(function(){ function $(selector){ return document.querySelector(selector); } const EMAIL_REG = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; // 获取dom数据 const doms = { button: $('#app-arrival-reminder-button'), previewBox: $('#app-arrival-reminder-preview-box'), toast: $('#app-arrival-reminder-toast'), lightbox: $('#arrival-lightbox'), datalist: $('#app-arrival-reminder-email-list'), imgRender: $('#app-arrival-reminder-product-image-render'), productVariant: $('#app-arrival-reminder-product-variant'), emailInput: $('#app-arrival-reminder-form .reminder-email-input'), emailWarn: $('#app-arrival-reminder-form .reminder-email-warn-wrap'), emailWarnText: $('#app-arrival-reminder-form .reminder-email-warn-text'), submitButton: $('#app-arrival-reminder-submit-button') }; // 选中的sku数据 let selectedVariant = {"id":"daf4e4eb-ac1c-4445-9774-11f6fecdc04b","product_id":"a27efa91-f679-4416-9ed2-37a19810d69d","title":"","weight_unit":"kg","inventory_quantity":11,"sku":"A4032-1074","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":95.99,"min_quantity":1}],"weight":"0","compare_at_price":"129","price":"95.99","retail_price":"129","available":true,"url":"\/products\/alloyworks-water-pump-for-2007-2020-chevy-silverado-tahoe-gmc-sierra-1500-4-8l-5-3l-6-0l?variant=daf4e4eb-ac1c-4445-9774-11f6fecdc04b","available_quantity":11,"options":[],"off_ratio":26,"flashsale_info":[],"sales":0}; // 上报 function reportData(params){ // 编辑/预览不上报 if(false){ return; } window.sa.track(params.event_name, { business_type: 'product_plugin', function_name: 'Back_in_Stock', plugin_name: "Back_in_Stock", template_name: "product", template_type: 1, module: "apps", module_type: "Back_in_Stock", event_info: JSON.stringify({ action_type: 'Back_in_Stock' }), ...params }); } // 按钮曝光上报 function buttonPVReport(){ reportData({ event_name: 'function_expose', event_type: 'expose', event_desc: '无货商品时触发' }); } // 弹窗曝光上报 function popupPVReport(){ reportData({ event_name: 'function_expose', event_type: 'popup_expose', event_desc: '弹窗曝光时触发' }); } // submit按钮点击上报 function submitClickReport(){ reportData({ event_name: 'function_click', event_type: 'popup_click', event_desc: '填入邮箱之后,点击notify 触发', event_info: JSON.stringify({ action_type: 'email_click' }), }); } // -----------------------初始化----------------- init(); // 初始化操作 function init(){ // 为确保window有后面添加的值例如window.sa 需要在DOMContentLoaded回调事件中执行逻辑 document.addEventListener("DOMContentLoaded", function() { // 设置邮件联想 setDataList(); if(!true){ // 初始无货 按钮pv事件埋点上报 buttonPVReport(); } }); } // 设置邮件联想 function setDataList(){ const customer_email = window.C_SETTINGS.customer.customer_email; if(customer_email){ const options = document.createElement('option'); options.setAttribute('value', customer_email); doms.datalist.appendChild(options); } } // -----------------------事件操作---------------- // 监听sku变化事件 document.addEventListener('dj.variantChange', variantChange); // 监听提醒按钮点击事件 doms.button.addEventListener('click', reminderButtonClick); // 监听提交按钮点击事件 doms.submitButton.addEventListener('click', submit); // 监听input元素的keydown事件 doms.emailInput.addEventListener('keydown', function(e) { // 判断是否按下了Enter键 if (e.keyCode === 13 || e.key === 'Enter') { submit(); } }); // 显示正常按钮 function showReminderButton(){ doms.button.classList.remove('app-arrival-hidden'); doms.previewBox.classList.add('app-arrival-preview-hidden'); buttonPVReport(); } // 展示预览按钮 function showPreviewButton(){ doms.button.classList.remove('app-arrival-hidden'); doms.previewBox.classList.remove('app-arrival-preview-hidden'); } // 隐藏按钮 function hiddenReminderButton(){ doms.button.classList.add('app-arrival-hidden'); doms.previewBox.classList.add('app-arrival-preview-hidden'); } // 提交数据, 请求接口 function submit(){ // 获取邮箱数据 const email = doms.emailInput.value.trim(); if(!email){ doms.emailWarnText.innerText = "Please enter your email address"; doms.emailWarn.classList.remove('app-arrival-hidden'); return; } if(!EMAIL_REG.test(email)){ doms.emailWarnText.innerText = "Please enter a valid email address"; doms.emailWarn.classList.remove('app-arrival-hidden'); return; } // 邮箱校验成功 doms.emailWarn.classList.add('app-arrival-hidden'); // 预览时不调接口 if(false){ SPZ.whenApiDefined(doms.toast).then(apis => { apis.showToast("Currently in preview mode, subscription is for testing only", 3000); }); return; } // 加入loading样式 doms.submitButton.classList.add('reminder-submit-button-loading'); // 提交数据请求接口 let quantity = 1; const quantityDom = $('#app-arrival-reminder-quantity-render ljs-quantity'); if(quantityDom){ quantity = Number(quantityDom.getAttribute('value')) || 1; } const params = { customer_email: email, product_num: quantity, product_id: selectedVariant.product_id, product_variant_id: selectedVariant.id }; fetch(`${window.C_SETTINGS.routes.root}/api/front/gobbler/v1/subscribe`, { method: 'POST', body: JSON.stringify(params), headers: { 'Content-Type': 'application/json' } }).then((res)=>res.json()).then((res)=>{ /* 后端错误提示 */ if(res.errors && res.errors.length){ SPZ.whenApiDefined(doms.toast).then(apis=>{ apis.showToast(res.errors[0], 3000); }); return; } /* code * 0 SUCCESS 订阅成功 * 1 PRODUCT_OFFLINE 商品下架 * 2 INVENTORY_NOT_EMPTY 商品库存不为空 * 3 REPEAT_SUBSCRIBE 重复订阅 * 4 EMAIL_EMPTY 邮件为空 * 5 EMAIL_WRONG_FORMAT 邮件格式错误 * 99999 INVALID_PARAMS 其他参数错误 */ const codeMap = { SUCCESS: ()=>{ SPZ.whenApiDefined(doms.lightbox).then(apis=>{ apis.close(); }); SPZ.whenApiDefined(doms.toast).then(apis=>{ apis.showToast("Thank you for your subscription! We will notify you as soon as the product is back in stock!", 3000); }); }, INVENTORY_NOT_EMPTY: ()=>{ SPZ.whenApiDefined(doms.lightbox).then(apis=>{ apis.close(); }); SPZ.whenApiDefined(doms.toast).then(apis=>{ apis.showToast("Subscription failed. Product back in stock, please proceed to checkout.", 3000); }); setTimeout(()=>{ window.location.reload(); }, 3000); }, REPEAT_SUBSCRIBE: ()=>{ SPZ.whenApiDefined(doms.toast).then(apis=>{ apis.showToast("You've already subscribed to this product. We'll let you know as soon as it's back in stock. Feel free to explore our other products.", 3000); }); }, EMAIL_EMPTY: ()=>{ SPZ.whenApiDefined(doms.toast).then(apis=>{ apis.showToast("Please enter your email address", 3000); }); }, EMAIL_WRONG_FORMAT: ()=>{ SPZ.whenApiDefined(doms.toast).then(apis=>{ apis.showToast("Please enter a valid email address", 3000); }); } }; codeMap.PRODUCT_OFFLINE = codeMap.SUCCESS; codeMap[res.code] && codeMap[res.code](); }).finally(()=>{ doms.submitButton.classList.remove('reminder-submit-button-loading'); }); // submit点击上报 submitClickReport(); } // 重新渲染dialog function refreshRenderDialog(){ console.log('selectedVariant', selectedVariant); const images = selectedVariant.image || {"src":"\/\/img.staticdj.com\/d56981966296300182f16b7c4ea66323.jpg","path":"d56981966296300182f16b7c4ea66323.jpg","width":1500,"height":1500,"alt":"Alloyworks Water Pump For 2007-2020 Chevy Silverado Tahoe GMC Sierra 1500 4.8L 5.3L 6.0L ","aspect_ratio":1}; const imagePosition = images.aspect_ratio > 1 ? 'left top' : 'center center'; // 重新渲染图片 SPZ.whenApiDefined(doms.imgRender).then((apis)=>{ apis.render({ images, imagePosition }); }); // 邮件错误提示置空 doms.emailWarn.classList.add('app-arrival-hidden'); // 重新渲染款式说明 if(selectedVariant.title){ doms.productVariant.innerText = selectedVariant.title.split('-').join('/'); } // 表单数据置空 doms.emailInput.value = ''; } // sku变化 单一款式不会触发 function variantChange(e){ const selected = e.detail.selected; // 子款式没变不执行操作 例如数量变化 if(selected.id === selectedVariant.id){ return; } selectedVariant = selected; console.log('selectedVariant', selectedVariant); // 数量变化 if(selected.available || selected.product_id === undefined){ // 有库存 编辑时展示预览按钮 否则隐藏按钮 if(false){ showPreviewButton(); }else { hiddenReminderButton(); } }else{ // 无库存 显示正常按钮 showReminderButton(); } } // 提醒按钮点击 function reminderButtonClick(){ refreshRenderDialog(); // 弹窗曝光上报 popupPVReport(); } document.body.appendChild(doms.toast); document.body.appendChild(doms.lightbox.parentElement); })();
USA Local Warehouses
1 Year Warranty
60 Days Easy Return
Please check if this fits your vehicle before purchasing
Description

Features:
Brand New Engine Water Pump
· Interchange Part Number: AW6009, 12600767, 12681417, 19208815, 19253263
· Package Includes: 1 Engine Water Pump W/Gasket
 

Application:
Make Model Year Engine Engine Code Fuel
Buick Rainier 2007 V8 5.3L OHV Petrol
Cadillac Escalade 2009-2014 V8 6.2L OHV Flex
Cadillac Escalade 2007-2008 V8 6.2L OHV Petrol
Cadillac Escalade 2009-2013 V8 6.0L OHV Flex
Cadillac Escalade 2013 V8 6.2L OHV Petrol
Cadillac Escalade ESV 2009-2014 V8 6.2L OHV Flex
Cadillac Escalade ESV 2008 V8 6.2L OHV Petrol
Cadillac Escalade ESV 2013-2014 V8 6.2L OHV Petrol
Cadillac Escalade EXT 2010-2013 V8 6.2L OHV Flex
Cadillac Escalade EXT 2007-2008 V8 6.2L OHV Petrol
Cadillac Escalade EXT 2013 V8 6.2L OHV Petrol
Chevrolet Avalanche 2008-2013 V8 5.3L OHV Flex
Chevrolet Avalanche 2007-2009 V8 5.3L OHV Petrol
Chevrolet Avalanche 2007-2009 V8 6.0L OHV Petrol
Chevrolet Colorado 2009-2012 V8 5.3L OHV Petrol
Chevrolet Express 1500 2007-2014 V8 5.3L OHV Flex
Chevrolet Express 1500 2007-2009 V8 5.3L OHV Petrol
Chevrolet Express 2500 2007-2009 V8 4.8L OHV Petrol
Chevrolet Express 2500 2010-2020 V8 6.0L OHV Flex
Chevrolet Express 2500 2007-2009 V8 6.0L OHV Petrol
Chevrolet Express 2500 2011-2016 V8 6.0L OHV CNG
Chevrolet Express 2500 2010-2017 V8 4.8L OHV Flex
Chevrolet Express 2500 2015 V8 6.0L OHV Petrol
Chevrolet Express 2500 2018-2020 V8 6.0L OHV CNG
Chevrolet Express 3500 2010-2017 V8 4.8L OHV Flex
Chevrolet Express 3500 2011-2016 V8 6.0L OHV CNG
Chevrolet Express 3500 2007-2009 V8 4.8L OHV Petrol
Chevrolet Express 3500 2018-2020 V8 6.0L OHV CNG
Chevrolet Express 3500 2010-2020 V8 6.0L OHV Flex
Chevrolet Express 3500 2007-2009 V8 6.0L OHV Petrol
Chevrolet Express 4500 2012-2013 V8 6.0L OHV CNG
Chevrolet Express 4500 2015 V8 6.0L OHV CNG
Chevrolet Express 4500 2010 V8 6.0L OHV Flex
Chevrolet Express 4500 2015-2016 V8 6.0L OHV Flex
Chevrolet Express 4500 2009 V8 6.0L OHV Petrol
Chevrolet Silverado 1500 2010-2011 V8 6.0L OHV Flex
Chevrolet Silverado 1500 2010-2013 V8 4.8L OHV Flex
Chevrolet Silverado 1500 2007-2013 V8 5.3L OHV Flex
Chevrolet Silverado 1500 2007-2009 V8 4.8L OHV Petrol
Chevrolet Silverado 1500 2007-2009 V8 5.3L OHV Petrol
Chevrolet Silverado 1500 2007-2009 V8 6.0L OHV Petrol
Chevrolet Silverado 1500 2009-2013 V8 6.2L OHV Flex
Chevrolet Silverado 1500 Classic 2007 V8 4.8L OHV Petrol
Chevrolet Silverado 1500 Classic 2007 V8 5.3L OHV Flex
Chevrolet Silverado 1500 Classic 2007 V8 5.3L OHV Petrol
Chevrolet Silverado 1500 Classic 2007 V8 6.0L OHV Petrol
Chevrolet Silverado 1500 HD Classic 2007 V8 6.0L OHV Petrol
Chevrolet Silverado 2500 HD 2013-2016 V8 6.0L OHV CNG
Chevrolet Silverado 2500 HD 2010-2018 V8 6.0L OHV Flex
Chevrolet Silverado 2500 HD 2007-2019 V8 6.0L OHV Petrol
Chevrolet Silverado 2500 HD 2018-2019 V8 6.0L OHV CNG
Chevrolet Silverado 2500 HD Classic 2007 V8 6.0L OHV Petrol
Chevrolet Silverado 3500 Classic 2007 V8 6.0L OHV Petrol
Chevrolet Silverado 3500 HD 2010-2019 V8 6.0L OHV Flex
Chevrolet Silverado 3500 HD 2007-2019 V8 6.0L OHV Petrol
Chevrolet Silverado 3500 HD 2015-2016 V8 6.0L OHV CNG
Chevrolet Silverado 3500 HD 2019 V8 6.0L OHV CNG
Chevrolet Suburban 1500 2007-2011 V8 5.3L OHV Petrol
Chevrolet Suburban 1500 2007-2014 V8 5.3L OHV Flex
Chevrolet Suburban 1500 2007-2009 V8 6.0L OHV Petrol
Chevrolet Suburban 1500 2013 V8 5.3L OHV Petrol
Chevrolet Suburban 2500 2010-2013 V8 6.0L OHV Flex
Chevrolet Suburban 2500 2007-2009 V8 6.0L OHV Petrol
Chevrolet Suburban 3500 HD 2016-2018 V8 6.0L OHV Flex
Chevrolet Tahoe 2011 V8 5.3L OHV Petrol
Chevrolet Tahoe 2010-2012 V8 6.0L OHV Flex
Chevrolet Tahoe 2008 V8 6.0L OHV Petrol
Chevrolet Tahoe 2007 V8 4.8L OHV Petrol
Chevrolet Tahoe 2009 V8 4.8L OHV Petrol
Chevrolet Tahoe 2007-2014 V8 5.3L OHV Flex
Chevrolet Tahoe 2007-2009 V8 5.3L OHV Petrol
Chevrolet Tahoe 2009 V8 6.2L OHV Flex
Chevrolet Tahoe 2008 V8 6.2L OHV Petrol
Chevrolet Trailblazer 2007-2008 V8 5.3L OHV Petrol
Chevrolet Trailblazer 20072009 V8 6.0L OHV Petrol
Chevrolet W3500 Tiltmaster 2008 V8 6.0L OHV Petrol
Chevrolet W4500 Tiltmaster 2007-2009 V8 6.0L OHV Petrol
GMC Canyon 2009-2012 V8 5.3L OHV Petrol
GMC Envoy 2007-2009 V8 5.3L OHV Petrol
GMC Savana 1500 2007-2014 V8 5.3L OHV Flex
GMC Savana 1500 2007-2009 V8 5.3L OHV Petrol
GMC Savana 2500 2011-2016 V8 4.8L OHV Flex
GMC Savana 2500 2007-2009 V8 4.8L OHV Petrol
GMC Savana 2500 2018-2020 V8 6.0L OHV CNG
GMC Savana 2500 2010-2020 V8 6.0L OHV Flex
GMC Savana 2500 2007-2009 V8 6.0L OHV Petrol
GMC Savana 2500 2012-2016 V8 6.0L OHV CNG
GMC Savana 3500 2011-2016 V8 6.0L OHV CNG
GMC Savana 3500 2010-2020 V8 6.0L OHV Flex
GMC Savana 3500 2007-2009 V8 6.0L OHV Petrol
GMC Savana 3500 2010-2017 V8 4.8L OHV Flex
GMC Savana 3500 2018-2020 V8 6.0L OHV CNG
GMC Savana 3500 2007-2009 V8 4.8L OHV Petrol
GMC Savana 4500 2013 V8 6.0L OHV CNG
GMC Savana 4500 2016 V8 6.0L OHV CNG
GMC Savana 4500 2010-2011 V8 6.0L OHV Flex
GMC Savana 4500 2014 V8 6.0L OHV Flex
GMC Savana 4500 2016 V8 6.0L OHV Flex
GMC Sierra 1500 2009-2013 V8 6.2L OHV Flex
GMC Sierra 1500 2007 V8 6.2L OHV Petrol
GMC Sierra 1500 2010 V8 6.0L OHV Flex
GMC Sierra 1500 2013 V8 6.0L OHV Flex
GMC Sierra 1500 2007-2009 V8 6.0L OHV Petrol
GMC Sierra 1500 2010-2013 V8 4.8L OHV Flex
GMC Sierra 1500 2007-2009 V8 4.8L OHV Petrol
GMC Sierra 1500 2007-2013 V8 5.3L OHV Flex
GMC Sierra 1500 2007-2009 V8 5.3L OHV Petrol
GMC Sierra 1500 Classic 2007 V8 5.3L OHV Petrol
GMC Sierra 1500 Classic 2007 V8 5.3L OHV Flex
GMC Sierra 1500 Classic 2007 V8 4.8L OHV Petrol
GMC Sierra 1500 Classic 2007 V8 6.0L OHV Petrol
GMC Sierra 1500 HD Classic 2007 V8 6.0L OHV Petrol
GMC Sierra 2500 HD 2013-2016 V8 6.0L OHV CNG
GMC Sierra 2500 HD 2010-2019 V8 6.0L OHV Flex
GMC Sierra 2500 HD 2007-2019 V8 6.0L OHV Petrol
GMC Sierra 2500 HD 2019 V8 6.0L OHV CNG
GMC Sierra 2500 HD Classic 2007 V8 6.0L OHV Petrol
GMC Sierra 3500 Classic 2007 V8 6.0L OHV Petrol
GMC Sierra 3500 HD 2019 V8 6.0L OHV CNG
GMC Sierra 3500 HD 2010-2019 V8 6.0L OHV Flex
GMC Sierra 3500 HD 2007-2019 V8 6.0L OHV Petrol
GMC Sierra 3500 HD 2015-2016 V8 6.0L OHV CNG
GMC W3500 Forward 2007 V8 6.0L OHV Petrol
GMC W4500 Forward 2007-2008 V8 6.0L OHV Petrol
GMC Yukon 2007-2010 V8 5.3L OHV Petrol
GMC Yukon 2009 V8 6.2L OHV Flex
GMC Yukon 2011-2014 V8 6.2L OHV Flex
GMC Yukon 2007-2008 V8 6.2L OHV Petrol
GMC Yukon 2010-2013 V8 6.0L OHV Flex
GMC Yukon 2009 V8 6.0L OHV Petrol
GMC Yukon 2007-2009 V8 4.8L OHV Petrol
GMC Yukon 2007-2014 V8 5.3L OHV Flex
GMC Yukon XL 1500 2009-2014 V8 6.2L OHV Flex
GMC Yukon XL 1500 2008 V8 6.2L OHV Petrol
GMC Yukon XL 1500 2009-2014 V8 5.3L OHV Flex
GMC Yukon XL 1500 2007-2009 V8 6.0L OHV Petrol
GMC Yukon XL 1500 2007-2009 V8 5.3L OHV Petrol
GMC Yukon XL 2500 2010-2013 V8 6.0L OHV Flex
GMC Yukon XL 2500 2007-2009 V8 6.0L OHV Petrol
Hummer H2 2008 V8 6.2L OHV Petrol
Hummer H2 2007 V8 6.0L OHV Petrol
Hummer H2 2009 V8 6.2L OHV Flex
Hummer H3 2010 V8 5.3L OHV Flex
Hummer H3 2008-2009 V8 5.3L OHV Petrol
Hummer H3T 2010 V8 5.3L OHV Flex
Hummer H3T 2009-2010 V8 5.3L OHV Petrol
Isuzu NPR 2012 V8 6.0L OHV CNG
Isuzu NPR 2007-2009 V8 6.0L OHV Petrol
Isuzu NPR 2011-2012 V8 6.0L OHV Petrol
Isuzu NPR-HD 2007-2009 V8 6.0L OHV Petrol
Saab 9-7x 2008 V8 5.3L OHV Petrol
Saab 9-7x 2009 V8 6.0L OHV Petrol
Workhorse W42 2009 V8 4.8L OHV Petrol
Workhorse W62 2009-2011 V8 6.0L OHV Petrol

Customer Reviews
Here are what our customers say.
Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.
class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('appzebu smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);

Sign up and save

Subscribe to get special offers, free giveaways, and once-in-a-lifetime deals.