{ "name": "woocommerce/product-button", "version": "1.0.0", "title": "Add to Cart Button", "description": "Display a call to action button which either adds the product to the cart, or links to the product page.", "category": "woocommerce-product-elements", "keywords": [ "WooCommerce" ], "usesContext": [ "query", "queryId", "postId" ], "textdomain": "woocommerce", "attributes": { "productId": { "type": "number", "default": 0 }, "textAlign": { "type": "string", "default": "" }, "width": { "type": "number" }, "isDescendentOfSingleProductBlock": { "type": "boolean", "default": false }, "isDescendentOfQueryLoop": { "type": "boolean", "default": false } }, "supports": { "align": [ "wide", "full" ], "color": { "background": false, "link": true }, "interactivity": true, "html": false, "typography": { "fontSize": true, "lineHeight": true } }, "ancestor": [ "woocommerce/all-products", "woocommerce/single-product", "core/post-template", "woocommerce/product-template" ], "styles": [ { "name": "fill", "label": "Fill", "isDefault": true }, { "name": "outline", "label": "Outline" } ], "viewScript": [ "wc-product-button-interactivity-frontend" ], "apiVersion": 3, "$schema": "https://schemas.wp.org/trunk/block.json" }'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); const index = require('./index-f1e4d53b.js'); const fetch = require('./fetch-2dba325c.js'); const addQueryArgs = require('./add-query-args-17c551b6.js'); const scSubscriptionPaymentCss = ":host{display:block;position:relative}.subscription-payment{display:grid;gap:0.5em}"; const ScSubscriptionPayment = class { constructor(hostRef) { index.registerInstance(this, hostRef); this.subscriptionId = undefined; this.backUrl = undefined; this.successUrl = undefined; this.subscription = undefined; this.paymentMethods = []; this.customerIds = []; this.manualPaymentMethods = undefined; this.loading = undefined; this.busy = undefined; this.error = undefined; } componentWillLoad() { this.fetchItems(); } async fetchItems() { try { this.loading = true; await Promise.all([this.fetchSubscription(), this.fetchPaymentMethods()]); } catch (e) { console.error(e); this.error = (e === null || e === void 0 ? void 0 : e.message) || wp.i18n.__('Something went wrong', 'surecart'); } finally { this.loading = false; } } async fetchSubscription() { if (!this.subscriptionId) return; this.subscription = (await fetch.apiFetch({ path: addQueryArgs.addQueryArgs(`/surecart/v1/subscriptions/${this.subscriptionId}`, { expand: ['price', 'price.product', 'current_period', 'product'], }), })); } async fetchPaymentMethods() { var _a, _b; this.paymentMethods = (await fetch.apiFetch({ path: addQueryArgs.addQueryArgs(`/surecart/v1/payment_methods`, { expand: ['card', 'customer', 'billing_agreement', 'paypal_account', 'payment_instrument', 'bank_account'], customer_ids: this.customerIds, reusable: true, ...(((_a = this.subscription) === null || _a === void 0 ? void 0 : _a.live_mode) !== null ? { live_mode: this.subscription.live_mode } : {}), }), })); this.manualPaymentMethods = (await fetch.apiFetch({ path: addQueryArgs.addQueryArgs(`surecart/v1/manual_payment_methods`, { customer_ids: this.customerIds, reusable: true, live_mode: (_b = this.subscription) === null || _b === void 0 ? void 0 : _b.live_mode, }), })); } async handleSubmit(e) { var _a; const { payment_method } = await e.target.getFormJson(); const isManualPaymentMethod = (this.manualPaymentMethods || []).some(method => method.id === payment_method); try { this.error = ''; this.busy = true; await fetch.apiFetch({ path: `/surecart/v1/subscriptions/${(_a = this.subscription) === null || _a === void 0 ? void 0 : _a.id}`, method: 'PATCH', data: { ...(!isManualPaymentMethod ? { payment_method, manual_payment: false } : { manual_payment_method: payment_method, manual_payment: true }), }, }); if (this.successUrl) { window.location.assign(this.successUrl); } else { this.busy = false; } } catch (e) { this.error = (e === null || e === void 0 ? void 0 : e.message) || wp.i18n.__('Something went wrong', 'surecart'); this.busy = false; } } renderLoading() { return (index.h(index.Fragment, null, index.h("sc-choice", { name: "loading", disabled: true }, index.h("sc-skeleton", { style: { width: '60px', display: 'inline-block' } }), index.h("sc-skeleton", { style: { width: '80px', display: 'inline-block' }, slot: "price" }), index.h("sc-skeleton", { style: { width: '120px', display: 'inline-block' }, slot: "description" })), index.h("sc-button", { type: "primary", full: true, submit: true, loading: true, busy: true }), !!this.backUrl && index.h("sc-button", { href: this.backUrl, full: true, loading: true, busy: true }))); } renderContent() { var _a, _b, _c, _d, _e, _f, _g, _h; if (this.loading) { return this.renderLoading(); } const modeMethods = this.paymentMethods.filter(method => { var _a; return (method === null || method === void 0 ? void 0 : method.live_mode) === ((_a = this.subscription) === null || _a === void 0 ? void 0 : _a.live_mode); }); const hasNoPaymentMethods = (!((_a = this.paymentMethods) === null || _a === void 0 ? void 0 : _a.length) && !((_b = this.manualPaymentMethods) === null || _b === void 0 ? void 0 : _b.length)) || (((_c = this.paymentMethods) === null || _c === void 0 ? void 0 : _c.length) && !(modeMethods === null || modeMethods === void 0 ? void 0 : modeMethods.length)); const currentPaymentMethodId = ((_d = this.subscription) === null || _d === void 0 ? void 0 : _d.manual_payment) ? (_e = this.subscription) === null || _e === void 0 ? void 0 : _e.manual_payment_method : ((_g = (_f = this.subscription) === null || _f === void 0 ? void 0 : _f.payment_method) === null || _g === void 0 ? void 0 : _g.id) || ((_h = this.subscription) === null || _h === void 0 ? void 0 : _h.payment_method); if (hasNoPaymentMethods) { return (index.h(index.Fragment, null, index.h("sc-empty", { icon: "credit-card" }, wp.i18n.__('You have no saved payment methods.', 'surecart')), !!this.backUrl && (index.h("sc-button", { href: this.backUrl, full: true }, wp.i18n.__('Go Back', 'surecart'))))); } return (index.h(index.Fragment, null, index.h("sc-choices", null, index.h("div", null, (this.paymentMethods || []).map(method => { var _a; if ((method === null || method === void 0 ? void 0 : method.live_mode) !== ((_a = this === null || this === void 0 ? void 0 : this.subscription) === null || _a === void 0 ? void 0 : _a.live_mode)) return null; return (index.h("sc-choice", { checked: currentPaymentMethodId === (method === null || method === void 0 ? void 0 : method.id), name: "payment_method", value: method === null || method === void 0 ? void 0 : method.id }, index.h("sc-payment-method", { paymentMethod: method, full: true }))); }), (this.manualPaymentMethods || []).map(method => { return (index.h("sc-choice", { checked: currentPaymentMethodId === (method === null || method === void 0 ? void 0 : method.id), name: "payment_method", value: method === null || method === void 0 ? void 0 : method.id }, index.h("sc-manual-payment-method", { paymentMethod: method, showDescription: true }))); }))), index.h("sc-button", { type: "primary", full: true, submit: true, loading: this.loading || this.busy, disabled: this.loading || this.busy }, wp.i18n.__('Update', 'surecart')), !!this.backUrl && (index.h("sc-button", { href: this.backUrl, full: true, loading: this.loading || this.busy, disabled: this.loading || this.busy }, wp.i18n.__('Go Back', 'surecart'))))); } render() { return (index.h("sc-dashboard-module", { heading: wp.i18n.__('Select a payment method', 'surecart'), class: "subscription-payment", error: this.error }, index.h("sc-form", { onScFormSubmit: e => this.handleSubmit(e) }, index.h("sc-card", null, this.renderContent())), this.busy && index.h("sc-block-ui", null))); } }; ScSubscriptionPayment.style = scSubscriptionPaymentCss; exports.sc_subscription_payment = ScSubscriptionPayment; //# sourceMappingURL=sc-subscription-payment.cjs.entry.js.map logistic blog – Page 3 – Decisive Shipping Services LLC – Dubai

Decisive Shipping Services LLC – Dubai

Call us : +971 50 3363075

Email us : info@decisive-shipping.com

Opening time : 9am to 6pm (Sun-Thu)

Welcome to Decisive Shipping Services LLC

logistic blog

Gateway Terminals India launches skills development programme

Gateway Terminals India launches skills development programme

[ad_1] President,Adani Ports & Special Economic Zone Completing 4 Decades of experience, Capt. Sandeep Mehta is one of the foremost stalwarts of the Indian Maritime industry. During this tenure, Capt Mehta has acquired considerable expertise in the various aspects of the Port Management, Shipping, Logistics and Infrastructure business. Capt Mehta’s areas of responsibility have encompassed […]

Gateway Terminals India launches skills development programme Read More »

Technology advances showcased in TMS tanker conference session – Latest Maritime & Shipping News Online – The Maritime Standard

Technology advances showcased in TMS tanker conference session – Latest Maritime & Shipping News Online – The Maritime Standard

[ad_1] President,Adani Ports & Special Economic Zone Completing 4 Decades of experience, Capt. Sandeep Mehta is one of the foremost stalwarts of the Indian Maritime industry. During this tenure, Capt Mehta has acquired considerable expertise in the various aspects of the Port Management, Shipping, Logistics and Infrastructure business. Capt Mehta’s areas of responsibility have encompassed

Technology advances showcased in TMS tanker conference session – Latest Maritime & Shipping News Online – The Maritime Standard Read More »

AD Ports aims for better gender balance – Latest Maritime & Shipping News Online – The Maritime Standard AD Ports aims for better gender balance

AD Ports aims for better gender balance – Latest Maritime & Shipping News Online – The Maritime Standard AD Ports aims for better gender balance

[ad_1] President,Adani Ports & Special Economic Zone Completing 4 Decades of experience, Capt. Sandeep Mehta is one of the foremost stalwarts of the Indian Maritime industry. During this tenure, Capt Mehta has acquired considerable expertise in the various aspects of the Port Management, Shipping, Logistics and Infrastructure business. Capt Mehta’s areas of responsibility have encompassed

AD Ports aims for better gender balance – Latest Maritime & Shipping News Online – The Maritime Standard AD Ports aims for better gender balance Read More »

DP World to target Africa with investment joint venture – Latest Maritime & Shipping News Online – The Maritime Standard DP World to target Africa with investment joint venture

DP World to target Africa with investment joint venture – Latest Maritime & Shipping News Online – The Maritime Standard DP World to target Africa with investment joint venture

[ad_1] President,Adani Ports & Special Economic Zone Completing 4 Decades of experience, Capt. Sandeep Mehta is one of the foremost stalwarts of the Indian Maritime industry. During this tenure, Capt Mehta has acquired considerable expertise in the various aspects of the Port Management, Shipping, Logistics and Infrastructure business. Capt Mehta’s areas of responsibility have encompassed

DP World to target Africa with investment joint venture – Latest Maritime & Shipping News Online – The Maritime Standard DP World to target Africa with investment joint venture Read More »

Drydocks World FPSO conversion begins – Latest Maritime & Shipping News Online – The Maritime Standard Drydocks World FPSO conversion begins

Drydocks World FPSO conversion begins – Latest Maritime & Shipping News Online – The Maritime Standard Drydocks World FPSO conversion begins

[ad_1] President,Adani Ports & Special Economic Zone Completing 4 Decades of experience, Capt. Sandeep Mehta is one of the foremost stalwarts of the Indian Maritime industry. During this tenure, Capt Mehta has acquired considerable expertise in the various aspects of the Port Management, Shipping, Logistics and Infrastructure business. Capt Mehta’s areas of responsibility have encompassed

Drydocks World FPSO conversion begins – Latest Maritime & Shipping News Online – The Maritime Standard Drydocks World FPSO conversion begins Read More »

Jeddah container terminal expansion gets underway – Latest Maritime & Shipping News Online – The Maritime Standard Jeddah container terminal expansion gets underway

Jeddah container terminal expansion gets underway – Latest Maritime & Shipping News Online – The Maritime Standard Jeddah container terminal expansion gets underway

[ad_1] President,Adani Ports & Special Economic Zone Completing 4 Decades of experience, Capt. Sandeep Mehta is one of the foremost stalwarts of the Indian Maritime industry. During this tenure, Capt Mehta has acquired considerable expertise in the various aspects of the Port Management, Shipping, Logistics and Infrastructure business. Capt Mehta’s areas of responsibility have encompassed

Jeddah container terminal expansion gets underway – Latest Maritime & Shipping News Online – The Maritime Standard Jeddah container terminal expansion gets underway Read More »

Hamad port gets 5G connectivity – Latest Maritime & Shipping News Online – The Maritime Standard Hamad port gets 5G connectivity

Hamad port gets 5G connectivity – Latest Maritime & Shipping News Online – The Maritime Standard Hamad port gets 5G connectivity

[ad_1] President,Adani Ports & Special Economic Zone Completing 4 Decades of experience, Capt. Sandeep Mehta is one of the foremost stalwarts of the Indian Maritime industry. During this tenure, Capt Mehta has acquired considerable expertise in the various aspects of the Port Management, Shipping, Logistics and Infrastructure business. Capt Mehta’s areas of responsibility have encompassed

Hamad port gets 5G connectivity – Latest Maritime & Shipping News Online – The Maritime Standard Hamad port gets 5G connectivity Read More »

REQUEST A QUICK QUOTE