TN229 Toner Cartridge Compatible for Brother TN-229 TN 229 229XL TN-229XL for Brother HL-3280CDW HL-3220CDW MFC-L3780CDW MFC-L3720CDW (TN229BK/C/M/Y, 4 Pack)
TN229 Toner Cartridge Compatible for Brother TN-229 TN 229 229XL TN-229XL for Brother HL-3280CDW HL-3220CDW MFC-L3780CDW MFC-L3720CDW (TN229BK/C/M/Y, 4 Pack)
${function() {
const variantData = data.variant || {"id":"bd708d72-8bf6-4edd-bb61-8edd98ecf819","product_id":"3635aa64-cba8-40cb-8239-a62dd9ae80f6","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"WNU-WPFXGAR-B0229K-YA-KY-FM-ED10-WCC","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":201.99,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"201.99","retail_price":"0","available":true,"url":"\/products\/tn229-toner-cartridge-compatible-for-brother-tn-229-tn-229-229xl-tn-229xl-for-brother-hl-3280cdw-hl-3220cdw-mfc-l3780cdw-mfc-l3720cdw-tn229bk-c-m-y-4-pack?variant=bd708d72-8bf6-4edd-bb61-8edd98ecf819","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"bd708d72-8bf6-4edd-bb61-8edd98ecf819","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":"201.99","compare_at_price":"","discount_price":"201.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.
Arcon Compatible Toner Cartridges & Printer Ink offer great printing quality and reliable performance for professional printing. It keeps low printing cost while maintaining high productivity.
Product Specification:
Brand: Arcon
Compatible Toner Cartridge Replacement for: Brother TN-229BK TN-229C TN-229M TN-229Y
Compatible Toner Cartridge Replacement for Printer: Brother HL-L3220cdw HL-L3280cdw HL-L3295cdw HL-L3300cdw HL-8245cdw, MFC-L3720cdw MFC-L3765cdw MFC-L3780cdw MFC-L8395cdw
Pack of Items: 4-Pack
Ink Color: Black, Cyan, Magenta, Yellow
Page Yield (based upon a 5% coverage of A4 paper): 1500 pages per TN229BK toner and 1200 pages per TN229C TN229M TN229Y toner
Cartridge Approx.Weight : 3.31 Pounds
Cartridge Dimensions (Per Pack): 12.99 x 2.76 x 4.53 Inches
Package Including:
4-Pack Toner Cartridge
- Arcon Compatible Toner Cartridge for Brother TN-229BK TN-229C TN-229M TN-229Y
- 4-Pack Compatible TN229 TN-229 Toner Cartridge
- Page Yield : 1500 pages per TN229BK black toner and 1200 pages per TN229C TN229M TN229Y color toner
- Color: Black, Cyan, Magenta, Yellow
- Compatible Toner Cartridge Replacement for Brother HL-L3220cdw HL-L3280cdw HL-L3295cdw HL-L3300cdw HL-8245cdw, MFC-L3720cdw MFC-L3765cdw MFC-L3780cdw MFC-L8395cdw
Vendor by :
Arcon
Sku :
WNU-WPFXGAR-B0229K-YA-KY-FM-ED10-WCC
Inventory :
999999999
${function(){
const variantData = data.variant || {"id":"bd708d72-8bf6-4edd-bb61-8edd98ecf819","product_id":"3635aa64-cba8-40cb-8239-a62dd9ae80f6","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"WNU-WPFXGAR-B0229K-YA-KY-FM-ED10-WCC","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":201.99,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"201.99","retail_price":"0","available":true,"url":"\/products\/tn229-toner-cartridge-compatible-for-brother-tn-229-tn-229-229xl-tn-229xl-for-brother-hl-3280cdw-hl-3220cdw-mfc-l3780cdw-mfc-l3720cdw-tn229bk-c-m-y-4-pack?variant=bd708d72-8bf6-4edd-bb61-8edd98ecf819","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"bd708d72-8bf6-4edd-bb61-8edd98ecf819","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":"201.99","compare_at_price":"","discount_price":"201.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}
` }()}