Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)
Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)

Xmas Diamond Painting Hanging Light Home Rhinestone Lamp Pendant (ZXD302)

SKU: 590538.04
Price
$0.00
$12.59
Save  0%
2 sold
Quantity
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '02484478-af95-4801-a3e2-746a0e30e090'; this.debounceRenderDiscountList = this.win.SPZCore.Types.debounce(this.win,this.renderDiscountList.bind(this), 500); } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); console.log('promotion_complex',{"downgrade":false,"automatic_discount_list":[]}); // 监听事件 this.bindEvent_(); } init() { this.handleFitTheme(); // 兜底方案, downgrade == true; 需要降级 则要请求接口 this.doRender_({}).then(async () => { const downgrade = 'false'; if(downgrade != 'false') { this.renderDiscountList(); } }); } async getDiscountList() { const productId = '6ae228f0-2259-44e6-998f-83cdffb57925'; const variantId = this.variant_id; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email } } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 const parentDiv = document.querySelector('.automatic_discount_container'); const oldDom = parentDiv.querySelector('.automatic_discount_wrapper'); const newTplDom = await this.getRenderTemplate(data); if(oldDom){ parentDiv.replaceChild(newTplDom, oldDom); } else { parentDiv.appendChild(newTplDom); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == '6ae228f0-2259-44e6-998f-83cdffb57925') { this.variant_id = variant.id; } await this.debounceRenderDiscountList(); }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); } 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, SpzCustomProductAutomatic);
5D Christmas Diamond Painting Hanging Light Festive Rhinestone LED Lamp Pendant DIY Home Party Art Craft Decoration
Feature:
Colorful lighting double-sided pattern (single-sided drill)

Specification:
Diamond type: modeling lamp+crystal shaped diamond
Material: PVC
Size: 20.5*15cm/8.1x5.9in
Weight: 220g
Light source: LED lamp bead
Power supply: 3 AA batteries (not included)

DIY diamond painting steps:
1.Open the packing box and check the special tools for diamond painting
2.Check the color of resin diamonds and arrange them in coding order
3.Uncover the tape chart above, and you will see many symbols corresponding to color coding
4.Diamond is inlaid according to the resin corresponding to the corresponding color coding fixture
5.It is suggested that a set of resin diamonds can be completed faster
6.In order to make a perfect diamond painting, put the drawings in one place, and each line of symbols does not need to leave diamonds
7.To cut a good figure on the drawing, please install the classification array on the plane of the above material
8.The splicing needs to be smooth, neat and free of cracks
9.After good splice, the rest of the glue gap conforms to the symbol of diamond

Note:
Due to logistics and transportation reasons, batteries are not included in the products, so please buy them by yourself
This is a DIY diamond painting, which is not finished. You need to finish it yourself. All products are measured manually, please allow 1-2cm deviation.
Because the light is different from the screen, the color of the project may be slightly different from the picture. Please understand

Package Content:
1 X Christmas Hanging Lamp
1 X Diamond Bag
1 X Point Drilling Tools (Pen, Plate, Cement)