Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
1/10
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
Multifunctional Double-Ended Sink Wrench Tools
1/10

Multifunctional Double-Ended Sink Wrench Tools

$19.99
$29.99
Save $10.00
TYPE
Please select a type
Buy More Get More DISCOUNTS!
Please select a buy more get more discounts!
Quantity
Barcode:

  • TIPS: All goods are authentic, with genuine patents, counterfeit must be investigated! Customers, please identify our products!!!
  • 😊If you are not satisfied with the goods you received, please contact us within 15 days after receiving, we will give you the best help!
  • 🚢 Shipping>>Worldwide express shipping available.
  • 🔥98.9% of customers buy 2 or more

This innovative tool is designed to provide maximum versatility and convenience, making your plumbing tasks easier than ever before. Save time and effort with the double-ended design of this sink wrench tool. It allows you to tackle different types of fittings and connections with ease.

FEATURES

SUITABLE FOR SMALL SPACES - This tool is small and lightweight , which can easily tackle areas where regular tools cannot be installed. It is designed to effortlessly handle tight spaces and allow for easy installation.

EXTRA LONG DESIGN - Lets you to turn hard-to-reach mounting nuts on faucets, sprayers and ball cocks, makes your installation more convenient.

MULTIPLE HEAD DESIGN - It features various standard head on top, making repairs more convenient. You won't need to carry multiple tools, yet you can still easily carry out construction work.

STURDY AND DURABLE - The multifunctional tool is made of high-quality iron, which has high hardness and is durable.Adopts surface painting design, anti-corrosion and anti-rust.

LABOR SAVING DESIGN - 360-degree rotation allows you release hand strength without feeling tired.

SPECIFICATION

Material: Iron

Type: A#, B#

Weight: A# (129g), B# (142g)

Size:

PACKAGE INCLUDES

1 * Multifunctional Double-Ended Sink Wrench Tools

NOTES

Manual Measurement, allow 1 ~ 3mm error.

Due to the difference between different monitors, the picture may not reflect the actual color of the item. We guarantee that the style is the same as shown in the picture.

Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
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.