automatyczny nawlekacz igły
${function() {
const variantData = data.variant || {"id":"50f884f8-55e4-4e38-b440-ae90572da1c2","product_id":"b2753ca6-dd2d-4953-8f31-20ac9b3474f6","title":"1 szt","weight_unit":"kg","inventory_quantity":100,"sku":"qf22-1PC","barcode":"","position":1,"option1":"1 szt","option2":"","option3":"","note":"","image":null,"wholesale_price":[{"price":102,"min_quantity":1}],"weight":"0","compare_at_price":"203","price":"102","retail_price":"203","available":true,"url":"\/products\/automatic-needle?variant=50f884f8-55e4-4e38-b440-ae90572da1c2","available_quantity":999999999,"options":[{"name":"ILO\u015a\u0106","value":"1 szt"}],"off_ratio":50,"flashsale_info":[],"sales":0};
const saveType = "amount";
const productLabelDiscountOn = true;
return `
-
${saveType == 'percentage'
? `-${variantData.off_ratio}%`
: `-`
}
`;
}()}
${function(){
const tipText = "Wybierz {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data);
return `${tipText}
`
}()}
Produkt był niedostępny.
Produkt niedostępny.
DHL Płatność gotówką przy odbiorze
Masz prawo zwrócić produkt w ciągu 14 dni
Zapłać online i zyskaj 10% rabatu
funkcja
-
♥ 【Nawlekacz igły】 - Wykonany z wysokiej jakości tworzywa sztucznego, pomocny przy nawlekaniu igieł i koralików, odpowiedni do wielu różnych rozmiarów igieł i koralików, pomaga poprawić wydajność robótek ręcznych, kolory wysyłane losowo.
-
♥ 【Łatwy w użyciu】 - Przełóż nić przez ucho igły, następnie przeciągnij nić przez igłę i na koniec wyciągnij nić z ucha igły. Jest łatwa w obsłudze i stanowi praktyczny dodatek do szycia osoby starsze, krawcy i osoby zajmujące się szyciem.
-
♥ 【PRZYDATNE NARZĘDZIE】 - Kolorowy nawlekacz z plastikowej pętli z drutu. Przydatne narzędzie ułatwiające gwintowanie.
-
♥ 【Szerokie zastosowanie】 - Nadaje się do większości prac krawieckich, skóry, dżinsu, jedwabiu, płótna i bawełny, igły o różnych rozmiarach można stosować do haftu krzyżykowego, szycia dekoracyjnego i haftu.
-
♥ 【Najlepszy prezent】 - Plastikowa igła do szycia jest łatwa w użyciu i noszeniu, odpowiednia dla wszystkich grup wiekowych, to dobry prezent dla matek i osób starszych lub osób lubiących rękodzieło krawieckie.
Specyfikacja
-
Typ artykułu: Narzędzie
-
Materiał: tworzywo sztuczne
-
Kształt: geometryczny
-
Proces obróbki: galwanizacja
-
Popularne elementy: linie
-
Klasyfikacja stylu: Trend osobowości
-
Kolor: losowy
- Wymiary: 6,5 cm/2,5 cala
pakiet
- 1 * Automatyczny nawlekacz igły
notatki
-
Proszę pozwolić na niewielkie odchylenie pomiaru spowodowane pomiarem ręcznym.
-
Ze względu na różnice w monitorach i efektach świetlnych rzeczywisty kolor przedmiotu może nieznacznie różnić się od koloru pokazanego na zdjęciu.
Oto, co mówią nasi klienci.
Najnowsza
Najbardziej lubiany
Najwyższe oceny
Najniższe oceny
Najbardziej lubiany
Najwyższe oceny
Najniższe oceny
×
${function(){
const limit = typeof data === 'number' ? data : 0;
return `
Zdjęcia/wideo (${limit || 0}/5)
` }()}
${(function(){
const closeIcon =
'
';
if (item.type === 'image') {
return `
${closeIcon}
`
}
return `
${closeIcon}
`
})()}
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.