Rose  Scented Jewel
Rose  Scented Jewel
Rose  Scented Jewel
Rose  Scented Jewel
Rose  Scented Jewel
Rose  Scented Jewel

Rose Scented Jewel

Price

$0.00 $7.99
Save 0%
9 sold

buy more save more

Please select a buy more save more
const addToCartText = "Add to cart"; SPZCore.Dom.waitForChild( document.body, () => !!document.querySelector('[data-click="addToCart"], [role="addToCart"]'), () => { const addToCartEle = window.SPZCore.Dom.scopedQuerySelector( document.body, '[data-click="addToCart"], [role="addToCart"]' ); const getContentChild_ = function(el) { if(el) { const childs = el.childNodes; for (let i = childs.length - 1; i >= 0; i--) { const child = childs[i]; if (child.getAttribute && child.getAttribute('role') === 'content') { return child; } } } return; } const changeAddToCartText = function(text) { const contentEle = getContentChild_(addToCartEle); if(contentEle){ const addToCartChilds = addToCartEle.childNodes; for (let i = addToCartChilds.length - 1; i >= 0; i--) { const child = addToCartChilds[i]; if (typeof child.getAttribute !== 'function' || (child.getAttribute('role') !== 'content' && child.getAttribute('role') !== 'loading')) { addToCartEle.removeChild(child); } } }else{ addToCartEle.innerHTML = addToCartText; } } changeAddToCartText(addToCartText); } );
const SITE = (window.C_SETTINGS && window.C_SETTINGS.routes && window.C_SETTINGS.routes.root) || ''; const PRODUCT_PLAN_INFO_URL = `${SITE}/api/storefront/selling_plans/product_plan_info/:product_id`; const { i18nProductDetail, i18nProduct } = JSON.parse( document.querySelector('#i18n-json').textContent ); const currentI18nProduct = i18nProductDetail || i18nProduct; class SpzCustomSubscription extends SPZ.BaseElement { constructor(element) { super(element); this.productPlanInfo = null; this.cycle = null; this.optionid_ = null; this.form_ = null; this.variantId_ = null; this.variantChangeData = null; this.cycleList = [1,2]; this.productId = this.element.getAttribute('productId'); this.initialCycle = this.element.getAttribute('cycles'); this.noPlanShowTitle = JSON.parse(this.element.getAttribute('noPlanShowTitle')); } get initIsCycleSubscribe() { if(this.initialCycle == 2) { return true; } if(this.initialCycle == 1) { return false; } return null; } get productInfo() { let pJson = document.querySelector('#product-json'); if (pJson) { return JSON.parse(pJson.innerHTML); }else if(typeof $ === 'function' && typeof $(document).data === 'function') { return $(document).data('djproduct'); } return null; } get hasSKU() { if(this.productPlanInfo?.sku) { return true; } return false } get hasSPU() { if(this.productPlanInfo?.spu) { return true; } return false } get originalPrice() { if(!this.variantChangeData?.selected?.price){ return ''; }; return this.variantChangeData.selected.price; } get defaultPlanData() { if (!this.productPlanInfo) { return {}; } let planInfo = {}; if(this.hasSPU && this.productPlanInfo?.spu[this.productId]) { planInfo = this.productPlanInfo.spu[this.productId]; }else if(this.hasSKU && this.productPlanInfo?.sku[this.variantId_]) { planInfo = this.productPlanInfo.sku[this.variantId_]; } return planInfo; } get defaultCycle_() { if(!this.defaultPlanData) { return null; } return this.defaultPlanData.cycles; } get defaultOption_() { if(!this.defaultPlanData) { return null; } return this.defaultPlanData.selected_selling_plan_option_id; } get isCycleSubscribe() { if(this.cycle === 2) { return true; } if(this.cycle === 1) { return false; } return null; } get currentOption_() { if(!this.isCycleSubscribe){ return null; } if(!this.optionId_) { return this.defaultOption_; } return this.optionId_; } get currentPlanData() { if(!this.defaultPlanData) { return {}; } let result = Object.assign({},this.defaultPlanData); if(result.selected_selling_plan_option_id !== this.optionId_) { result.selected_selling_plan_option_id = this.optionId_; result.selling_plan_options = result.selling_plan_options.map(item => { return { ...item, selected_enabled: item.selling_plan_option_id === result.selected_selling_plan_option_id } }) } if (result.cycles !== this.cycle) { result.cycles = this.cycle; } return result; } fetchData_(product_id) { return SPZServices.xhrFor(this.win).fetchJson(PRODUCT_PLAN_INFO_URL.replace(/:product_id/gi, product_id)) .then((data) => { this.productPlanInfo = data; } ); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } mountCallback() { this.getElement_(); Promise.all([this.productInfoReady_(), this.fetchData_(this.productId)]).then(() => { this.initVariantId(); this.init_(); this.initActions_(); if(!!this.variantId_) { this.track_('product_view', this.initIsCycleSubscribe); } this.showPlan_(true); if(!!this.variantId_){ this.changeBuyNowText(); this.dispatchSubScribeIdChange_(); } }); } productInfoReady_() { if(this.productInfo) { return Promise.resolve(); } SPZUtils.Event.listen(document,'load',()=> { if(this.productInfo) { return Promise.resolve(); }else{ return Promise.reject(); } }) } getElement_() { this.titleEle = SPZCore.Dom.scopedQuerySelector(document.body, '[role="plugin-subscription-title"]'); this.noPlanTipsEle = SPZCore.Dom.scopedQuerySelector(this.element, '[role="plugin-subscription-plan-tips"]'); this.noPaymentTipsEle = SPZCore.Dom.scopedQuerySelector(this.element, '[role="plugin-subscription-payment-tips"]'); this.renderEle = SPZCore.Dom.scopedQuerySelector(this.element, '[role="plugin-subscription-content-render"]'); this.productEle = SPZCore.Dom.scopedQuerySelector(document.body, '[data-section-type="product"], [data-section-type="product_detail"], [data-section-type="product_club"]') this.buyNowEle = SPZCore.Dom.scopedQuerySelector(this.productEle, '[data-click="submit"], [role="buyNow"]'); this.addToCartEle = SPZCore.Dom.scopedQuerySelector(this.productEle, '[data-click="addToCart"], [role="addToCart"]'); } init_() { this.cycle = this.defaultCycle_; this.optionId_ = this.defaultOption_; this.variantChangeData = this.productInfo; } initVariantId() { const formData = this.getFormData(); if (formData) { if(formData['variant_id'] && formData['variant_id'] !== 'undefined') { this.variantId_ = formData['variant_id']; }else{ this.variantId_ = '' } }else if(this.productInfo?.selected?.id){ this.variantId_ = this.productInfo.selected.id }else{ this.variantId_ = '' } } getFormData() { this.form_ = this.element.closest('form'); if(!this.form_) { return null; } const result = { quantity: 1, }; const formData = new FormData(this.form_); const formDataKey = formData.keys(); for (const key of formDataKey) { result[key] = formData.get(key); } return result; } showPlan_(rerender = false) { if (!this.variantId_) { return this.hide_(); } if (rerender) { this.renderPlan_(); } } renderPlan_() { if (Object.keys(this.currentPlanData).length === 0) { this.showNoPlanTips_(true); this.showNoPaymentTips_(false); this.showRender_(false); if(this.noPlanShowTitle) { this.showTitle_(true); }else{ this.showTitle_(false); } return; } this.showRender_(true); this.showNoPaymentTips_(true); this.showTitle_(true); this.showNoPlanTips_(false); const selectedPlanItem = this.currentPlanData.selling_plan_options.filter((item) => item.selected_enabled === true)[0]; SPZ.whenApiDefined(this.renderEle).then((apis) => { apis.render({ ...this.currentPlanData, originalPrice: this.originalPrice, selectedPlanItem }, false); }); } showTitle_(visible = true) { if(this.titleEle) { this.titleEle.toggleAttribute('hide', !visible); } } showNoPlanTips_(visible = true) { if(this.noPlanTipsEle) { this.noPlanTipsEle.toggleAttribute('hide', !visible); } } showNoPaymentTips_(visible = true) { if(this.noPaymentTipsEle){ this.noPaymentTipsEle.toggleAttribute('hide', !visible); } } showRender_(visible = true) { if(this.renderEle){ this.renderEle.toggleAttribute('hide', !visible); } } hide_() { this.showTitle_(false); this.element.toggleAttribute('hide', true); } show_() { this.showTitle_(true); this.element.toggleAttribute('hide', false); } dispatchSubScribeIdChange_() { this.dispatchEvent_('payment_ec_refresh', { sources: 'subscription' }); } dispatchEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data, { bubbles: true }); this.element.dispatchEvent(event); } initActions_() { this.onVariantChange_(); this.element.addEventListener('change', (e) => { if(e.target?.role === 'plugin-subscription-option-selector') { this.onOptionChange_(e.target.value); } if(e.target?.role === 'plugin-subscription-option-card') { this.changeCardOption_(e.target.value); } }); this.registerAction( 'changeCycle', (invocation) => this.onCycleChange_(invocation.args?.selectedOptions[0]) ); this.registerAction('subscribeChange', (invocation) => { this.dispatchSubScribeIdChange_(invocation.args); }); this.addToCartEle.addEventListener('click', () => { this.track_('add_to_cart'); }); this.buyNowEle.addEventListener('click', () => { this.track_('add_to_cart'); }); this.submitInterrapt(); } onVariantChange_() { SPZUtils.Event.listen(document, 'dj.variantChange', (e) => { if(this.variantId_ === e.detail?.selected?.id) { return; } if(!this.variantId_ && e.detail?.selected?.id) { this.show_(); } this.variantId_ = e.detail.selected?.id; this.optionId_ = this.defaultOption_; this.cycle = this.defaultCycle_; this.variantChangeData = Object.assign(this.variantChangeData, e.detail); this.changeBuyNowText(); this.changeAddToCartText(e.detail); this.showPlan_(true); this.track_('product_view'); }); } onOptionChange_(op, render = true) { this.optionId_ = op; this.changeBuyNowText(); if(render) { this.showPlan_(true); } } onCycleChange_(val, render = true) { const cy = Number(val); if (this.cycleList.includes(cy)) { this.cycle = cy; this.changeBuyNowText(); if(render) { this.showPlan_(true); } } } submitInterrapt() { if(!this.form_) { window.djInterceptors.request.use((config) => { if(config?.url === '/api/cart') { return this.addToCartRequestData_(config); } if(config?.url === '/api/checkout/order') { return this.checkoutOrderRequestData_(config); } }) } } addToCartRequestData_(config) { const cartConfig = { ...config }; const hasProductId = cartConfig?.body?.product_id; const hasVariantId = cartConfig?.body?.variant_id; if(cartConfig?.method == 'POST' && hasProductId && hasVariantId) { if (!cartConfig.body.properties) { cartConfig.body.properties = {}; } if(this.currentOption_) { cartConfig.body.properties = { ...cartConfig.body.properties, _selling_plan_option_id: this.currentOption_ } } } return cartConfig; } checkoutOrderRequestData_(config) { const orderConfig = { ...config }; const hasVariantId = orderConfig?.body?.line_items[0]?.variant_id; if(orderConfig?.method == 'POST' && hasVariantId) { if (!orderConfig.body.line_items[0].properties) { orderConfig.body.line_items[0].properties = {}; } if(this.currentOption_) { orderConfig.body.line_items[0].properties = { ...orderConfig.body.line_items[0].properties, _selling_plan_option_id: this.currentOption_ } } } return orderConfig; } changeCardOption_(val) { const oneTimeInputEle = document.querySelector('.one-time [role=plugin-subscription-option-card]'); if(val == 0) { this.onCycleChange_(1, true); oneTimeInputEle.toggleAttribute('disabled',true); return; } oneTimeInputEle.toggleAttribute('disabled',false); this.onCycleChange_(2, false); this.onOptionChange_(val, true); } getContentChild_(el) { if(el) { const childs = el.childNodes; for (let i = childs.length - 1; i >= 0; i--) { const child = childs[i]; if (child.getAttribute && child.getAttribute('role') === 'content') { return child; } } } return; } changeBuyNowText() { let buyNowText = currentI18nProduct.buy_now; let subscribeText = "Subscribe"; const contentEle = this.getContentChild_(this.buyNowEle); // 1. 有role="content"的元素,替换role="content"的元素 if(contentEle) { contentEle.innerHTML = this.isCycleSubscribe ? subscribeText : buyNowText; }else{ // 2. 不存在role="content"的元素,直接替换文本 this.buyNowEle.innerHTML = this.isCycleSubscribe ? this.buyNowEle.innerHTML.replace(buyNowText, subscribeText) : this.buyNowEle.innerHTML.replace(subscribeText, buyNowText); } } changeAddToCartText(data) { const contentEle = this.getContentChild_(this.addToCartEle); // 1. 有role="content"的元素,移除role不等于content和loading的元素 if(contentEle) { const addToCartChilds = this.addToCartEle.childNodes; for (let i = addToCartChilds.length - 1; i >= 0; i--) { const child = addToCartChilds[i]; // 移除元素(role不等于content和loading) if (typeof child.getAttribute !== 'function' || (child.getAttribute('role') !== 'content' && child.getAttribute('role') !== 'loading')) { this.addToCartEle.removeChild(child); } } }else{ // 2. 不存在role="content"的元素,直接替换文本 const addToCartText = this.getAddToCartText_(data); this.addToCartEle.innerHTML = addToCartText; } } getAddToCartText_(data) { const selected = data?.selected; const productAvailable = data?.product?.available; const variantAvailable = data?.selected?.available; const variantId = data?.selected?.id; let text = currentI18nProduct.add_to_cart; if (!productAvailable) { text = currentI18nProduct.sold_out; } if (selected && !variantId) { text = currentI18nProduct.unavailable; } if (productAvailable && selected && variantId && !variantAvailable) { text = currentI18nProduct.sold_out; } return text; } track_(eventName, optionSelected = this.isCycleSubscribe) { if(window && window.sa && typeof window.sa.registerExtraInfo === 'function') { window.sa.registerExtraInfo(eventName, { function_name: "product_subscription", module: "apps", option_selected: optionSelected }, optionSelected === null); } } } SPZ.defineElement('spz-custom-subscription', SpzCustomSubscription);
Purchase options:
One-Time Purchase
$7.99
Subscribe
$7.99
Delivery frequency
Skip ,modify or cancel any time

Quantity

Imagine your garden blooming with beautiful roses, exuding an intoxicating fragrance that captivates your senses. Now, you can easily make this dream come true with "Scented Jewel" rose seeds. We offer not just a flower, but a delightful experience of beauty.

Name: Scented Jew
Plant Family: Floribunda Rose
Color: Purple with white
Fragrance: Strong
USDA Hardiness Zone: 6-10
Bloom Size: 3”
Mature Size: 32”

"Scented Jewel" rose seeds are meticulously selected premium varieties designed for those who seek a unique and enchanting atmosphere in their gardens. These seeds will not only cultivate gorgeous roses in your garden but also infuse your space with a magical aroma, immersing you in a sea of flowers.

Each rose is like a dazzling gem, blooming in your garden, eliciting endless admiration and joy. Moreover, compared to other rose varieties, "Scented Jewel" rose seeds excel in fragrance. The captivating scents they emit will fill your entire garden, enchanting your family and visitors. Whether it's a sunny morning, a peaceful night, or a romantic moment, these fragrances will provide you with unforgettable experiences.

Not only that, but "Scented Jewel" rose seeds also possess disease resistance and pest resilience, ensuring your plants thrive with health and vigor. Whether you're a gardening novice or an experienced enthusiast, these seeds will bring you a pleasurable planting experience.

Start planning your dream garden now! By choosing "Scented Jewel" rose seeds, you'll create a unique floral paradise, brimming with beauty and fragrance. We offer high-quality seeds that guarantee optimal growth and blooming.

Don't wait any longer. Purchase "Scented Jewel" rose seeds today and infuse your life with beauty and fragrance. Let these flowers become the stars of your home, bringing you joy and pride. Experience the magic of "Scented Jewel" rose seeds!