Solar Powered LED Cantilever Patio Umbrella🎁Free Gift Only Today

$30.21
class SpzCustomDiscountFlashsale extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.getFlashSaleApi = "\/api\/storefront\/promotion\/flashsale\/display_setting\/product_setting"; this.timer = null; this.variantId = "bcb81867-3308-454e-a7c9-c77e0e2b77ff"; // 促销活动数据 this.flashsaleData = {} } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(); this.viewport_ = this.getViewport(); // 挂载bind函数 解决this指向问题 this.render = this.render.bind(this); this.resize = this.resize.bind(this); this.switchVariant = this.switchVariant.bind(this); } mountCallback() { // 获取数据 this.getData(); this.element.onclick = (e) => { const cur = this.win.document.querySelector(".app_discount_flashsale_desc"); const setting = this.flashsaleData.product_setting; const landingUrl = `/promotions/discount-default/${this.flashsaleData.discount_info.id}`; const finalUrl = appDiscountUtils.resolveDiscountHref(setting, landingUrl); if (finalUrl && appDiscountUtils.inProductBody(this.element) && e.target !== cur) { this.win.open(finalUrl, '_blank', 'noopener'); } } // 绑定 this.viewport_.onResize(this.resize); // 监听子款式切换,重新渲染 this.win.document.addEventListener('dj.variantChange', this.switchVariant); } unmountCallback() { // 解绑 this.viewport_.removeResize(this.resize); this.win.document.removeEventListener('dj.variantChange', this.switchVariant); // 清除定时器 if (this.timer) { clearTimeout(this.timer); this.timer = null; } } resize() { if (this.timer) { clearTimeout(this.timer) this.timer = null; } this.timer = setTimeout(() => { this.render(); }, 200) } switchVariant(event) { const variant = event.detail.selected; if (variant.product_id == '0f995143-68a3-440b-9a20-47dd93a5477f' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "0f995143-68a3-440b-9a20-47dd93a5477f", product_type: "default", variant_id: this.variantId } this.flashsaleData = {}; this.win.fetch(this.getFlashSaleApi, { method: "POST", body: JSON.stringify(reqBody), headers: { "Content-Type": "application/json" } }).then(async (response) => { if (response.ok) { this.flashsaleData = await response.json(); this.render(); } else { this.clearDom(); } }).catch(err => { this.clearDom(); }); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } render() { this.templates_ .findAndRenderTemplate(this.element, { isMobile: appDiscountUtils.judgeMobile(), isRTL: appDiscountUtils.judgeRTL(), inProductDetail: appDiscountUtils.inProductBody(this.element), flashsaleData: this.flashsaleData, image_domain: this.win.SHOPLAZZA.image_domain, }) .then((el) => { this.clearDom(); this.element.appendChild(el); }) } } SPZ.defineElement('spz-custom-discount-flashsale', SpzCustomDiscountFlashsale);
Color:  Beige
Size:  10 Feet
Style:  Square
Quantity
people are viewing this right now
Shipping
/** @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);

Description

🎁Free Gift Only Today:

Umbrella weight base + 3 years Warranty 

Your first choice of high cost performance Grocery Store

  • All products are shipped from USA!
  • Worldwide Express Shipping Available!
  • SSL Certificates For 100% Security!
  •  Shipping Worldwide! 

Solar Powered LED Cantilever Patio Umbrella

Installation instructions

☂『EASY TO ASSEMBLE & OPERATE』
if u buy it now,u will get a umbrella base stand free!(Only today is free)

With patio umbrella you can enjoy your outdoor life no matter it is night,raining or on sunshine days. Start your wonderful outdoor life!

  • ☂『SOLAR LED LIGHTS BRIGHTEN YOUR NIGHT』 - 8 heavy-duty ribs with LED light tubes and one central light provides perfect lighting in the day and night for your friends and family, which creats a relaxing and romantic atmosphere in the evening. The solar lighting system does not need power cord, a top-mounted solar panel provides efficient and effective energy.
  • ☂『360 DEGREE ROTATION & SMOOTH TILTING』 - The outdoor patio umbrella can be rotated 360° horizontally by simply stepping on the foot pedal and twisting the pole. In addition, the super smooth adjustment tilting system can change the angle of the canopy and keep the area protected throughout the day.
  • ☂『DURABLE CANOPY & EXCELLENT STABILITY』 - The PU coated canopy of the offset patio umbrella is made of premium solution dyed fabric for fade, water and UV protection, we proudly provide 2 years fade-resistant canopy warranty. The offset umbrella pole and ribs are made of extra-thick aluminum which is lighter but make the umbrella more stable and wind-resistant.

 

A good umbrella has passed all the tests

  • Water test√
  • Fade test√
  • Wind test√
  • Installation:Easy
  • Rainy days test√
  • Stability test:√
  • Stress test:√
  • Broke box test:√

SPECIFICATIONS:

 

Umbrella Type: Offset umbrella with crank, vertical tilt and cross base

Canopy Diameter: 10 ft - Shade up to 79 square ft.

Overall Height: 8ft.

Ribs: 8 steel ribs.

Number of led bulbs:32.

Cross Base: Steel in anodized finish.

Lift: Crank.

Gross Weight: 33lbs.

Package Size: 77.2x 11.81 x 5.51

ATTN: The umbrella comes with a cross base. It needs to be secured with a weighted base , or other weights like bricks and sandbags. You may also bolt it down to the ground.

 

Package Included:

1 * Cantilever umbrella with solar lights

1 * Umbrella cross base

1 * Umbrella cover

1 * Umbrella user manual

1 * Installation tools

1*umbrella base stand(Only today is free)

 

OUR GUARANTEE

📦 Insured Worldwide Shipping: Each order includes real-time tracking details and insurance coverage in the unlikely event that a package gets lost or stolen in transit.

💰 Money Back Guarantee: If your items arrive damaged or becomes defective within 30 days of normal usage, we will gladly issue out a replacement or refund.

🔒 Safe & Secure Checkouts: We use state-of-the-art SSL Secure encryption to keep your personal and financial information 100% protected.