Sayhi Autumn Sweater for Women Long Sleeve Knit Boho Patchwork Coat With Pockets Button Down Open Front Solid Cardigan Sweater
Sayhi Autumn Sweater for Women Long Sleeve Knit Boho Patchwork Coat With Pockets Button Down Open Front Solid Cardigan Sweater
${function() {
const variantData = data.variant || {"id":"3c9df9de-a254-46cb-bdc2-281222cfcb03","product_id":"2f3c0e2e-0ee5-47bf-ae30-299a6453503e","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"LjcJes0731SFW221017001PKXL","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":34.79,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"34.79","retail_price":"0","available":true,"url":"\/products\/sayhi-autumn-sweater-for-women-long-sleeve-knit-boho-patchwork-coat-with-pockets-button-down-open-front-solid-cardigan-sweater?variant=3c9df9de-a254-46cb-bdc2-281222cfcb03","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"3c9df9de-a254-46cb-bdc2-281222cfcb03","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":"34.79","compare_at_price":"","discount_price":"34.79","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.
Autumn Long Sleeve Knit Boho Patchwork Coat With Pockets Button Down Open Front Solid Cardigan Sweater
Features:
- Cardigan for Women Women s Winter Cardigan Long Sleeve Cardigan Sweaters Open Front Knitted Sweater Cardigan With out closure Solid Color Ribbed Cuffs Warm and Casual wear Cardigan Cardigan
- The Cut Flatters The Figure, While The Trendy And Open Silhouette Design Gives a Casual Overall Look. The Collections Consist Of Timeless Classics With Great, Feminine Details. The Long Cardigan Covers The Bottom. This Great Everyday Looks With The Long Style Cardigan.
- The Cardigan Compliments Every Outfit In a Playful Way In Every Season. Because a Knitted Jacket Is Not Perfect In Winter, Casual, Daily, Vacation, Office, Outdoors, Etc. Definitely a Great All Rounder That Offers You Numerous Combination Options.
- Casual cardigan in a trendy look, without buttons and with long sleeves. no closures, cool printed basic shirts. And it can ensure you storage space for the important things of everyday life. With the cardigan you have finally found your new favorite basic.
- The Soft Knitted Fabric Lies Gently On Your Skin And Warms You. The Soft Feel Of The Cardigan And The Accompanying Soft Feel Good Comfort Are Simply Unbeatable. With This Eye Catching Quality, The Cardigan Will Find Its Way Into Your Everyday Casual Wardrobe.
Product Description:
- Womens Casual Knit Cardigan Sweater Large Size Loose Twist Button Jacket Women
- Material: Knitting Cotton
- Color: as the picture shows, (Due to the difference between different monitors, the picture may have slight color difference. please make sure you do not mind before ordering, Thank you!)
- Package weight: 560g
- Package size: 38x32x4cm,(Please allow 1-3mm error due to manual measurement. please make sure you do not mind before ordering.)
Size Chart:
- Size:SBust:113cm/44.49''Sleeve:62cm/24.41''Length:70cm/27.56''
- Size:MBust:114cm/44.88''Sleeve:63cm/24.80''Length:71cm/27.95''
- Size:LBust:115cm/45.28''Sleeve:64cm/25.20''Length:72cm/28.35''
- Size:XLBust:116cm/45.67''Sleeve:65cm/25.59''Length:73cm/28.74''
- Size:XXLBust:117cm/46.06''Sleeve:66cm/25.98''Length:74cm/29.13''
- Size:XXXLBust:118cm/46.46''Sleeve:67cm/26.38''Length:75cm/29.53''
Sayhi Autumn Sweater for Women Long Sleeve Knit Boho Patchwork Coat With Pockets Button Down Open Front Solid Cardigan Sweater
Vendor by :
Sayhi
Sku :
LjcJes0731SFW221017001PKXL
Inventory :
999999999
${function(){
const variantData = data.variant || {"id":"3c9df9de-a254-46cb-bdc2-281222cfcb03","product_id":"2f3c0e2e-0ee5-47bf-ae30-299a6453503e","title":"","weight_unit":"lb","inventory_quantity":0,"sku":"LjcJes0731SFW221017001PKXL","barcode":"","position":1,"option1":"","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":34.79,"min_quantity":1}],"weight":"0","compare_at_price":"0","price":"34.79","retail_price":"0","available":true,"url":"\/products\/sayhi-autumn-sweater-for-women-long-sleeve-knit-boho-patchwork-coat-with-pockets-button-down-open-front-solid-cardigan-sweater?variant=3c9df9de-a254-46cb-bdc2-281222cfcb03","available_quantity":999999999,"options":[],"off_ratio":"0","flashsale_info":{"variant_id":"3c9df9de-a254-46cb-bdc2-281222cfcb03","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":"34.79","compare_at_price":"","discount_price":"34.79","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}
` }()}