Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
2/17
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
Anti-Theft Travel Bag
2/17

Anti-Theft Travel Bag

$10.99
$0.00
Save $-10.99
ColorGray
Please select a color
Quantity
Over $49.99 Free Shipping
30-day Zero-risk Return
100% Customer Satisfaction
Secure Payments
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.

Keep your valuables safe on the go!

  • Keeps your items close & secure
  • Quick access to your valuables
  • Plenty of space for easy organisation
  • Light weight and easy access
KEEP YOUR VALUABLE ESSENTIALS SAFE!

Personal Flex Bag is your daily wearing bag, with specially designed compartments from innovative materials. It provides a high level of functionality and comfort without sacrificing quality or style!

undefined

 

ERGONOMIC DESIGN

Ergonomic design allows the weight to distribute evenly and stay securely next to your body without any discomfort. Whatever you do – walk, sit, stand up, gently lean, etc. – the Flex Bag will not slip to one side although it’s strapped only to one shoulder.

Wear it over or under your jacket

With its basic and minimalist design, It will surely become your everyday flex bag for you to wear over or underneath your jacket.

undefined

Different body sizes?

It is designed to be slim fit – in other words, to follow the outline of the body thanks to the adjustable shoulder strap, and to allow the wearer’s easy access to the bag’s interior and wear it comfortably 

undefined
Stays slim even when it’s full

Thanks to its well-thought-out design, the Flex Bag can receive a lot of gadgets, documents, and personal belongings: it will still look elegant & slim.

 

Lots of practical storage space

Our Flex Bag has specially designed and well-organized compartments for smartphones, keys, wallets, headphones, and more.

undefined

 

MORE TO KNOW ABOUT

  • For both men and women with adjustable straps to fit any size. 
  • Strong durable zipper, and comfortable water-resistance fabric.
  • Dimensions (H*W) - 32*23*cm (12.59*9.05 in)
  • Adjustable shoulder strap.
  • iPad Mini perfectly fits in the bag.
  • Material:Oxfordspinning

 

undefined