🔥Black Friday - Save Up To 20% Off🔥
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
1 / 14
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration
0% OFF

Dragonfly DIY Diamond Art Paper Towel Holder for Home and Office Decoration

1536599.04

$20.99
0 sold
Qty 5 in stock
Specification:

Product size: 225.00x135.00x105.00mm

Product size: 8.86x5.31x4.13inch

Origin (country or region): Mainland China (Origin)
Material: Wooden
Form: Three-dimensional
Drilling area: part


Note:
Due to different monitor settings and lighting conditions, the actual color of the item may vary slightly from the pictures. Thanks for your understanding!
Please allow a 1-2 cm difference in measurements due to manual measuring.



Package Content:

6 x Wood board

1 x Tool kit

1 x Diamond bag

/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1736477762476').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);