130Wh 6.5Ah BH53420V Battery BH25040 BH29040V for Hoover Onepwr/One power BH15030 BH53310E BH57005 BH57000 BH53310V BH5337VE BH53354V BH53420PCE BH25030 BH53357VE BH55500PC Cordless Vacuum Cleaner
130Wh 6.5Ah BH53420V Battery BH25040 BH29040V for Hoover Onepwr/One power BH15030 BH53310E BH57005 BH57000 BH53310V BH5337VE BH53354V BH53420PCE BH25030 BH53357VE BH55500PC Cordless Vacuum Cleaner
${function() {
const variantData = data.variant || {"id":"1917c75e-f382-4e4c-9fc6-819e2852f9dd","product_id":"7c441b50-154b-4e34-87d7-4b03380a0ad0","title":"","weight_unit":"lb","inventory_quantity":10,"sku":"Emaks-El005","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":44.92,"min_quantity":1}],"weight":"2.3","compare_at_price":"0","price":"44.92","retail_price":"0","available":true,"url":"\/products\/130wh-6-5ah-bh53420v-battery-bh25040-bh29040v-for-hoover-onepwr-one-power-bh15030-bh53310e-bh57005-bh57000-bh53310v-bh5337ve-bh53354v-bh53420pce-bh25030-bh53357ve-bh55500pc-cordless-vacuum-cleaner?variant=1917c75e-f382-4e4c-9fc6-819e2852f9dd","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"1917c75e-f382-4e4c-9fc6-819e2852f9dd","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"44.92","compare_at_price":"","discount_price":"44.92","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"0","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0};
const saveType = null;
const productSaveLabel = null;
return `
-
${ variantData.off_ratio }%
`; }()}
${function(){
return `
${data.starNum}/${data.starTotal}
`;
}()}
${function(){
return `
${data.showStarText === 'true' ? `
${data.starNum}/${data.starTotal}
` : ''}
`;
}()}
const TAG = 'spz-custom-revue-star';
class SPZCustomRevueStar extends SPZ.BaseElement {
constructor(element) {
super(element);
}
static deferredMount() {
return false;
}
buildCallback = () => {
this.action_ = SPZServices.actionServiceForDoc(this.element);
this.templates_ = SPZServices.templatesForDoc(this.element);
this.xhr_ = SPZServices.xhrFor(this.win);
this.starNum = this.element.getAttribute('starNum');
this.starTotal = this.element.getAttribute('starTotal');
this.showStarText = this.element.getAttribute('showStarText');
this.starColor = this.element.getAttribute('color');
this.interact = this.element.getAttribute('interact');
this.starSize = this.element.getAttribute('starSize') || 14;
}
mountCallback = () => {
this.doRender_({
starTotal: this.starTotal,
totalArray: Array.from({ length: Number(this.starTotal) }, (v, k) => k + 1),
starNum: this.starNum,
showStarText: this.showStarText,
starColor: this.starColor,
starSize: this.starSize
}).then(() => {
if (this.interact) {
this.addEventListeners_();
}
});
}
addEventListeners_ = () => {
const stars = document.querySelectorAll('.revue-star__star');
stars.forEach(star => {
star.addEventListener('click', event => {
const starEl = star.closest('.revue-star__star');
const starIndex = Number(starEl.dataset.index);
let isHalf = event.offsetX < star.offsetWidth / 2;
// rtl
if (document.documentElement.getAttribute('dir') === 'rtl') {
isHalf = event.offsetX > star.offsetWidth / 2;
}
const starValue = isHalf ? starIndex - 0.5 : starIndex;
this.starClickHandler_({ value: starValue });
});
});
}
renderStar = () => {
const isRtl = document.documentElement.getAttribute('dir') === 'rtl';
const stars = this.element.querySelectorAll('.revue-star__star');
stars.forEach((star, i) => {
const starIndex = i + 1;
const starEl = star.querySelector('svg:nth-child(2)');
const isHalf = this.starNum % 1 > 0 && Math.ceil(this.starNum) === starIndex;
const isSolid = starIndex <= Math.ceil(this.starNum);
starEl.style.display = isSolid ? 'block' : 'none';
if (isHalf) {
if (isRtl) {
// RTL布局下,如果是半星,显示星星的右半边
starEl.style.clipPath = `polygon(50% 0, 100% 0, 100% 100%, 50% 100%)`;
} else {
// LTR布局下,如果是半星,显示星星的左半边
starEl.style.clipPath = `polygon(0 0, 50% 0, 50% 100%, 0 100%)`;
}
} else {
starEl.style.clipPath = `polygon(0 0, 100% 0, 100% 100%, 0 100%)`
}
});
const showCountEle = this.element.querySelector('#revue-star-show-count');
showCountEle && SPZ.whenApiDefined(showCountEle).then((api) => {
api.render({ starNum: this.starNum, starTotal: this.starTotal });
});
}
doRender_ = (data) => {
return this.templates_
.findAndRenderTemplate(this.element, { starSize: this.starSize, ...data }, null)
.then((el) => {
const children = this.element.querySelector('*:not(template)');
children && SPZCore.Dom.removeElement(children);
this.element.appendChild(el);
})
.then(() => {
this.starNum = data.starNum;
this.renderStar();
});
}
starClickHandler_ = (event) => {
this.starNum = event.value;
this.renderStar();
this.triggerEvent_('change', { value: event.value });
}
triggerEvent_(name, data) {
const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {});
this.action_.trigger(this.element, name, event);
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.CONTAINER;
}
}
SPZ.defineElement(TAG, SPZCustomRevueStar)
()
try {
const productId = window.SHOPLAZZA.meta.page.resource_id;
const productType = `default`;
const getProductReviews = (star_least) =>
fetch('/api/comment/count-star-multi',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
product_id: [productId],
star_least: star_least || 1,
}),
}).then(res => res.json());
try {
const section = document.querySelector('#revue-product-star');
if(productType === "gift_card" && section) {
section.style.display = 'none';
}
} catch(e) {
console.log(e);
window.addEventListener('load', () => {
try {
const section = document.querySelector('#revue-product-star');
if(productType=== "gift_card" && section) {
section.style.display = 'none';
}
} catch(e) {
console.log(e)
}
})
}
const getReviewsConfig = async () => {
let data = {};
const url = new URL(window.location.href);
const preview_theme_id = url.searchParams.get('preview_theme_id');
const commentConfig = await fetch('/api/comment-config', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
}
}).then(res => res.json());
data = commentConfig.data;
const themeConfig = await fetch(`/api/comment-config?theme_id=${preview_theme_id || ''}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
}
}).then(res => res.json());
if (themeConfig?.data && themeConfig.data.star_color) {
data.star_color = themeConfig.data.star_color;
}
if (preview_theme_id) {
data.star_least = window.apps_global && apps_global.reviews && apps_global.reviews.preview_star_least;
} else if (themeConfig?.data && themeConfig.data.product_settings) {
data.star_least = themeConfig.data.product_settings.star_least;
}
return data;
};
if (productId && window.SHOPLAZZA.meta.page.template_type == 1) {
getReviewsConfig().then(async res => {
const config = res;
let review = await getProductReviews(config.star_least);
review = review.data[productId];
if (!config.open_status || (!review.comment_avg_star && !config.show_no_comment_star)) return;
const render = async () => {
const section = document.querySelector('#revue-product-star');
const starComponent = document.querySelector('#revue-product-star-component');
const count = document.querySelector('#revue-product-star-count');
count.innerText = review.published_count;
const api = await SPZ.whenApiDefined(starComponent);
api.doRender_({
starNum: review.comment_avg_star,
starTotal: 5,
showStarText: false,
starColor: config.star_color,
totalArray: Array.from({ length: 5 }, (v, k) => k + 1)
});
section.style.opacity = 1;
}
render();
document.addEventListener('dj.editor.update', render);
});
}
} catch (e) {console.warn(e)};
${function() {
const minInventory = parseInt('7');
const maxInventory = parseInt('10');
const randomInventory = Math.round(Math.random() * (maxInventory - minInventory)) + minInventory;
const customText = "Only {stock} item(s) left in stock!".replace(/\{stock\}/g, '' + randomInventory + '');
const barWidth = (randomInventory / maxInventory) * 100 + '%';
return `
`;
}()}
Product was out of stock.
Enjoy free shipping on every order, delivered to your doorstep no matter where you are in the world.
Shop with confidence with our hassle-free returns policy, ensuring you love what you buy.
Designed with the planet in mind, all our products are committed to sustainable practices.
Your payment information is always protected with our advanced, encrypted checkout security.
【EMAKS 2022 Upgraded Version - 6.5Ah 130Wh 】: With newly upgraded high-capacity version, EMAKS BH25040 BH15030 BH25030 BH15260PC replacement battery has 6.5Ah 6500mAh 130Wh which make your Hoover Onepwr vacuum cleaner have longer working time, to complete all the cleaning work.Perfect replacement for Hoover Onepwr BH25040 BH15030 BH25030 BH15260PC BH29040V 6.5Ah 6.0Ah 4.0Ah 3.0Ah Max. 【Full Compatibility】Our EMAKS Battery compatible with Hoover BH53422 BH29040V BH12000 BH12001 BH12010 BH53310 BH53310E BH53310NP BH53315 BH53350 BH53350E BH53352V2 BH53357VB BH55210 BH55210A BH55210E BH55500PC BH57000 BH57005 BH57005ID BH57010 BH57100 BH57105 BH57120 BH57125 BH57200 BH57205 BH57220 BH57225 BH57300PC BK95519 BK95520PC BH53357VE BH53352V BH53000 BH53420 BH53420PC BH53420PCE BH90100 BH53320 BH53801V BH14000 and more.
Vendor by :
Emaks
Weight :
2.3
lb
Sku :
Emaks-El005
Inventory :
999999999
${function(){
const variantData = data.variant || {"id":"1917c75e-f382-4e4c-9fc6-819e2852f9dd","product_id":"7c441b50-154b-4e34-87d7-4b03380a0ad0","title":"","weight_unit":"lb","inventory_quantity":10,"sku":"Emaks-El005","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":44.92,"min_quantity":1}],"weight":"2.3","compare_at_price":"0","price":"44.92","retail_price":"0","available":true,"url":"\/products\/130wh-6-5ah-bh53420v-battery-bh25040-bh29040v-for-hoover-onepwr-one-power-bh15030-bh53310e-bh57005-bh57000-bh53310v-bh5337ve-bh53354v-bh53420pce-bh25030-bh53357ve-bh55500pc-cordless-vacuum-cleaner?variant=1917c75e-f382-4e4c-9fc6-819e2852f9dd","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"1917c75e-f382-4e4c-9fc6-819e2852f9dd","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"44.92","compare_at_price":"","discount_price":"44.92","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"0","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0};
return `
Vendor by :
${data.product && data.product.vendor}
Weight :
${variantData && variantData.weight}${variantData && variantData.weight_unit}
Barcode :
${variantData && variantData.barcode}
Sku :
${variantData && variantData.sku}
Inventory :
${variantData && variantData.available_quantity}
` }()}