Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack
Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack

Travel Commuter Oil Waxed Canvas Pilot Tote Bag Can Backpack

Color
Please select a color
Size
Please select a size
742 sold
Price
$66.69
$36.69
Save  45%
Quantity
Free shipping on order $79
Fast delivery
Sustainably made
Secure payments
SKU: xtjx52022081115-8-i
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);

SKU:xtjx52022081115



Inspired by the 1950s


Flyer's helmet bag issued by JUN pilots


Different periods of flight helmet packs have different characteristics


After World War II, helmet bags were gradually used


Nylon material similar to a flight jacket


The material is made of more durable and wear-resistant oil wax canvas


At the same time increased the double shoulder method


Presenting the style of retro fusion trend


Equipment carrying bag for personal items


More suitable for daily travel