Kaufen 4 Erhalten 1 Gratis | Kostenloser Versand €59+ | 5% Rabatt Code: DPE00
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
1 / 8
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz
Verwandte Produkte Mag diese nicht?
0% OFF
DE.Peggybuy

A4-5pcs Freigabe Papier Diamant Malerei Abdeckung Ersatz

496460.04

€3.99
4 Volumen der Verkäufe
Anzahl 999Bestand


Verwandte Produkte Mag diese nicht?
Kundenrezensionen

Das sagen unsere Kunden.

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.