Babeside Ruby 12'' Realistic Silicone Sleeping Baby Little Infant Girl Best Gift for Kids
Babeside Ruby 12'' Realistic Silicone Sleeping Baby Little Infant Girl Best Gift for Kids
Babeside Ruby 12'' Realistic Silicone Sleeping Baby Little Infant Girl Best Gift for Kids
Babeside Ruby 12'' Realistic Silicone Sleeping Baby Little Infant Girl Best Gift for Kids
Babeside Ruby 12'' Realistic Silicone Sleeping Baby Little Infant Girl Best Gift for Kids
Babeside Ruby 12'' Realistic Silicone Sleeping Baby Little Infant Girl Best Gift for Kids

Babeside Ruby 12'' Realistic Silicone Sleeping Baby Little Infant Girl Best Gift for Kids

€129.99
€0.00
(function () { try { const getProduct = () => { const productJson = document.querySelector('#product-json'); if (productJson?.textContent) { return JSON.parse(productJson.textContent); } if (window.jQuery) { const $product = window.jQuery?.(document)?.data('djproduct'); const productData = JSON.parse(JSON.stringify($product || {})); return productData || {}; } return {}; }; const blockDomId = 'pm-block-afterpay-message-1539149753700-3' const placeholderDomId = 'pm-block-afterpay-message-placeholder-1539149753700-3' const badgeTheme = "black-on-mint"; const size = "md"; const shopCurrencyCode = "EUR"; const productDetail = getProduct(); let productPrice = productDetail?.selected?.price || 129.99; let settingConfig; const req = { ROOT_URL: (C_SETTINGS && C_SETTINGS.routes && C_SETTINGS.routes.root) || '', post: async (url, data = {}) => { try { const response = await fetch(req.ROOT_URL + url, { method: 'POST', headers: { 'Content-Type': 'application/json', }, ...data, body: JSON.stringify(data.body), }); const result = await response.json(); return result } catch (error) { throw new Error('post request error' + error); } }, get: async (url, data = {}) => { try { const response = await fetch(req.ROOT_URL + url); const result = await response.json(); return result } catch (error) { throw new Error('get request error' + error); } } } const supportLocaleMap = { AU: 'en-AU', NZ: 'en-NZ', US: 'en-US', CA: 'en-CA', GB: 'en-GB', FR: 'fr-FR', IT: 'it-IT', ES: 'es-ES', DE: 'de-DE', } const getPayLaterSetting = () => { return req.post('/api/payment/pay-later-setting', {body: {payment_channel: 'afterpay'}}).then(res => { const result = { ...res, afterpay_currency_locale: supportLocaleMap?.[res?.afterpay_support_country?.[0]] || supportLocaleMap?.US || 'en-US' } return result; }); } const getBlockDom = () => { const blockDOM = document.getElementById(blockDomId); if (!blockDOM) { return; } return blockDOM } function errorHandler() { const blockDOM = getBlockDom(); if (blockDOM) { blockDOM.style.display = 'none'; } } function hasAfterpayMessage() { // 获取目标元素 const targetElement = document.getElementById(placeholderDomId); // 判断目标元素是否有兄弟元素节点 const siblings = Array.from(targetElement.parentNode.children).filter(function (node) { return node.nodeType === Node.ELEMENT_NODE; }); return siblings.length > 1 } function renderAfterpay(data = {}) { const blockDOM = getBlockDom(); if (!blockDOM) { return; } blockDOM.innerHTML = null; const placeholderDOM = document.createElement('div'); placeholderDOM.id = placeholderDomId; placeholderDOM.className = 'pm-display-none' blockDOM.appendChild(placeholderDOM); blockDOM.style.display = 'block'; if (window.Afterpay && typeof Afterpay?.createPlacements === 'function' && !hasAfterpayMessage()) { try { Afterpay.createPlacements({ targetSelector: `#${placeholderDomId}`, attributes: { locale: data.afterpay_currency_locale, currency: data.afterpay_currency, amount: data.productPrice, size: size, badgeTheme: badgeTheme, } }); } catch (e) { console.error('payment-sdk:', e); } } } async function init(data = {}) { const blockDOM = getBlockDom(); if (!blockDOM) { return; } if (!settingConfig) { settingConfig = await getPayLaterSetting(); } if(data?.detail?.selected?.price){ productPrice = data?.detail?.selected?.price; } if ( !settingConfig || !settingConfig.afterpay_promo_msg_enabled || !settingConfig.afterpay_max_amount || !settingConfig.afterpay_min_amount || !settingConfig.afterpay_support_country || shopCurrencyCode !== settingConfig.afterpay_currency || Number(productPrice) <= Number(settingConfig.afterpay_min_amount) || Number(productPrice) > Number(settingConfig.afterpay_max_amount) ) { errorHandler(); return; } const scriptDOM = document.getElementById('pm-afterpay-sdk'); if (!scriptDOM) { window.addEventListener('Afterpay.ready', () => renderAfterpay({ ...settingConfig, productPrice })); const afterpaySDK = document.createElement('script'); afterpaySDK.id = 'pm-afterpay-sdk' afterpaySDK.src = 'https://js.afterpay.com/afterpay-1.x.js'; afterpaySDK.setAttribute('data-analytics-enabled', ''); afterpaySDK.setAttribute('data-min', settingConfig.afterpay_min_amount); afterpaySDK.setAttribute('data-max', settingConfig.afterpay_max_amount); afterpaySDK.async = true; afterpaySDK.onerror = errorHandler; document.body.appendChild(afterpaySDK); } else { renderAfterpay({...settingConfig, productPrice}); } } document.addEventListener('dj.variantChange', init); init(); } catch (e) { console.error('payment-sdk-afterpaymessage:', e) } })()
Gender-Girl
Bitte wählen Sie einen gender aus
Size-12 Inches
Bitte wählen Sie einen size aus
Menge

Alle Skulpturen und Fotografien sind Eigentum der Marke Babeside und durch das Bundesurheberrecht geschützt, das wir energisch verteidigen!

Schneller Versand
30 Tage Rückgabegarantie
Künstlerisch gefertigt
Sichere Zahlungen

About Ruby

Name: Ruby
Gender: Girl
Age: Infant
Size: 12" (30 cm)
Doll Weight: 1.12kg /2.46 lbs
Head/Neck Material: High Quality Platinum Silicone 
Arms/Legs Material: High Quality Platinum Silicone
Body Material: High Quality Platinum Silicone
Eyes: Always Close, Cannot Open
Lashes: No Lashes
Hair: No Hair
Paint: Hand-Painted

🌷DESCRIPTIONS:

Everyone loves a fleshy mouth, rosy, plump cheeks, and a sleepy look, and this baby doll has it all from head to little toes! This sleepy realistic newborn doll is perfect for all kid collectors and reborn parents.

This baby doll was painted with a kind of professional silicone pigments and it is sealed with a high-quality matte finish for a soft and smooth baby-skin feel. She has soft veining, beautiful mottling, fine capillaries, detailed nails, newborn milia, and lifelike shading. Her delicate eyebrows are a combination of mono-rooting and finely detailed painting.

⭐️⭐️⭐️Special tips from Babeside®

  • The doll was molded, poured, and reproduced by Crafters, and poured into eco-flex 20  eco-flex 10, or platinum silicone which is very soft and squishy. The doll has been painted with top-quality silicone paints with many thin layers to get her realistic skin tone.
  • Doll is in one piece with an attached head, no ball joint.
  • Bathing is not recommended, though many do bathe their babies often. I suggest you can lightly rinse your baby in the basin with a bit of Baby Wash once a week. Do not rub or scrub the baby as it will peel the baby's skin. Dry with a soft baby towel. DO NOT RUB THE SKIN IN ANY WAY - constant rubbing will remove the paint.
  • Silicone dolls are quite different from vinyl-reborn babies. They are very soft, move freely, and need to be handled as you would handle a newborn baby (especially the soft heavy head). Do not stretch the arms, legs, or any parts of the baby, they may be torn or ruptured. Not recommended for children.
  • Please note that this doll is a complete work of art.

Wie bezahle ich?

Sie können eine Bestellung auf unserer Website aufgeben und mit einer gängigen Kreditkarte*, Debitkarte oder PayPal bezahlen.

Hinweis: Wir akzeptieren keine Schecks oder Geldüberweisungen. 

Wie verfolge ich mein Paket?

Sie erhalten eine E-Mail mit einer Versandbestätigung sowie einer Sendungsnummer, um den Versand Ihres Pakets zu verfolgen. Hier klicken um die Sendungsnummer einzugeben und Ihr Paket zu verfolgen. Die Online-Aktualisierung der Logistikinformationen kann um 1-2 Tage verzögert sein, bitte warten Sie geduldig. Danke.

Wann wird meine Bestellung ankommen?

Für Versandoptionen und Lieferzeiten prüfen Sie bitte hier für weitere Informationen.

Wie pflege ich meine Puppe?

Wir haben einen umfassenden Leitfaden, der Ihnen bei der Pflege Ihrer Puppe hilft. Sie finden Tipps zur Puppenpflege

Haben Sie Puppen, die perfekt für Kinder unter 14 Jahren sind?

Ja, alle Babeside Reborn-Puppen wurden sicher für Kinder ab 3 Jahren getestet.  

Sind Ihre Puppen posierbar?

Alle Babys können posieren, sie haben flexible Gliedmaßen.

Haben Sie Puppen mit eingearbeitetem Haar?

Jede Babyform ist einzigartig. Einige Puppen haben eingearbeitetes Haar, andere sind handbemalt; diese Informationen finden Sie leicht in der Produktbeschreibung.

Sind Zoll- und Einfuhrgebühren im Preis meiner Bestellung enthalten?

Nein. Zoll- und Einfuhrgebühren liegen außerhalb der Kontrolle von Babeside. Diese Gebühren sind die alleinige Verantwortung des Kunden und müssen bei Erhalt des Pakets bezahlt werden. Der genaue Betrag variiert je nach Land und den in der Bestellung enthaltenen Artikeln.

Haben Sie weitere Fragen? Kontaktieren Sie uns

E-Mail: support@babeside.com

1. Versandgebiet: 

 Die Länder, in die wir derzeit versenden: Vereinigte Staaten, Australien, Kanada, Vereinigtes Königreich, Neuseeland und Länder in Europa.

2. Versandkosten: Für alle Produkte, Silikonbabys ausgeschlossen.


Land Versandmethode Preis der Ware Versand-Gebühr Versandzeit
US Standard Shipping 0-98.99 12.99 8-10 Businees Day
Free Standard Shipping 99+ Free Shipping 8-10 Businees Day
Priority Shipping $24.99+$10*(Order Weight-1.5)/0.5kg 5-7 Businees Day
UK Standard Shipping 0-98.99 12.99 8-10 Businees Day
Free Standard Shipping 99+ Free Shipping 8-10 Businees Day
Priority Shipping $24.99+$6*(Order Weight-1.5)/0.5kg 5-7 Businees Day
CA Standard Shipping 19.99 8-10 Businees Day
Priority Shipping $24.99+$15*(Order Weight-1.5)/0.5kg 5-7 Businees Day
AU Standard Shipping 0-98.99 14.99 8-10 Businees Day
Free Standard Shipping 99+ Free Shipping 8-10 Businees Day
Priority Shipping $24.99+$12*(Order Weight-1.5)/0.5kg 5-7 Businees Day
EU Standard Shipping 0-98.99 14.99 8-10 Businees Day
Free Standard Shipping 99+ Free Shipping 5-7 Businees Day

United States

(Puerto Rico, Alaska, Hawaii, Guam)

Standard Shipping 0-98.99 14.99 8-10 Businees Day
Free Standard Shipping 99+ Free Shipping 8-10 Businees Day

Shipping Fee: For Full Silicone Baby

Land Versandmethode Preis der Ware Versand-Gebühr Versandzeit
US/UK/CA/AU/EU Standard Shipping 0-178.99 14.99 8-10 Businees Day
Free Standard Shipping 179.99 Free Shipping 8-10 Businees Day

United States

(Puerto Rico, Alaska, Hawaii, Guam)

Standard Shipping $39.99+$10*(Order Weight-1.5)/0.5kg 8-10 Businees Day

Shipping Fee: For Mini Silicone Baby

Land Versandmethode Preis der Ware Versand-Gebühr Versandzeit
US+EU Standard Shipping 0-98.99 6.99 8-10 Businees Day
Free Standard Shipping 99+ Free Shipping 8-10 Businees Day
CA+AU Standard Shipping 0-98.99 9.99 8-10 Businees Day
Free Standard Shipping 99+ Free Shipping 8-10 Businees Day

United States

(Puerto Rico, Alaska, Hawaii, Guam)

Standard Shipping 49.99 8-10 Businees Day

ÜBER VOLLSILIKONBABYS
Achtung: Das tatsächliche Gewicht der Vollsilikonpuppen liegt näher am Gewicht eines echten Babys, daher werden die Versandkosten innerhalb eines angemessenen Rahmens steigen. Die tatsächlichen Versandkosten werden gemäß dem Preis und Gewicht des von Ihnen gekauften Vollsilikonbabys berechnet. Wir entschuldigen uns für eventuelle Unannehmlichkeiten.

3. Lieferzeit = Bearbeitungszeit + Versandzeit

Bearbeitungs zeit:

Es kann 1-2 Werktage dauern, um Ihre Bestellung zu versenden, ausgenommen Feiertage, um Ihre Bestellung zu bearbeiten. Sie erhalten eine Benachrichtigungs-E-Mail mit Tracking-Informationen, sobald Ihre Bestellung versendet wurde.

Hinweis: Wenn Sie mehrere Artikel kaufen, kann Ihre Bestellung in mehrere Pakete aufgeteilt werden. Wenn Sie nur eines der Pakete erhalten, machen Sie sich bitte keine Sorgen und warten Sie geduldig.

Tipps: Wenn Sie an Vorbestellartikeln interessiert sind, überprüfen Sie bitte das geschätzte Datum, das auf der Produktbeschreibung angegeben ist. Außerdem raten wir davon ab, für Vorbestellartikel Expressversand zu wählen.
 

4. Steuern

Wenn anwendbar, sind Sie verantwortlich für die Zahlung von Einfuhrsteuern und -zöllen. Für weitere Informationen wenden Sie sich bitte an Ihr örtliches Zollamt.

5. Stornierung oder Adressänderung

Eine Bestätigungs-E-Mail wird an Sie gesendet, sobald Sie die Bestellung abgeschlossen haben und wir werden Ihre Bestellung sofort vorbereiten. Wenn Sie Ihre Bestellung ändern oder stornieren müssen, kontaktieren Sie uns bitte so  schnell wie möglich unter support@babeside.com und wir werden unser Bestes tun, um zu helfen.

 

6. Wie kann ich meine Bestellung verfolgen?

Sobald Ihr Paket versendet wird, senden wir Ihnen die Sendungsverfolgungsnummer per E-Mail. Sie können Ihre Sendungsverfolgungsnummer hier eingeben oder Sie können unseren Kundenservice per E-Mail kontaktieren: support@babeside.com und unser Kundenserviceteam wird innerhalb von 24 Stunden antworten!

 

7. Versandpartner

Versanddienstleister

class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('appzebu smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);
Customer Reviews
Here are what our customers say.
Kommentare veröffentlichen
Bewertungen der Kunden
Wow, du bist ganz unten angekommen
Neueste
Am meisten gemocht
Höchste Bewertungen
Niedrigste Bewertungen
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.