180W Power Adapter Cord for Dell Dock WD19 WD19S WD19TB WD19TBS WD19DCS WD22TB4 WD15 SD25 WD25 D6000 D6000S TB15 TB16 Business Thunderbolt/Universal Docking Station TB18DC K16A K16A001 K17A001 SD25TB4
180W Power Adapter Cord for Dell Dock WD19 WD19S WD19TB WD19TBS WD19DCS WD22TB4 WD15 SD25 WD25 D6000 D6000S TB15 TB16 Business Thunderbolt/Universal Docking Station TB18DC K16A K16A001 K17A001 SD25TB4
${function() {
const variantData = data.variant || {"id":"f7dac6a0-279a-48bc-8e88-d58233e65abc","product_id":"37cf0f9e-78ba-43f8-a813-3676d89d0a31","title":"","weight_unit":"lb","inventory_quantity":10,"sku":"Emaks-El015","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":39.99,"min_quantity":1}],"weight":"2.3","compare_at_price":"0","price":"39.99","retail_price":"0","available":true,"url":"\/products\/180w-power-adapter-cord-for-dell-dock-wd19-wd19s-wd19tb-wd19tbs-wd19dcs-wd22tb4-wd15-sd25-wd25-d6000-d6000s-tb15-tb16-business-thunderbolt-universal-docking-station-tb18dc-k16a-k16a001-k17a001-sd25tb4?variant=f7dac6a0-279a-48bc-8e88-d58233e65abc","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"f7dac6a0-279a-48bc-8e88-d58233e65abc","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":"39.99","compare_at_price":"","discount_price":"39.99","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.
Input 100-240V 50-60Hz Output:19.5V-9.23A 180W Watts (Aslo Compatible With 19.5V 6.7A 130W Watts docking station) Connector Size: 7.4mm X 5.0mm. Package Contents: 1 x emaks power adapter, 1 x high-quality AC cable,1 x manual
Emaks 180W 130W Docking Station Power Adapter SupplyPerfect for Dell WD15 Monitor Dock 4W2HW 7FJ4J 450-AFGM 450-AEUO,Dell Business Dock - WD15 K17A001 RD43V 452-BDDU,Dell Business Thunderbolt Dock - TB16 K16A001 2PMR2 452-BCNP,Dell Docking Station - WD19 KXFHC 0KXFHC 210-ARIQ,Dell Docking Station - WD19S K20A,Dell Thunderbolt Dock – WD19TB K20A001 9GMPM 210-ARIK,Dell Thunderbolt Dock
Vendor by :
Emaks
Weight :
2.3
lb
Sku :
Emaks-El015
Inventory :
999999999
${function(){
const variantData = data.variant || {"id":"f7dac6a0-279a-48bc-8e88-d58233e65abc","product_id":"37cf0f9e-78ba-43f8-a813-3676d89d0a31","title":"","weight_unit":"lb","inventory_quantity":10,"sku":"Emaks-El015","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":39.99,"min_quantity":1}],"weight":"2.3","compare_at_price":"0","price":"39.99","retail_price":"0","available":true,"url":"\/products\/180w-power-adapter-cord-for-dell-dock-wd19-wd19s-wd19tb-wd19tbs-wd19dcs-wd22tb4-wd15-sd25-wd25-d6000-d6000s-tb15-tb16-business-thunderbolt-universal-docking-station-tb18dc-k16a-k16a001-k17a001-sd25tb4?variant=f7dac6a0-279a-48bc-8e88-d58233e65abc","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"f7dac6a0-279a-48bc-8e88-d58233e65abc","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":"39.99","compare_at_price":"","discount_price":"39.99","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}
` }()}