@foxy.io/elements 1.30.0-beta.5 → 1.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/foxy-cart-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/elements/public/CartForm/CartForm.js +12 -14
- package/dist/elements/public/CartForm/CartForm.js.map +1 -1
- package/dist/elements/public/ItemForm/ItemForm.js +1 -1
- package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
- package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +1 -0
- package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
- package/dist/elements/public/Transaction/Transaction.d.ts +2 -0
- package/dist/elements/public/Transaction/Transaction.js +17 -8
- package/dist/elements/public/Transaction/Transaction.js.map +1 -1
- package/package.json +13 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CartForm.js","sourceRoot":"","sources":["../../../../src/elements/public/CartForm/CartForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Option } from '../QueryBuilder/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { BooleanSelector, getResourceId } from '@foxy.io/sdk/core';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { Type } from '../QueryBuilder/types';\nimport { html } from 'lit-html';\n\nconst NS = 'cart-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Form element for creating or editing carts (`fx:cart`).\n *\n * @element foxy-cart-form\n * @since 1.21.0\n */\nexport class CartForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n paymentCardEmbedUrl: { attribute: 'payment-card-embed-url' },\n itemCategories: { attribute: 'item-categories' },\n templateSets: { attribute: 'template-sets' },\n localeCodes: { attribute: 'locale-codes' },\n languages: {},\n customers: {},\n countries: {},\n regions: {},\n coupons: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ billing_first_name: v }) => !v || v.length <= 50 || 'billing-first-name:v8n_too_long',\n ({ billing_last_name: v }) => !v || v.length <= 50 || 'billing-last-name:v8n_too_long',\n ({ billing_state: v }) => !v || v.length <= 50 || 'billing-state:v8n_too_long',\n ({ billing_city: v }) => !v || v.length <= 50 || 'billing-city:v8n_too_long',\n ({ billing_phone: v }) => !v || v.length <= 50 || 'billing-phone:v8n_too_long',\n ({ billing_company: v }) => !v || v.length <= 50 || 'billing-company:v8n_too_long',\n ({ billing_address2: v }) => !v || v.length <= 100 || 'billing-address-two:v8n_too_long',\n ({ billing_address1: v }) => !v || v.length <= 100 || 'billing-address-one:v8n_too_long',\n ({ billing_postal_code: v }) => !v || v.length <= 50 || 'billing-postal-code:v8n_too_long',\n ({ shipping_first_name: v }) => !v || v.length <= 50 || 'shipping-first-name:v8n_too_long',\n ({ shipping_last_name: v }) => !v || v.length <= 50 || 'shipping-last-name:v8n_too_long',\n ({ shipping_state: v }) => !v || v.length <= 50 || 'shipping-state:v8n_too_long',\n ({ shipping_city: v }) => !v || v.length <= 50 || 'shipping-city:v8n_too_long',\n ({ shipping_phone: v }) => !v || v.length <= 50 || 'shipping-phone:v8n_too_long',\n ({ shipping_company: v }) => !v || v.length <= 50 || 'shipping-company:v8n_too_long',\n ({ shipping_address2: v }) => !v || v.length <= 100 || 'shipping-address-two:v8n_too_long',\n ({ shipping_address1: v }) => !v || v.length <= 100 || 'shipping-address-one:v8n_too_long',\n ({ shipping_postal_code: v }) => !v || v.length <= 50 || 'shipping-postal-code:v8n_too_long',\n ];\n }\n\n /** Payment Card Embed configuration URL. The form will append template set parameter on its own. */\n paymentCardEmbedUrl: string | null = null;\n\n /** URL of the `fx:item_categories` collection for the store. */\n itemCategories: string | null = null;\n\n /** URL of the `fx:template_sets` collection for the store. */\n templateSets: string | null = null;\n\n /** URL of the `fx:locale_codes` property helper. */\n localeCodes: string | null = null;\n\n /** URL of the `fx:languages` property helper. */\n languages: string | null = null;\n\n /** URL of the `fx:customers` collection for the store. */\n customers: string | null = null;\n\n /** URL of the `fx:countries` property helper. */\n countries: string | null = null;\n\n /** URL of the `fx:regions` property helper. */\n regions: string | null = null;\n\n /** URL of the `fx:coupons` collection for the store. */\n coupons: string | null = null;\n\n private readonly __languagesLoaderId = 'languagesLoader';\n\n private readonly __customerLoaderId = 'customerLoader';\n\n private readonly __paymentMethodUriGetDisplayValueOptions = (\n payments: Resource<Rels.Payments>\n ) => {\n const payment = payments?._embedded?.['fx:payments']?.[0] ?? null;\n const ccExpMonth = payment?.cc_exp_month;\n const ccExpYear = payment?.cc_exp_year;\n const ccLast4 = payment?.cc_number_masked?.replace(/x/g, '');\n const ccType = payment?.cc_type;\n\n return {\n cc_exp_month: ccExpMonth ?? '',\n cc_exp_year: ccExpYear ?? '',\n cc_last4: ccLast4 ?? '',\n cc_type: ccType ?? '',\n context: ccLast4 && ccExpMonth && ccExpYear && ccType ? '' : 'empty',\n };\n };\n\n private readonly __paymentMethodUriSetValue = (transactionUrl: string) => {\n try {\n // TODO use links instead of constructing the URL manually\n const url = new URL(transactionUrl);\n url.search = '';\n url.pathname += '/payments';\n this.edit({ payment_method_uri: url.toString() });\n } catch (err) {\n this.edit({ payment_method_uri: '' });\n }\n };\n\n private readonly __paymentMethodUriFilters: Option[] = [\n {\n label: 'filter_type',\n type: Type.String,\n path: 'payments:type',\n list: [\n { label: 'filter_type_value_purchase_order', value: 'purchase_order' },\n { label: 'filter_type_value_amazon_mws', value: 'amazon_mws' },\n { label: 'filter_type_value_paypal_ec', value: 'paypal_ec' },\n { label: 'filter_type_value_paypal', value: 'paypal' },\n { label: 'filter_type_value_hosted', value: 'hosted' },\n { label: 'filter_type_value_ogone', value: 'ogone' },\n ],\n },\n {\n label: 'filter_cc_type',\n type: Type.String,\n path: 'payments:cc_type',\n list: [\n { label: 'filter_cc_type_value_mastercard', value: 'mastercard' },\n { label: 'filter_cc_type_value_discover', value: 'discover' },\n { label: 'filter_cc_type_value_unionpay', value: 'unionpay' },\n { label: 'filter_cc_type_value_maestro', value: 'maestro' },\n { label: 'filter_cc_type_value_diners', value: 'diners' },\n { label: 'filter_cc_type_value_visa', value: 'visa' },\n { label: 'filter_cc_type_value_amex', value: 'amex' },\n { label: 'filter_cc_type_value_jcb', value: 'jcb' },\n ],\n },\n {\n label: 'filter_cc_number_masked',\n type: Type.String,\n path: 'payments:cc_number_masked',\n },\n ];\n\n private readonly __customerUriSetValue = (newValue: string) => {\n this.edit({ customer_uri: newValue, customer_email: '' });\n };\n\n private readonly __customerUriOptions: Option[] = [\n { label: 'filter_email', path: 'email', type: Type.String },\n {\n label: 'filter_is_anonymous',\n path: 'is_anonymous',\n type: Type.String,\n list: [\n { value: 'false', label: 'filter_is_anonymous_value_false' },\n { value: 'true', label: 'filter_is_anonymous_value_true' },\n ],\n },\n ];\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n\n if (this.form.customer_uri) {\n alwaysMatch.unshift('general:customer-email');\n } else {\n alwaysMatch.unshift('billing:payment-method-uri');\n }\n\n if (this.data) {\n if (!this.form.use_customer_shipping_address) {\n alwaysMatch.unshift('shipping:shipping-address');\n }\n } else {\n alwaysMatch.unshift(\n 'applied-coupon-codes',\n 'custom-fields',\n 'attributes',\n 'shipping',\n 'billing',\n 'totals',\n 'items'\n );\n }\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderHeaderActions(): TemplateResult {\n return html`\n <foxy-internal-cart-form-create-session-action infer=\"view-as-customer\">\n </foxy-internal-cart-form-create-session-action>\n `;\n }\n\n renderBody(): TemplateResult {\n const links = this.data?._links;\n const customer = this.__customer;\n const customerAddresses = customer?._links['fx:customer_addresses'].href;\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"general\">\n <foxy-internal-resource-picker-control\n layout=\"summary-item\"\n first=${ifDefined(this.templateSets ?? void 0)}\n infer=\"template-set-uri\"\n item=\"foxy-template-set-card\"\n >\n </foxy-internal-resource-picker-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"language\"\n .options=${this.__languageOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-resource-picker-control\n layout=\"summary-item\"\n first=${ifDefined(this.customers ?? void 0)}\n infer=\"customer-uri\"\n item=\"foxy-customer-card\"\n .setValue=${this.__customerUriSetValue}\n .filters=${this.__customerUriOptions}\n >\n </foxy-internal-resource-picker-control>\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"customer-email\">\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n infer=\"items\"\n class=\"min-w-0\"\n first=${ifDefined(this.__itemsHref)}\n alert\n wide\n item=\"foxy-item-card\"\n form=\"foxy-item-form\"\n .related=${this.href ? [this.href] : []}\n .itemProps=${{ 'locale-codes': this.localeCodes ?? '' }}\n .formProps=${{\n 'customer-addresses': customerAddresses ?? '',\n 'item-categories': this.itemCategories ?? '',\n 'locale-codes': this.localeCodes ?? '',\n 'coupons': this.coupons ?? '',\n }}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-cart-form-totals-control class=\"min-w-0\" infer=\"totals\">\n </foxy-internal-cart-form-totals-control>\n\n <foxy-internal-async-list-control\n infer=\"applied-coupon-codes\"\n class=\"min-w-0\"\n first=${ifDefined(links?.['fx:applied_coupon_codes'].href)}\n item=\"foxy-applied-coupon-code-card\"\n form=\"foxy-applied-coupon-code-form\"\n alert\n .related=${this.href ? [this.href] : []}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-summary-control infer=\"billing\">\n <foxy-internal-resource-picker-control\n placeholder=${this.__paymentMethodUriPlaceholder}\n layout=\"summary-item\"\n first=${ifDefined(this.__transactionsWithPaymentsUrl)}\n infer=\"payment-method-uri\"\n item=\"foxy-internal-cart-form-payment-method-card\"\n form=\"foxy-internal-cart-form-payment-method-form\"\n .getDisplayValueOptions=${this.__paymentMethodUriGetDisplayValueOptions}\n .formProps=${{\n 'default-payment-method': customer?._links['fx:default_payment_method'].href ?? '',\n 'payment-card-embed-url': this.__pickerPaymentCardEmbedUrl ?? '',\n }}\n .setValue=${this.__paymentMethodUriSetValue}\n .filters=${this.__paymentMethodUriFilters}\n >\n </foxy-internal-resource-picker-control>\n\n <foxy-internal-cart-form-address-summary-item\n countries=${ifDefined(this.countries ?? void 0)}\n regions=${ifDefined(this.regions ?? void 0)}\n infer=\"billing-address\"\n type=\"billing\"\n .customer=${customer}\n >\n </foxy-internal-cart-form-address-summary-item>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"shipping\">\n <foxy-internal-switch-control infer=\"use-customer-shipping-address\" invert>\n </foxy-internal-switch-control>\n\n <foxy-internal-cart-form-address-summary-item\n countries=${ifDefined(this.countries ?? void 0)}\n regions=${ifDefined(this.regions ?? void 0)}\n infer=\"shipping-address\"\n type=\"shipping\"\n .customer=${customer}\n >\n </foxy-internal-cart-form-address-summary-item>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n infer=\"custom-fields\"\n class=\"min-w-0\"\n first=${ifDefined(links?.['fx:custom_fields'].href)}\n limit=\"5\"\n item=\"foxy-custom-field-card\"\n form=\"foxy-custom-field-form\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"attributes\"\n class=\"min-w-0\"\n first=${ifDefined(links?.['fx:attributes'].href)}\n limit=\"5\"\n item=\"foxy-attribute-card\"\n form=\"foxy-attribute-form\"\n alert\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.languages ?? void 0)}\n id=${this.__languagesLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__customerHref)}\n id=${this.__customerLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __paymentMethodUriPlaceholder() {\n const defaultPaymentMethod = this.__customer?._embedded['fx:default_payment_method'];\n const ccExpMonth = defaultPaymentMethod?.cc_exp_month ?? null;\n const ccExpYear = defaultPaymentMethod?.cc_exp_year ?? null;\n const ccLast4 = defaultPaymentMethod?.cc_number_masked?.replace(/x/g, '') ?? null;\n const ccType = defaultPaymentMethod?.cc_type ?? null;\n\n return this.t('billing.payment-method-uri.value', {\n cc_exp_month: ccExpMonth ?? '',\n cc_exp_year: ccExpYear ?? '',\n cc_last4: ccLast4 ?? '',\n cc_type: ccType ?? '',\n context: ccLast4 && ccExpMonth && ccExpYear && ccType ? '' : 'empty',\n });\n }\n\n private get __transactionsWithPaymentsUrl() {\n try {\n const url = new URL(this.__customer?._links['fx:transactions'].href ?? '');\n url.searchParams.set('zoom', 'payments');\n return url.toString();\n } catch {\n // ignore\n }\n }\n\n private get __pickerPaymentCardEmbedUrl() {\n try {\n const url = new URL(this.paymentCardEmbedUrl ?? '');\n const id = getResourceId(this.form.template_set_uri ?? '');\n if (id !== null) {\n url.searchParams.set('template_set_id', String(id));\n return url.toString();\n }\n } catch {\n // ignore\n }\n }\n\n private get __customerHref() {\n try {\n const url = new URL(this.form.customer_uri ?? '');\n url.searchParams.set(\n 'zoom',\n 'default_payment_method,default_billing_address,default_shipping_address'\n );\n return url.toString();\n } catch {\n // ignore\n }\n }\n\n private get __itemsHref() {\n try {\n const url = new URL(this.data?._links['fx:items'].href ?? '');\n url.searchParams.set('zoom', 'item_options');\n return url.toString();\n } catch {\n //\n }\n }\n\n private get __languageOptions() {\n type Loader = NucleonElement<Resource<Rels.Languages>>;\n const loader = this.renderRoot.querySelector<Loader>(`#${this.__languagesLoaderId}`);\n const values = Object.entries(loader?.data?.values ?? {});\n return values.map(([value, rawLabel]) => ({ rawLabel, value }));\n }\n\n private get __customer() {\n type Loader = NucleonElement<\n Resource<\n Rels.Customer,\n { zoom: ['default_payment_method', 'default_shipping_address', 'default_billing_address'] }\n >\n >;\n\n return this.renderRoot.querySelector<Loader>(`#${this.__customerLoaderId}`)?.data;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"CartForm.js","sourceRoot":"","sources":["../../../../src/elements/public/CartForm/CartForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Option } from '../QueryBuilder/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { BooleanSelector, getResourceId } from '@foxy.io/sdk/core';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { Type } from '../QueryBuilder/types';\nimport { html } from 'lit-html';\n\nconst NS = 'cart-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Form element for creating or editing carts (`fx:cart`).\n *\n * @element foxy-cart-form\n * @since 1.21.0\n */\nexport class CartForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n paymentCardEmbedUrl: { attribute: 'payment-card-embed-url' },\n itemCategories: { attribute: 'item-categories' },\n templateSets: { attribute: 'template-sets' },\n localeCodes: { attribute: 'locale-codes' },\n languages: {},\n customers: {},\n countries: {},\n regions: {},\n coupons: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ billing_first_name: v }) => !v || v.length <= 50 || 'billing-first-name:v8n_too_long',\n ({ billing_last_name: v }) => !v || v.length <= 50 || 'billing-last-name:v8n_too_long',\n ({ billing_state: v }) => !v || v.length <= 50 || 'billing-state:v8n_too_long',\n ({ billing_city: v }) => !v || v.length <= 50 || 'billing-city:v8n_too_long',\n ({ billing_phone: v }) => !v || v.length <= 50 || 'billing-phone:v8n_too_long',\n ({ billing_company: v }) => !v || v.length <= 50 || 'billing-company:v8n_too_long',\n ({ billing_address2: v }) => !v || v.length <= 100 || 'billing-address-two:v8n_too_long',\n ({ billing_address1: v }) => !v || v.length <= 100 || 'billing-address-one:v8n_too_long',\n ({ billing_postal_code: v }) => !v || v.length <= 50 || 'billing-postal-code:v8n_too_long',\n ({ shipping_first_name: v }) => !v || v.length <= 50 || 'shipping-first-name:v8n_too_long',\n ({ shipping_last_name: v }) => !v || v.length <= 50 || 'shipping-last-name:v8n_too_long',\n ({ shipping_state: v }) => !v || v.length <= 50 || 'shipping-state:v8n_too_long',\n ({ shipping_city: v }) => !v || v.length <= 50 || 'shipping-city:v8n_too_long',\n ({ shipping_phone: v }) => !v || v.length <= 50 || 'shipping-phone:v8n_too_long',\n ({ shipping_company: v }) => !v || v.length <= 50 || 'shipping-company:v8n_too_long',\n ({ shipping_address2: v }) => !v || v.length <= 100 || 'shipping-address-two:v8n_too_long',\n ({ shipping_address1: v }) => !v || v.length <= 100 || 'shipping-address-one:v8n_too_long',\n ({ shipping_postal_code: v }) => !v || v.length <= 50 || 'shipping-postal-code:v8n_too_long',\n ];\n }\n\n /** Payment Card Embed configuration URL. The form will append template set parameter on its own. */\n paymentCardEmbedUrl: string | null = null;\n\n /** URL of the `fx:item_categories` collection for the store. */\n itemCategories: string | null = null;\n\n /** URL of the `fx:template_sets` collection for the store. */\n templateSets: string | null = null;\n\n /** URL of the `fx:locale_codes` property helper. */\n localeCodes: string | null = null;\n\n /** URL of the `fx:languages` property helper. */\n languages: string | null = null;\n\n /** URL of the `fx:customers` collection for the store. */\n customers: string | null = null;\n\n /** URL of the `fx:countries` property helper. */\n countries: string | null = null;\n\n /** URL of the `fx:regions` property helper. */\n regions: string | null = null;\n\n /** URL of the `fx:coupons` collection for the store. */\n coupons: string | null = null;\n\n private readonly __languagesLoaderId = 'languagesLoader';\n\n private readonly __customerLoaderId = 'customerLoader';\n\n private readonly __paymentMethodUriGetDisplayValueOptions = (\n payments: Resource<Rels.Payments>\n ) => {\n const payment = payments?._embedded?.['fx:payments']?.[0] ?? null;\n const ccExpMonth = payment?.cc_exp_month;\n const ccExpYear = payment?.cc_exp_year;\n const ccLast4 = payment?.cc_number_masked?.replace(/x/g, '');\n const ccType = payment?.cc_type;\n\n return {\n cc_exp_month: ccExpMonth ?? '',\n cc_exp_year: ccExpYear ?? '',\n cc_last4: ccLast4 ?? '',\n cc_type: ccType ?? '',\n context: ccLast4 && ccExpMonth && ccExpYear && ccType ? '' : 'empty',\n };\n };\n\n private readonly __paymentMethodUriSetValue = (transactionUrl: string) => {\n try {\n // TODO use links instead of constructing the URL manually\n const url = new URL(transactionUrl);\n url.search = '';\n url.pathname += '/payments';\n this.edit({ payment_method_uri: url.toString() });\n } catch (err) {\n this.edit({ payment_method_uri: '' });\n }\n };\n\n private readonly __paymentMethodUriFilters: Option[] = [\n {\n label: 'filter_type',\n type: Type.String,\n path: 'payments:type',\n list: [\n { label: 'filter_type_value_purchase_order', value: 'purchase_order' },\n { label: 'filter_type_value_amazon_mws', value: 'amazon_mws' },\n { label: 'filter_type_value_paypal_ec', value: 'paypal_ec' },\n { label: 'filter_type_value_paypal', value: 'paypal' },\n { label: 'filter_type_value_hosted', value: 'hosted' },\n { label: 'filter_type_value_ogone', value: 'ogone' },\n ],\n },\n {\n label: 'filter_cc_type',\n type: Type.String,\n path: 'payments:cc_type',\n list: [\n { label: 'filter_cc_type_value_mastercard', value: 'mastercard' },\n { label: 'filter_cc_type_value_discover', value: 'discover' },\n { label: 'filter_cc_type_value_unionpay', value: 'unionpay' },\n { label: 'filter_cc_type_value_maestro', value: 'maestro' },\n { label: 'filter_cc_type_value_diners', value: 'diners' },\n { label: 'filter_cc_type_value_visa', value: 'visa' },\n { label: 'filter_cc_type_value_amex', value: 'amex' },\n { label: 'filter_cc_type_value_jcb', value: 'jcb' },\n ],\n },\n {\n label: 'filter_cc_number_masked',\n type: Type.String,\n path: 'payments:cc_number_masked',\n },\n ];\n\n private readonly __customerUriSetValue = (newValue: string) => {\n this.edit({ customer_uri: newValue, customer_email: '' });\n };\n\n private readonly __customerUriOptions: Option[] = [\n { label: 'filter_email', path: 'email', type: Type.String },\n {\n label: 'filter_is_anonymous',\n path: 'is_anonymous',\n type: Type.String,\n list: [\n { value: 'false', label: 'filter_is_anonymous_value_false' },\n { value: 'true', label: 'filter_is_anonymous_value_true' },\n ],\n },\n ];\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n\n if (this.form.customer_uri) {\n alwaysMatch.unshift('general:customer-email');\n } else {\n alwaysMatch.unshift('billing:payment-method-uri');\n }\n\n if (this.data) {\n if (!this.form.use_customer_shipping_address) {\n alwaysMatch.unshift('shipping:shipping-address');\n }\n } else {\n alwaysMatch.unshift(\n 'applied-coupon-codes',\n 'custom-fields',\n 'attributes',\n 'shipping',\n 'billing',\n 'totals',\n 'items'\n );\n }\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderHeaderActions(): TemplateResult {\n return html`\n <foxy-internal-cart-form-create-session-action infer=\"view-as-customer\">\n </foxy-internal-cart-form-create-session-action>\n `;\n }\n\n renderBody(): TemplateResult {\n const links = this.data?._links;\n const customer = this.__customer;\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"general\">\n <foxy-internal-resource-picker-control\n layout=\"summary-item\"\n first=${ifDefined(this.templateSets ?? void 0)}\n infer=\"template-set-uri\"\n item=\"foxy-template-set-card\"\n >\n </foxy-internal-resource-picker-control>\n\n <foxy-internal-select-control\n layout=\"summary-item\"\n infer=\"language\"\n .options=${this.__languageOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-resource-picker-control\n layout=\"summary-item\"\n first=${ifDefined(this.customers ?? void 0)}\n infer=\"customer-uri\"\n item=\"foxy-customer-card\"\n .setValue=${this.__customerUriSetValue}\n .filters=${this.__customerUriOptions}\n >\n </foxy-internal-resource-picker-control>\n\n <foxy-internal-text-control layout=\"summary-item\" infer=\"customer-email\">\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n infer=\"items\"\n class=\"min-w-0\"\n first=${ifDefined(this.__itemsHref)}\n alert\n wide\n item=\"foxy-item-card\"\n form=\"foxy-item-form\"\n .related=${this.href ? [this.href] : []}\n .itemProps=${{ 'locale-codes': this.localeCodes }}\n .formProps=${{\n 'item-categories': this.itemCategories,\n 'locale-codes': this.localeCodes,\n 'store': this.data?._links['fx:store'].href,\n }}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-cart-form-totals-control class=\"min-w-0\" infer=\"totals\">\n </foxy-internal-cart-form-totals-control>\n\n <foxy-internal-async-list-control\n infer=\"applied-coupon-codes\"\n class=\"min-w-0\"\n first=${ifDefined(links?.['fx:applied_coupon_codes'].href)}\n item=\"foxy-applied-coupon-code-card\"\n form=\"foxy-applied-coupon-code-form\"\n alert\n .related=${this.href ? [this.href] : []}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-summary-control infer=\"billing\">\n <foxy-internal-resource-picker-control\n placeholder=${this.__paymentMethodUriPlaceholder}\n layout=\"summary-item\"\n first=${ifDefined(this.__transactionsWithPaymentsUrl)}\n infer=\"payment-method-uri\"\n item=\"foxy-internal-cart-form-payment-method-card\"\n form=\"foxy-internal-cart-form-payment-method-form\"\n .getDisplayValueOptions=${this.__paymentMethodUriGetDisplayValueOptions}\n .formProps=${{\n 'default-payment-method': customer?._links['fx:default_payment_method'].href ?? '',\n 'payment-card-embed-url': this.__pickerPaymentCardEmbedUrl ?? '',\n }}\n .setValue=${this.__paymentMethodUriSetValue}\n .filters=${this.__paymentMethodUriFilters}\n >\n </foxy-internal-resource-picker-control>\n\n <foxy-internal-cart-form-address-summary-item\n countries=${ifDefined(this.countries ?? void 0)}\n regions=${ifDefined(this.regions ?? void 0)}\n infer=\"billing-address\"\n type=\"billing\"\n .customer=${customer}\n >\n </foxy-internal-cart-form-address-summary-item>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"shipping\">\n <foxy-internal-switch-control infer=\"use-customer-shipping-address\" invert>\n </foxy-internal-switch-control>\n\n <foxy-internal-cart-form-address-summary-item\n countries=${ifDefined(this.countries ?? void 0)}\n regions=${ifDefined(this.regions ?? void 0)}\n infer=\"shipping-address\"\n type=\"shipping\"\n .customer=${customer}\n >\n </foxy-internal-cart-form-address-summary-item>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n infer=\"custom-fields\"\n class=\"min-w-0\"\n first=${ifDefined(links?.['fx:custom_fields'].href)}\n limit=\"5\"\n item=\"foxy-custom-field-card\"\n form=\"foxy-custom-field-form\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"attributes\"\n class=\"min-w-0\"\n first=${ifDefined(links?.['fx:attributes'].href)}\n limit=\"5\"\n item=\"foxy-attribute-card\"\n form=\"foxy-attribute-form\"\n alert\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.languages ?? void 0)}\n id=${this.__languagesLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__customerHref)}\n id=${this.__customerLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __paymentMethodUriPlaceholder() {\n const defaultPaymentMethod = this.__customer?._embedded['fx:default_payment_method'];\n const ccExpMonth = defaultPaymentMethod?.cc_exp_month ?? null;\n const ccExpYear = defaultPaymentMethod?.cc_exp_year ?? null;\n const ccLast4 = defaultPaymentMethod?.cc_number_masked?.replace(/x/g, '') ?? null;\n const ccType = defaultPaymentMethod?.cc_type ?? null;\n\n return this.t('billing.payment-method-uri.value', {\n cc_exp_month: ccExpMonth ?? '',\n cc_exp_year: ccExpYear ?? '',\n cc_last4: ccLast4 ?? '',\n cc_type: ccType ?? '',\n context: ccLast4 && ccExpMonth && ccExpYear && ccType ? '' : 'empty',\n });\n }\n\n private get __transactionsWithPaymentsUrl() {\n try {\n const url = new URL(this.__customer?._links['fx:transactions'].href ?? '');\n url.searchParams.set('zoom', 'payments');\n return url.toString();\n } catch {\n // ignore\n }\n }\n\n private get __pickerPaymentCardEmbedUrl() {\n try {\n const url = new URL(this.paymentCardEmbedUrl ?? '');\n const id = getResourceId(this.form.template_set_uri ?? '');\n if (id !== null) {\n url.searchParams.set('template_set_id', String(id));\n return url.toString();\n }\n } catch {\n // ignore\n }\n }\n\n private get __customerHref() {\n try {\n const url = new URL(this.form.customer_uri ?? '');\n url.searchParams.set(\n 'zoom',\n 'default_payment_method,default_billing_address,default_shipping_address'\n );\n return url.toString();\n } catch {\n // ignore\n }\n }\n\n private get __itemsHref() {\n try {\n const url = new URL(this.data?._links['fx:items'].href ?? '');\n url.searchParams.set('zoom', 'item_options');\n return url.toString();\n } catch {\n //\n }\n }\n\n private get __languageOptions() {\n type Loader = NucleonElement<Resource<Rels.Languages>>;\n const loader = this.renderRoot.querySelector<Loader>(`#${this.__languagesLoaderId}`);\n const values = Object.entries(loader?.data?.values ?? {});\n return values.map(([value, rawLabel]) => ({ rawLabel, value }));\n }\n\n private get __customer() {\n type Loader = NucleonElement<\n Resource<\n Rels.Customer,\n { zoom: ['default_payment_method', 'default_shipping_address', 'default_billing_address'] }\n >\n >;\n\n return this.renderRoot.querySelector<Loader>(`#${this.__customerLoaderId}`)?.data;\n }\n}\n"]}
|
|
@@ -109,7 +109,7 @@ export class ItemForm extends TranslatableMixin(InternalForm, 'item-form') {
|
|
|
109
109
|
item="foxy-item-option-card"
|
|
110
110
|
alert
|
|
111
111
|
.related=${this.__itemOptionRelatedUrls}
|
|
112
|
-
.
|
|
112
|
+
.itemProps=${{ 'locale-codes': (_c = this.localeCodes) !== null && _c !== void 0 ? _c : '' }}
|
|
113
113
|
>
|
|
114
114
|
</foxy-internal-async-list-control>
|
|
115
115
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemForm.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemForm/ItemForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { DiscountBuilder } from '../DiscountBuilder/DiscountBuilder';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\n/**\n * Form element for creating or editing items (`fx:item`).\n *\n * @element foxy-item-form\n * @since 1.17.0\n */\nexport class ItemForm extends TranslatableMixin(InternalForm, 'item-form')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n customerAddresses: { attribute: 'customer-addresses' },\n itemCategories: { attribute: 'item-categories' },\n localeCodes: { attribute: 'locale-codes' },\n coupons: {},\n store: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => (!!v && v.length <= 255) || 'name:v8n_too_long',\n ({ price: v }) => (typeof v === 'number' && !isNaN(v)) || 'price:v8n_required',\n ({ price: v }) => (typeof v === 'number' && v >= 0) || 'price:v8n_negative',\n ({ quantity: v }) => (typeof v === 'number' && v >= 1) || 'quantity:v8n_less_than_one',\n ];\n }\n\n /** @deprecated Link to the collection of customer addresses that can be used with this item. */\n customerAddresses: string | null = null;\n\n /** Link to the collection of item categories that can be used with this item. */\n itemCategories: string | null = null;\n\n /** Link to the `fx:locale_codes` property helper for currency formatting. */\n localeCodes: string | null = null;\n\n /** @deprecated Link to the collection of coupons that can be used with this item. */\n coupons: string | null = null;\n\n /** Link to `fx:store` this item belongs to. */\n store: string | null = null;\n\n private __itemsLink = '';\n\n get headerSubtitleOptions(): Record<string, unknown> {\n return { context: this.data?.is_future_line_item ? 'future_line_item' : 'regular' };\n }\n\n get readonlySelector(): BooleanSelector {\n const alwaysMatch = [super.readonlySelector.toString()];\n if (this.href) alwaysMatch.unshift('subscriptions');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n\n if (!this.__storeLoader?.data?.features_multiship) alwaysMatch.unshift('general:shipto');\n if (this.data && !this.data.subscription_frequency) alwaysMatch.unshift('subscriptions');\n if (!this.form.discount_name) alwaysMatch.unshift('discount:discount-builder');\n if (!this.href) {\n alwaysMatch.unshift('discount-details', 'coupon-details', 'item-options', 'attributes');\n }\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"general\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"name\"></foxy-internal-text-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"price\" min=\"0\">\n </foxy-internal-number-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"quantity\" step=\"1\" min=\"1\">\n </foxy-internal-number-control>\n <foxy-internal-resource-picker-control\n layout=\"summary-item\"\n first=${ifDefined(this?.itemCategories ?? undefined)}\n infer=\"item-category-uri\"\n item=\"foxy-item-category-card\"\n >\n </foxy-internal-resource-picker-control>\n <foxy-internal-text-control layout=\"summary-item\" infer=\"code\"></foxy-internal-text-control>\n <foxy-internal-text-control layout=\"summary-item\" infer=\"parent-code\">\n </foxy-internal-text-control>\n <foxy-internal-text-control layout=\"summary-item\" infer=\"shipto\">\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"subscriptions\">\n <foxy-internal-frequency-control layout=\"summary-item\" infer=\"subscription-frequency\">\n </foxy-internal-frequency-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"subscription-start-date\">\n </foxy-internal-date-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"subscription-end-date\">\n </foxy-internal-date-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n infer=\"item-options\"\n first=${ifDefined(this.data?._links['fx:item_options'].href)}\n form=\"foxy-item-option-form\"\n item=\"foxy-item-option-card\"\n alert\n .related=${this.__itemOptionRelatedUrls}\n .props=${{ 'locale-codes': this.localeCodes ?? '' }}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-summary-control infer=\"dimensions\">\n <foxy-internal-number-control layout=\"summary-item\" infer=\"weight\" min=\"0\">\n </foxy-internal-number-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"length\" min=\"0\">\n </foxy-internal-number-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"width\" min=\"0\">\n </foxy-internal-number-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"height\" min=\"0\">\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"meta\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"url\"></foxy-internal-text-control>\n <foxy-internal-text-control layout=\"summary-item\" infer=\"image\">\n </foxy-internal-text-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"quantity-max\" step=\"1\" min=\"1\">\n </foxy-internal-number-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"quantity-min\" step=\"1\" min=\"1\">\n </foxy-internal-number-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"expires\" format=\"unix\">\n </foxy-internal-date-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"discount\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"discount-name\">\n </foxy-internal-text-control>\n <foxy-discount-builder\n infer=\"discount-builder\"\n class=${classMap({ hidden: this.hiddenSelector.matches('discount-builder', true) })}\n .parsedValue=${this.__discountBuilderParsedValue}\n @change=${this.__handleDiscountBuilderChange}\n >\n </foxy-discount-builder>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n infer=\"discount-details\"\n first=${ifDefined(this.data?._links['fx:discount_details'].href)}\n item=\"foxy-discount-detail-card\"\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"coupon-details\"\n first=${ifDefined(this.data?._links['fx:coupon_details'].href)}\n item=\"foxy-coupon-detail-card\"\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"attributes\"\n first=${ifDefined(this.data?._links['fx:attributes'].href)}\n item=\"foxy-attribute-card\"\n form=\"foxy-attribute-form\"\n alert\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.store ?? void 0)}\n id=\"storeLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n protected async _sendGet(): Promise<Data> {\n type TransactionTemplate = Resource<Rels.TransactionTemplate>;\n type Subscription = Resource<Rels.Subscription>;\n type Transaction = Resource<Rels.Transaction>;\n type Cart = Resource<Rels.Cart>;\n\n const item = await super._sendGet();\n\n if (item._links['fx:subscription']) {\n const subscriptionHref = item._links['fx:subscription'].href;\n const subscription = await super._fetch<Subscription>(subscriptionHref);\n\n const transactionTemplateHref = subscription._links['fx:transaction_template'].href;\n const transactionTemplate = await super._fetch<TransactionTemplate>(transactionTemplateHref);\n\n this.__itemsLink = transactionTemplate._links['fx:items'].href;\n return item;\n }\n\n if (item._links['fx:transaction']) {\n const transaction = await super._fetch<Transaction>(item._links['fx:transaction'].href);\n this.__itemsLink = transaction._links['fx:items'].href;\n return item;\n }\n\n if (item._links['fx:cart']) {\n const cart = await super._fetch<Cart>(item._links['fx:cart'].href);\n this.__itemsLink = cart._links['fx:items'].href;\n return item;\n }\n\n return item;\n }\n\n private get __discountBuilderParsedValue() {\n return {\n details: this.form.discount_details,\n type: this.form.discount_type,\n name: this.form.discount_name,\n };\n }\n\n private get __itemOptionRelatedUrls() {\n const links = (this.data?._links ?? {}) as Record<string, { href: string }>;\n const urls: string[] = [];\n\n if (links['fx:subscription']) urls.push(links['fx:subscription'].href);\n if (links['fx:transaction']) urls.push(links['fx:transaction'].href);\n if (links['fx:shipment']) urls.push(links['fx:shipment'].href);\n if (links['fx:cart']) urls.push(links['fx:cart'].href);\n if (this.__itemsLink) urls.push(this.__itemsLink);\n\n return urls;\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>('#storeLoader');\n }\n\n private __handleDiscountBuilderChange(evt: CustomEvent) {\n const builder = evt.currentTarget as DiscountBuilder;\n const value = builder.parsedValue;\n\n this.edit({\n discount_details: value.details,\n discount_type: value.type,\n discount_name: value.name,\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ItemForm.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemForm/ItemForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { DiscountBuilder } from '../DiscountBuilder/DiscountBuilder';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\n/**\n * Form element for creating or editing items (`fx:item`).\n *\n * @element foxy-item-form\n * @since 1.17.0\n */\nexport class ItemForm extends TranslatableMixin(InternalForm, 'item-form')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n customerAddresses: { attribute: 'customer-addresses' },\n itemCategories: { attribute: 'item-categories' },\n localeCodes: { attribute: 'locale-codes' },\n coupons: {},\n store: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => (!!v && v.length <= 255) || 'name:v8n_too_long',\n ({ price: v }) => (typeof v === 'number' && !isNaN(v)) || 'price:v8n_required',\n ({ price: v }) => (typeof v === 'number' && v >= 0) || 'price:v8n_negative',\n ({ quantity: v }) => (typeof v === 'number' && v >= 1) || 'quantity:v8n_less_than_one',\n ];\n }\n\n /** @deprecated Link to the collection of customer addresses that can be used with this item. */\n customerAddresses: string | null = null;\n\n /** Link to the collection of item categories that can be used with this item. */\n itemCategories: string | null = null;\n\n /** Link to the `fx:locale_codes` property helper for currency formatting. */\n localeCodes: string | null = null;\n\n /** @deprecated Link to the collection of coupons that can be used with this item. */\n coupons: string | null = null;\n\n /** Link to `fx:store` this item belongs to. */\n store: string | null = null;\n\n private __itemsLink = '';\n\n get headerSubtitleOptions(): Record<string, unknown> {\n return { context: this.data?.is_future_line_item ? 'future_line_item' : 'regular' };\n }\n\n get readonlySelector(): BooleanSelector {\n const alwaysMatch = [super.readonlySelector.toString()];\n if (this.href) alwaysMatch.unshift('subscriptions');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n\n if (!this.__storeLoader?.data?.features_multiship) alwaysMatch.unshift('general:shipto');\n if (this.data && !this.data.subscription_frequency) alwaysMatch.unshift('subscriptions');\n if (!this.form.discount_name) alwaysMatch.unshift('discount:discount-builder');\n if (!this.href) {\n alwaysMatch.unshift('discount-details', 'coupon-details', 'item-options', 'attributes');\n }\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"general\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"name\"></foxy-internal-text-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"price\" min=\"0\">\n </foxy-internal-number-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"quantity\" step=\"1\" min=\"1\">\n </foxy-internal-number-control>\n <foxy-internal-resource-picker-control\n layout=\"summary-item\"\n first=${ifDefined(this?.itemCategories ?? undefined)}\n infer=\"item-category-uri\"\n item=\"foxy-item-category-card\"\n >\n </foxy-internal-resource-picker-control>\n <foxy-internal-text-control layout=\"summary-item\" infer=\"code\"></foxy-internal-text-control>\n <foxy-internal-text-control layout=\"summary-item\" infer=\"parent-code\">\n </foxy-internal-text-control>\n <foxy-internal-text-control layout=\"summary-item\" infer=\"shipto\">\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"subscriptions\">\n <foxy-internal-frequency-control layout=\"summary-item\" infer=\"subscription-frequency\">\n </foxy-internal-frequency-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"subscription-start-date\">\n </foxy-internal-date-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"subscription-end-date\">\n </foxy-internal-date-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n infer=\"item-options\"\n first=${ifDefined(this.data?._links['fx:item_options'].href)}\n form=\"foxy-item-option-form\"\n item=\"foxy-item-option-card\"\n alert\n .related=${this.__itemOptionRelatedUrls}\n .itemProps=${{ 'locale-codes': this.localeCodes ?? '' }}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-summary-control infer=\"dimensions\">\n <foxy-internal-number-control layout=\"summary-item\" infer=\"weight\" min=\"0\">\n </foxy-internal-number-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"length\" min=\"0\">\n </foxy-internal-number-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"width\" min=\"0\">\n </foxy-internal-number-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"height\" min=\"0\">\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"meta\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"url\"></foxy-internal-text-control>\n <foxy-internal-text-control layout=\"summary-item\" infer=\"image\">\n </foxy-internal-text-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"quantity-max\" step=\"1\" min=\"1\">\n </foxy-internal-number-control>\n <foxy-internal-number-control layout=\"summary-item\" infer=\"quantity-min\" step=\"1\" min=\"1\">\n </foxy-internal-number-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"expires\" format=\"unix\">\n </foxy-internal-date-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"discount\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"discount-name\">\n </foxy-internal-text-control>\n <foxy-discount-builder\n infer=\"discount-builder\"\n class=${classMap({ hidden: this.hiddenSelector.matches('discount-builder', true) })}\n .parsedValue=${this.__discountBuilderParsedValue}\n @change=${this.__handleDiscountBuilderChange}\n >\n </foxy-discount-builder>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n infer=\"discount-details\"\n first=${ifDefined(this.data?._links['fx:discount_details'].href)}\n item=\"foxy-discount-detail-card\"\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"coupon-details\"\n first=${ifDefined(this.data?._links['fx:coupon_details'].href)}\n item=\"foxy-coupon-detail-card\"\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"attributes\"\n first=${ifDefined(this.data?._links['fx:attributes'].href)}\n item=\"foxy-attribute-card\"\n form=\"foxy-attribute-form\"\n alert\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.store ?? void 0)}\n id=\"storeLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n protected async _sendGet(): Promise<Data> {\n type TransactionTemplate = Resource<Rels.TransactionTemplate>;\n type Subscription = Resource<Rels.Subscription>;\n type Transaction = Resource<Rels.Transaction>;\n type Cart = Resource<Rels.Cart>;\n\n const item = await super._sendGet();\n\n if (item._links['fx:subscription']) {\n const subscriptionHref = item._links['fx:subscription'].href;\n const subscription = await super._fetch<Subscription>(subscriptionHref);\n\n const transactionTemplateHref = subscription._links['fx:transaction_template'].href;\n const transactionTemplate = await super._fetch<TransactionTemplate>(transactionTemplateHref);\n\n this.__itemsLink = transactionTemplate._links['fx:items'].href;\n return item;\n }\n\n if (item._links['fx:transaction']) {\n const transaction = await super._fetch<Transaction>(item._links['fx:transaction'].href);\n this.__itemsLink = transaction._links['fx:items'].href;\n return item;\n }\n\n if (item._links['fx:cart']) {\n const cart = await super._fetch<Cart>(item._links['fx:cart'].href);\n this.__itemsLink = cart._links['fx:items'].href;\n return item;\n }\n\n return item;\n }\n\n private get __discountBuilderParsedValue() {\n return {\n details: this.form.discount_details,\n type: this.form.discount_type,\n name: this.form.discount_name,\n };\n }\n\n private get __itemOptionRelatedUrls() {\n const links = (this.data?._links ?? {}) as Record<string, { href: string }>;\n const urls: string[] = [];\n\n if (links['fx:subscription']) urls.push(links['fx:subscription'].href);\n if (links['fx:transaction']) urls.push(links['fx:transaction'].href);\n if (links['fx:shipment']) urls.push(links['fx:shipment'].href);\n if (links['fx:cart']) urls.push(links['fx:cart'].href);\n if (this.__itemsLink) urls.push(this.__itemsLink);\n\n return urls;\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>('#storeLoader');\n }\n\n private __handleDiscountBuilderChange(evt: CustomEvent) {\n const builder = evt.currentTarget as DiscountBuilder;\n const value = builder.parsedValue;\n\n this.edit({\n discount_details: value.details,\n discount_type: value.type,\n discount_name: value.name,\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubscriptionForm.js","sourceRoot":"","sources":["../../../../src/elements/public/SubscriptionForm/SubscriptionForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CustomerPageGetter, Data, Settings, TransactionPageGetter } from './types';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport type { InternalCalendar } from '../../internal/InternalCalendar/InternalCalendar';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { Choice, Group, Skeleton } from '../../private/index';\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector, Resource } from '@foxy.io/sdk/core';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { parseFrequency } from '../../../utils/parse-frequency';\nimport { serializeDate } from '../../../utils/serialize-date';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nimport {\n getNextTransactionDateConstraints,\n getAllowedFrequencies,\n isNextTransactionDate,\n} from '@foxy.io/sdk/customer';\n\nconst NS = 'subscription-form';\nconst Base = ScopedElementsMixin(ResponsiveMixin(TranslatableMixin(InternalForm, NS)));\n\n/**\n * Form element for creating or editing subscriptions.\n *\n * @element foxy-subscription-form\n * @since 1.2.0\n */\nexport class SubscriptionForm extends Base<Data> {\n static get scopedElements(): ScopedElementsMap {\n return {\n 'foxy-internal-timestamps-control': customElements.get('foxy-internal-timestamps-control'),\n 'foxy-internal-async-list-control': customElements.get('foxy-internal-async-list-control'),\n 'foxy-internal-number-control': customElements.get('foxy-internal-number-control'),\n 'foxy-internal-submit-control': customElements.get('foxy-internal-submit-control'),\n 'foxy-internal-delete-control': customElements.get('foxy-internal-delete-control'),\n 'foxy-internal-undo-control': customElements.get('foxy-internal-undo-control'),\n 'foxy-copy-to-clipboard': customElements.get('foxy-copy-to-clipboard'),\n 'foxy-internal-calendar': customElements.get('foxy-internal-calendar'),\n 'foxy-internal-sandbox': customElements.get('foxy-internal-sandbox'),\n 'foxy-customer-card': customElements.get('foxy-customer-card'),\n 'vaadin-combo-box': customElements.get('vaadin-combo-box'),\n 'foxy-spinner': customElements.get('foxy-spinner'),\n 'foxy-nucleon': customElements.get('foxy-nucleon'),\n 'vcf-tooltip': customElements.get('vcf-tooltip'),\n 'foxy-i18n': customElements.get('foxy-i18n'),\n 'iron-icon': customElements.get('iron-icon'),\n 'x-skeleton': Skeleton,\n 'x-choice': Choice,\n 'x-group': Group,\n };\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n getTransactionPageHref: { attribute: false },\n getCustomerPageHref: { attribute: false },\n customerAddresses: { attribute: 'customer-addresses' },\n itemCategories: { attribute: 'item-categories' },\n localeCodes: { attribute: 'locale-codes' },\n settings: { type: Object },\n coupons: {},\n };\n }\n\n getTransactionPageHref: TransactionPageGetter = (_, data: any) => {\n return data?._links['fx:receipt'].href;\n };\n\n getCustomerPageHref: CustomerPageGetter | null = null;\n\n customerAddresses: string | null = null;\n\n itemCategories: string | null = null;\n\n localeCodes: string | null = null;\n\n settings: Settings | null = null;\n\n coupons: string | null = null;\n\n private readonly __transactionTemplateLoaderId = 'transactionTemplateLoader';\n\n private readonly __defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';\n\n private readonly __localeCodesHelperLoaderId = 'localeCodesLoader';\n\n private readonly __templateSetLoaderId = 'templateSetLoader';\n\n private readonly __storeLoaderId = 'storeLoader';\n\n private readonly __renderItemsActions = () => {\n return html`\n <div class=\"flex\" data-testid=\"items:actions\">\n ${this.renderTemplateOrSlot('items:actions:before')}\n\n <foxy-i18n\n data-testid=\"items:actions-label\"\n class=\"flex-1 text-s font-medium text-secondary\"\n lang=${this.lang}\n key=\"item_plural\"\n ns=${this.ns}\n >\n </foxy-i18n>\n\n ${this.renderTemplateOrSlot('items:actions:after')}\n </div>\n `;\n };\n\n private readonly __renderItems = () => {\n let itemsHref: string | undefined;\n\n try {\n const cart = this.__transactionTemplate;\n const url = new URL(cart?._links['fx:items'].href ?? '');\n url.searchParams.set('zoom', 'item_options');\n itemsHref = url.toString();\n } catch {\n itemsHref = undefined;\n }\n\n return html`\n <div data-testid=\"items\" class=\"space-y-xs sm-col-span-2\">\n ${this.hiddenSelector.matches('items:actions', true) ? '' : this.__renderItemsActions()}\n\n <foxy-internal-async-list-control\n first=${ifDefined(itemsHref)}\n infer=\"items\"\n item=\"foxy-item-card\"\n >\n </foxy-internal-async-list-control>\n </div>\n `;\n };\n\n private readonly __renderEndDate = () => {\n const { data, lang, ns } = this;\n\n return html`\n <div data-testid=\"end-date\">\n ${this.renderTemplateOrSlot('end-date:before')}\n\n <x-group frame>\n <foxy-i18n key=\"end_date\" ns=${ns} lang=${lang} slot=\"header\"></foxy-i18n>\n <foxy-internal-calendar\n start=${ifDefined(data?.end_date?.substr(0, 10))}\n value=${ifDefined(data?.end_date)}\n lang=${lang}\n ?readonly=${!this.__isEndDateEditable}\n ?disabled=${this.disabledSelector.matches('end-date', true)}\n .checkAvailability=${this.__checkEndDateAvailability}\n @change=${(evt: Event) => {\n const target = evt.target as InternalCalendar;\n this.edit({ end_date: target.value });\n }}\n >\n </foxy-internal-calendar>\n </x-group>\n\n ${this.renderTemplateOrSlot('end-date:after')}\n </div>\n `;\n };\n\n private readonly __checkNextTransactionDateAvailability = (date: Date) => {\n const { settings, data: subscription } = this;\n\n if (settings && subscription) {\n const value = serializeDate(date);\n return isNextTransactionDate({ value, settings, subscription });\n }\n\n return date.getTime() >= Date.now();\n };\n\n private readonly __checkStartDateAvailability = (date: Date) => {\n return date.getTime() >= Date.now();\n };\n\n private readonly __checkEndDateAvailability = (date: Date) => {\n const tomorrow = new Date();\n tomorrow.setDate(tomorrow.getDate() + 1);\n tomorrow.setHours(0, 0, 0, 0);\n return date.getTime() >= tomorrow.getTime();\n };\n\n private readonly __renderStartDate = () => {\n const { data, lang, ns } = this;\n\n return html`\n <div data-testid=\"start-date\">\n ${this.renderTemplateOrSlot('start-date:before')}\n\n <x-group frame>\n <foxy-i18n key=\"start_date\" ns=${ns} lang=${lang} slot=\"header\"></foxy-i18n>\n <foxy-internal-calendar\n start=${ifDefined(data?.start_date.substr(0, 10))}\n value=${ifDefined(data?.start_date)}\n lang=${lang}\n ?readonly=${!this.__isStartDateEditable}\n ?disabled=${this.disabledSelector.matches('start-date', true)}\n .checkAvailability=${this.__checkStartDateAvailability}\n @change=${(evt: Event) => {\n const target = evt.target as InternalCalendar;\n this.edit({ start_date: target.value });\n }}\n >\n </foxy-internal-calendar>\n </x-group>\n\n ${this.renderTemplateOrSlot('start-date:after')}\n </div>\n `;\n };\n\n private readonly __renderNextTransactionDate = () => {\n const { data, lang, ns } = this;\n const isActive = !!data?.is_active;\n\n return html`\n <div data-testid=\"next-transaction-date\">\n ${this.renderTemplateOrSlot('next-transaction-date:before')}\n\n <x-group frame>\n <foxy-i18n key=\"next_transaction_date\" ns=${ns} lang=${lang} slot=\"header\"></foxy-i18n>\n <foxy-internal-calendar\n start=${ifDefined(data?.next_transaction_date.substr(0, 10))}\n value=${ifDefined(data?.next_transaction_date)}\n lang=${lang}\n ?readonly=${!isActive || this.readonlySelector.matches('next-transaction-date', true)}\n ?disabled=${!data || this.disabledSelector.matches('next-transaction-date', true)}\n .checkAvailability=${this.__checkNextTransactionDateAvailability}\n @change=${(evt: Event) => {\n const target = evt.target as InternalCalendar;\n this.edit({ next_transaction_date: target.value });\n }}\n >\n </foxy-internal-calendar>\n </x-group>\n\n ${this.renderTemplateOrSlot('next-transaction-date:after')}\n </div>\n `;\n };\n\n private readonly __renderFrequencyAsDropdown = () => {\n const { data } = this;\n const active = !!data?.is_active;\n const items = this.__frequencies.map(v => ({\n label: this.t(v === '.5m' ? 'twice_a_month' : 'frequency', parseFrequency(v)),\n value: v,\n }));\n\n return html`\n <vaadin-combo-box\n item-value-path=\"value\"\n item-label-path=\"label\"\n data-testid=\"frequency\"\n ?disabled=${!data || this.disabledSelector.matches('frequency', true)}\n ?readonly=${data && (!active || this.readonlySelector.matches('frequency', true))}\n class=\"w-full\"\n label=${this.t('frequency_label').toString()}\n value=${ifDefined(this.form.frequency)}\n .items=${items}\n @change=${(evt: Event) => {\n this.edit({ frequency: (evt.target as HTMLInputElement).value });\n }}\n >\n </vaadin-combo-box>\n `;\n };\n\n private readonly __renderFrequencyAsRadioList = () => {\n const { data, lang, ns } = this;\n\n return html`\n <x-group frame>\n <foxy-i18n key=\"frequency_label\" ns=${ns} lang=${lang} slot=\"header\"></foxy-i18n>\n\n <x-choice\n default-custom-value=\"1d\"\n data-testid=\"frequency\"\n type=\"frequency\"\n ns=${ns}\n ?custom=${this.settings === null}\n .items=${this.__frequencies}\n .value=${this.form.frequency ?? null}\n ?disabled=${!data || this.disabledSelector.matches('frequency', true)}\n ?readonly=${data && (!data.is_active || this.readonlySelector.matches('frequency', true))}\n @change=${(evt: Event) => {\n this.edit({ frequency: (evt.target as HTMLInputElement).value });\n }}\n >\n ${this.__frequencies.map(\n frequency => html`\n <foxy-i18n\n options=${JSON.stringify(parseFrequency(frequency))}\n slot=\"${frequency}-label\"\n lang=${lang}\n key=${frequency === '.5m' ? 'twice_a_month' : 'frequency'}\n ns=${ns}\n >\n </foxy-i18n>\n `\n )}\n </x-choice>\n </x-group>\n `;\n };\n\n private readonly __renderFrequency = () => {\n return html`\n <div class=\"sm-col-span-2\">\n ${this.renderTemplateOrSlot('frequency:before')}\n ${this.settings && this.__frequencies.length > 4\n ? this.__renderFrequencyAsDropdown()\n : this.__renderFrequencyAsRadioList()}\n ${this.renderTemplateOrSlot('frequency:after')}\n </div>\n `;\n };\n\n private readonly __renderCustomer = () => {\n const customerHref = this.data?._links['fx:customer'].href;\n const customerPageHref = customerHref ? this.getCustomerPageHref?.(customerHref) : void 0;\n\n return html`\n <div data-testid=\"customer\" class=\"sm-col-span-2\">\n ${this.renderTemplateOrSlot('customer:before')}\n\n <foxy-i18n infer=\"customer\" class=\"block text-s font-medium leading-xs mb-xs\" key=\"label\">\n </foxy-i18n>\n\n <a\n class=${classMap({\n 'block rounded transition-colors': true,\n 'ring-1 ring-contrast-10': !customerPageHref,\n 'cursor-pointer bg-contrast-5 hover-bg-contrast-10': !!customerPageHref,\n 'focus-outline-none focus-ring-2 focus-ring-primary-50': !!customerPageHref,\n })}\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n href=${ifDefined(customerPageHref)}\n >\n <foxy-customer-card infer=\"customer\" href=${ifDefined(customerHref)}></foxy-customer-card>\n </a>\n\n ${this.renderTemplateOrSlot('customer:after')}\n </div>\n `;\n };\n\n get hiddenSelector(): BooleanSelector {\n return new BooleanSelector(`items:pagination:card:autorenew-icon ${super.hiddenSelector}`);\n }\n\n get headerTitleOptions(): Record<string, unknown> {\n if (this.data && this.__currencyCode) {\n const frequency = parseFrequency(this.data.frequency);\n const transactionTemplate = this.__transactionTemplate;\n const total = transactionTemplate?.total_order;\n const amount = `${total} ${this.__currencyCode}`;\n const currencyDisplay = this.__currencyDisplay;\n const context = this.__currencyCode\n ? this.data.frequency === '.5m'\n ? 'twice_a_month'\n : 'recurring'\n : 'existing';\n\n return { ...frequency, amount, currencyDisplay, context };\n } else {\n return {};\n }\n }\n\n get headerSubtitleOptions(): Record<string, unknown> {\n let context: string;\n let date: string | null = null;\n\n if (this.data?.first_failed_transaction_date) {\n context = 'failed';\n date = this.data.first_failed_transaction_date;\n } else if (this.data?.end_date) {\n const hasEnded = new Date(this.data.end_date).getTime() > Date.now();\n context = hasEnded ? 'will_be_cancelled' : 'cancelled';\n date = this.data.end_date;\n } else if (!this.data?.is_active) {\n context = 'inactive';\n } else if (new Date(this.data.start_date) > new Date()) {\n context = 'will_be_active';\n date = this.data.start_date;\n } else {\n context = 'active';\n date = this.data.next_transaction_date;\n }\n\n return { date, context };\n }\n\n renderBody(): TemplateResult {\n let transactionsHref: string | undefined;\n\n try {\n const url = new URL(this.data?._links['fx:transactions'].href ?? '');\n url.searchParams.set('order', 'transaction_date desc');\n url.searchParams.set('zoom', 'items');\n transactionsHref = url.toString();\n } catch {\n transactionsHref = undefined;\n }\n\n return html`\n ${this.renderHeader()}\n\n <div class=\"relative grid grid-cols-1 sm-grid-cols-2 gap-l\">\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__transactionTemplateHref)}\n id=${this.__transactionTemplateLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__defaultTemplateSetHref)}\n id=${this.__defaultTemplateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__localeCodesHelperHref)}\n id=${this.__localeCodesHelperLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__templateSetHref)}\n id=${this.__templateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__storeHref)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n ${this.hiddenSelector.matches('customer', true) ? '' : this.__renderCustomer()}\n ${this.hiddenSelector.matches('items', true) ? '' : this.__renderItems()}\n ${this.__isFrequencyVisible ? this.__renderFrequency() : ''}\n ${this.__isStartDateVisible ? this.__renderStartDate() : ''}\n ${this.__isNextTransactionDateVisible ? this.__renderNextTransactionDate() : ''}\n ${this.__isEndDateVisible ? this.__renderEndDate() : ''}\n\n <foxy-internal-number-control\n suffix=${ifDefined(this.__currencyCode ?? void 0)}\n infer=\"past-due-amount\"\n class=\"sm-col-span-2\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n\n <foxy-internal-async-list-control\n first=${ifDefined(this.data?._links['fx:attributes']?.href)}\n class=\"sm-col-span-2\"\n infer=\"attributes\"\n limit=\"5\"\n form=\"foxy-attribute-form\"\n item=\"foxy-attribute-card\"\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n first=${ifDefined(transactionsHref)}\n class=\"sm-col-span-2\"\n infer=\"transactions\"\n limit=\"5\"\n item=\"foxy-transaction-card\"\n hide-delete-button\n .getPageHref=${this.getTransactionPageHref}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-timestamps-control infer=\"timestamps\" class=\"sm-col-span-2\">\n </foxy-internal-timestamps-control>\n </div>\n `;\n }\n\n private get __transactionTemplateHref() {\n type DataWithEmbeds = Resource<Rels.Subscription, { zoom: 'transaction_template' }>;\n type Embed = Resource<Rels.TransactionTemplate>;\n\n const data = this.data as DataWithEmbeds | null;\n const embed = data?._embedded?.['fx:transaction_template'] as Embed | undefined;\n\n return embed ? void 0 : data?._links['fx:transaction_template'].href;\n }\n\n private get __defaultTemplateSetHref() {\n const templateSetUri = this.__transactionTemplate?.template_set_uri;\n\n if (templateSetUri === '') {\n try {\n const url = new URL(this.__store?._links['fx:template_sets'].href ?? '');\n url.searchParams.set('code', 'DEFAULT');\n return url.toString();\n } catch {\n //\n }\n }\n }\n\n private get __localeCodesHelperHref() {\n if (this.__defaultTemplateSetHref || this.__templateSetHref) {\n return this.localeCodes ?? void 0;\n }\n }\n\n private get __templateSetHref() {\n const cart = this.__transactionTemplate;\n if (!cart?.currency_code) return cart?.template_set_uri || void 0;\n }\n\n private get __storeHref() {\n return this.data?._links['fx:store']?.href;\n }\n\n private get __transactionTemplate() {\n type DataWithEmbeds = Resource<Rels.Subscription, { zoom: 'transaction_template' }>;\n type Loader = NucleonElement<Resource<Rels.TransactionTemplate>>;\n type Embed = Resource<Rels.TransactionTemplate>;\n\n const data = this.data as DataWithEmbeds | null;\n const embed = data?._embedded?.['fx:transaction_template'] as Embed | undefined;\n const selector = `#${this.__transactionTemplateLoaderId}`;\n\n return embed ?? this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __defaultTemplateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSets>>;\n const selector = `#${this.__defaultTemplateSetLoaderId}`;\n const loader = this.renderRoot.querySelector<Loader>(selector);\n return loader?.data?._embedded['fx:template_sets'][0] ?? null;\n }\n\n private get __localeCodesHelper() {\n type Loader = NucleonElement<Resource<Rels.LocaleCodes>>;\n const selector = `#${this.__localeCodesHelperLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __templateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSet>>;\n const selector = `#${this.__templateSetLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __store() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n const selector = `#${this.__storeLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __isNextTransactionDateVisible() {\n if (this.hiddenSelector.matches('next-transaction-date', true)) return false;\n if (this.data === null) return false;\n if (this.data.end_date && new Date(this.data.end_date).getTime() <= Date.now()) return false;\n if (this.data.is_active === false) return false;\n if (this.settings === null) return true;\n\n const rules = this.settings.subscriptions.allow_next_date_modification;\n return !!getNextTransactionDateConstraints(this.data, rules);\n }\n\n private get __isStartDateVisible() {\n if (this.hiddenSelector.matches('start-date', true)) return false;\n return this.__isNextTransactionDateVisible;\n }\n\n private get __isEndDateVisible() {\n if (this.hiddenSelector.matches('end-date', true)) return false;\n if (this.data === null) return false;\n if (this.data.end_date && new Date(this.data.end_date).getTime() <= Date.now()) return false;\n if (this.data.is_active === false) return false;\n return !this.settings;\n }\n\n private get __isStartDateEditable() {\n if (this.readonlySelector.matches('start-date', true)) return false;\n if (this.data === null) return false;\n if (this.data.end_date && new Date(this.data.end_date) <= new Date()) return false;\n if (this.data.is_active === false) return false;\n if (this.data.start_date && new Date(this.data.start_date) <= new Date()) return false;\n\n return this.settings === null;\n }\n\n private get __isEndDateEditable() {\n if (this.readonlySelector.matches('end-date', true)) return false;\n if (this.data === null) return false;\n if (this.data.end_date && new Date(this.data.end_date) <= new Date()) return false;\n if (this.data.is_active === false) return false;\n\n return this.settings === null;\n }\n\n private get __isFrequencyVisible() {\n if (this.hiddenSelector.matches('frequency', true)) return false;\n if (this.data === null) return false;\n if (this.data.end_date && new Date(this.data.end_date).getTime() <= Date.now()) return false;\n if (this.data.is_active === false) return false;\n if (this.settings === null) return true;\n\n const allowedFrequencies = getAllowedFrequencies({\n subscription: this.data,\n settings: this.settings,\n });\n\n return !allowedFrequencies.next().done;\n }\n\n private get __frequencies() {\n if (!this.settings || !this.data) return ['.5m', '1m', '1y'];\n\n const allowedFrequencies = getAllowedFrequencies({\n subscription: this.data,\n settings: this.settings,\n });\n\n return Array.from(allowedFrequencies);\n }\n\n private get __currencyCode() {\n const cart = this.__transactionTemplate;\n if (cart?.currency_code) return cart.currency_code;\n\n const allLocaleCodes = this.__localeCodesHelper;\n const localeCode = (this.__templateSet ?? this.__defaultTemplateSet)?.locale_code;\n const localeInfo = localeCode ? allLocaleCodes?.values[localeCode] : void 0;\n if (localeInfo) return /Currency: ([A-Z]{3})/g.exec(localeInfo)?.[1] ?? null;\n\n return null;\n }\n\n private get __currencyDisplay() {\n return this.__store?.use_international_currency_symbol ? 'code' : 'symbol';\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SubscriptionForm.js","sourceRoot":"","sources":["../../../../src/elements/public/SubscriptionForm/SubscriptionForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CustomerPageGetter, Data, Settings, TransactionPageGetter } from './types';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { ScopedElementsMap } from '@open-wc/scoped-elements';\nimport type { InternalCalendar } from '../../internal/InternalCalendar/InternalCalendar';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { Choice, Group, Skeleton } from '../../private/index';\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector, Resource } from '@foxy.io/sdk/core';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { parseFrequency } from '../../../utils/parse-frequency';\nimport { serializeDate } from '../../../utils/serialize-date';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nimport {\n getNextTransactionDateConstraints,\n getAllowedFrequencies,\n isNextTransactionDate,\n} from '@foxy.io/sdk/customer';\n\nconst NS = 'subscription-form';\nconst Base = ScopedElementsMixin(ResponsiveMixin(TranslatableMixin(InternalForm, NS)));\n\n/**\n * Form element for creating or editing subscriptions.\n *\n * @element foxy-subscription-form\n * @since 1.2.0\n */\nexport class SubscriptionForm extends Base<Data> {\n static get scopedElements(): ScopedElementsMap {\n return {\n 'foxy-internal-timestamps-control': customElements.get('foxy-internal-timestamps-control'),\n 'foxy-internal-async-list-control': customElements.get('foxy-internal-async-list-control'),\n 'foxy-internal-number-control': customElements.get('foxy-internal-number-control'),\n 'foxy-internal-submit-control': customElements.get('foxy-internal-submit-control'),\n 'foxy-internal-delete-control': customElements.get('foxy-internal-delete-control'),\n 'foxy-internal-undo-control': customElements.get('foxy-internal-undo-control'),\n 'foxy-copy-to-clipboard': customElements.get('foxy-copy-to-clipboard'),\n 'foxy-internal-calendar': customElements.get('foxy-internal-calendar'),\n 'foxy-internal-sandbox': customElements.get('foxy-internal-sandbox'),\n 'foxy-customer-card': customElements.get('foxy-customer-card'),\n 'vaadin-combo-box': customElements.get('vaadin-combo-box'),\n 'foxy-spinner': customElements.get('foxy-spinner'),\n 'foxy-nucleon': customElements.get('foxy-nucleon'),\n 'vcf-tooltip': customElements.get('vcf-tooltip'),\n 'foxy-i18n': customElements.get('foxy-i18n'),\n 'iron-icon': customElements.get('iron-icon'),\n 'x-skeleton': Skeleton,\n 'x-choice': Choice,\n 'x-group': Group,\n };\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n getTransactionPageHref: { attribute: false },\n getCustomerPageHref: { attribute: false },\n customerAddresses: { attribute: 'customer-addresses' },\n itemCategories: { attribute: 'item-categories' },\n localeCodes: { attribute: 'locale-codes' },\n settings: { type: Object },\n coupons: {},\n };\n }\n\n getTransactionPageHref: TransactionPageGetter = (_, data: any) => {\n return data?._links['fx:receipt'].href;\n };\n\n getCustomerPageHref: CustomerPageGetter | null = null;\n\n customerAddresses: string | null = null;\n\n itemCategories: string | null = null;\n\n localeCodes: string | null = null;\n\n settings: Settings | null = null;\n\n coupons: string | null = null;\n\n private readonly __transactionTemplateLoaderId = 'transactionTemplateLoader';\n\n private readonly __defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';\n\n private readonly __localeCodesHelperLoaderId = 'localeCodesLoader';\n\n private readonly __templateSetLoaderId = 'templateSetLoader';\n\n private readonly __storeLoaderId = 'storeLoader';\n\n private readonly __renderItemsActions = () => {\n return html`\n <div class=\"flex\" data-testid=\"items:actions\">\n ${this.renderTemplateOrSlot('items:actions:before')}\n\n <foxy-i18n\n data-testid=\"items:actions-label\"\n class=\"flex-1 text-s font-medium text-secondary\"\n lang=${this.lang}\n key=\"item_plural\"\n ns=${this.ns}\n >\n </foxy-i18n>\n\n ${this.renderTemplateOrSlot('items:actions:after')}\n </div>\n `;\n };\n\n private readonly __renderItems = () => {\n let itemsHref: string | undefined;\n\n try {\n const cart = this.__transactionTemplate;\n const url = new URL(cart?._links['fx:items'].href ?? '');\n url.searchParams.set('zoom', 'item_options');\n itemsHref = url.toString();\n } catch {\n itemsHref = undefined;\n }\n\n return html`\n <div data-testid=\"items\" class=\"space-y-xs sm-col-span-2\">\n ${this.hiddenSelector.matches('items:actions', true) ? '' : this.__renderItemsActions()}\n\n <foxy-internal-async-list-control\n first=${ifDefined(itemsHref)}\n infer=\"items\"\n item=\"foxy-item-card\"\n .itemProps=${{ 'locale-codes': this.localeCodes }}\n >\n </foxy-internal-async-list-control>\n </div>\n `;\n };\n\n private readonly __renderEndDate = () => {\n const { data, lang, ns } = this;\n\n return html`\n <div data-testid=\"end-date\">\n ${this.renderTemplateOrSlot('end-date:before')}\n\n <x-group frame>\n <foxy-i18n key=\"end_date\" ns=${ns} lang=${lang} slot=\"header\"></foxy-i18n>\n <foxy-internal-calendar\n start=${ifDefined(data?.end_date?.substr(0, 10))}\n value=${ifDefined(data?.end_date)}\n lang=${lang}\n ?readonly=${!this.__isEndDateEditable}\n ?disabled=${this.disabledSelector.matches('end-date', true)}\n .checkAvailability=${this.__checkEndDateAvailability}\n @change=${(evt: Event) => {\n const target = evt.target as InternalCalendar;\n this.edit({ end_date: target.value });\n }}\n >\n </foxy-internal-calendar>\n </x-group>\n\n ${this.renderTemplateOrSlot('end-date:after')}\n </div>\n `;\n };\n\n private readonly __checkNextTransactionDateAvailability = (date: Date) => {\n const { settings, data: subscription } = this;\n\n if (settings && subscription) {\n const value = serializeDate(date);\n return isNextTransactionDate({ value, settings, subscription });\n }\n\n return date.getTime() >= Date.now();\n };\n\n private readonly __checkStartDateAvailability = (date: Date) => {\n return date.getTime() >= Date.now();\n };\n\n private readonly __checkEndDateAvailability = (date: Date) => {\n const tomorrow = new Date();\n tomorrow.setDate(tomorrow.getDate() + 1);\n tomorrow.setHours(0, 0, 0, 0);\n return date.getTime() >= tomorrow.getTime();\n };\n\n private readonly __renderStartDate = () => {\n const { data, lang, ns } = this;\n\n return html`\n <div data-testid=\"start-date\">\n ${this.renderTemplateOrSlot('start-date:before')}\n\n <x-group frame>\n <foxy-i18n key=\"start_date\" ns=${ns} lang=${lang} slot=\"header\"></foxy-i18n>\n <foxy-internal-calendar\n start=${ifDefined(data?.start_date.substr(0, 10))}\n value=${ifDefined(data?.start_date)}\n lang=${lang}\n ?readonly=${!this.__isStartDateEditable}\n ?disabled=${this.disabledSelector.matches('start-date', true)}\n .checkAvailability=${this.__checkStartDateAvailability}\n @change=${(evt: Event) => {\n const target = evt.target as InternalCalendar;\n this.edit({ start_date: target.value });\n }}\n >\n </foxy-internal-calendar>\n </x-group>\n\n ${this.renderTemplateOrSlot('start-date:after')}\n </div>\n `;\n };\n\n private readonly __renderNextTransactionDate = () => {\n const { data, lang, ns } = this;\n const isActive = !!data?.is_active;\n\n return html`\n <div data-testid=\"next-transaction-date\">\n ${this.renderTemplateOrSlot('next-transaction-date:before')}\n\n <x-group frame>\n <foxy-i18n key=\"next_transaction_date\" ns=${ns} lang=${lang} slot=\"header\"></foxy-i18n>\n <foxy-internal-calendar\n start=${ifDefined(data?.next_transaction_date.substr(0, 10))}\n value=${ifDefined(data?.next_transaction_date)}\n lang=${lang}\n ?readonly=${!isActive || this.readonlySelector.matches('next-transaction-date', true)}\n ?disabled=${!data || this.disabledSelector.matches('next-transaction-date', true)}\n .checkAvailability=${this.__checkNextTransactionDateAvailability}\n @change=${(evt: Event) => {\n const target = evt.target as InternalCalendar;\n this.edit({ next_transaction_date: target.value });\n }}\n >\n </foxy-internal-calendar>\n </x-group>\n\n ${this.renderTemplateOrSlot('next-transaction-date:after')}\n </div>\n `;\n };\n\n private readonly __renderFrequencyAsDropdown = () => {\n const { data } = this;\n const active = !!data?.is_active;\n const items = this.__frequencies.map(v => ({\n label: this.t(v === '.5m' ? 'twice_a_month' : 'frequency', parseFrequency(v)),\n value: v,\n }));\n\n return html`\n <vaadin-combo-box\n item-value-path=\"value\"\n item-label-path=\"label\"\n data-testid=\"frequency\"\n ?disabled=${!data || this.disabledSelector.matches('frequency', true)}\n ?readonly=${data && (!active || this.readonlySelector.matches('frequency', true))}\n class=\"w-full\"\n label=${this.t('frequency_label').toString()}\n value=${ifDefined(this.form.frequency)}\n .items=${items}\n @change=${(evt: Event) => {\n this.edit({ frequency: (evt.target as HTMLInputElement).value });\n }}\n >\n </vaadin-combo-box>\n `;\n };\n\n private readonly __renderFrequencyAsRadioList = () => {\n const { data, lang, ns } = this;\n\n return html`\n <x-group frame>\n <foxy-i18n key=\"frequency_label\" ns=${ns} lang=${lang} slot=\"header\"></foxy-i18n>\n\n <x-choice\n default-custom-value=\"1d\"\n data-testid=\"frequency\"\n type=\"frequency\"\n ns=${ns}\n ?custom=${this.settings === null}\n .items=${this.__frequencies}\n .value=${this.form.frequency ?? null}\n ?disabled=${!data || this.disabledSelector.matches('frequency', true)}\n ?readonly=${data && (!data.is_active || this.readonlySelector.matches('frequency', true))}\n @change=${(evt: Event) => {\n this.edit({ frequency: (evt.target as HTMLInputElement).value });\n }}\n >\n ${this.__frequencies.map(\n frequency => html`\n <foxy-i18n\n options=${JSON.stringify(parseFrequency(frequency))}\n slot=\"${frequency}-label\"\n lang=${lang}\n key=${frequency === '.5m' ? 'twice_a_month' : 'frequency'}\n ns=${ns}\n >\n </foxy-i18n>\n `\n )}\n </x-choice>\n </x-group>\n `;\n };\n\n private readonly __renderFrequency = () => {\n return html`\n <div class=\"sm-col-span-2\">\n ${this.renderTemplateOrSlot('frequency:before')}\n ${this.settings && this.__frequencies.length > 4\n ? this.__renderFrequencyAsDropdown()\n : this.__renderFrequencyAsRadioList()}\n ${this.renderTemplateOrSlot('frequency:after')}\n </div>\n `;\n };\n\n private readonly __renderCustomer = () => {\n const customerHref = this.data?._links['fx:customer'].href;\n const customerPageHref = customerHref ? this.getCustomerPageHref?.(customerHref) : void 0;\n\n return html`\n <div data-testid=\"customer\" class=\"sm-col-span-2\">\n ${this.renderTemplateOrSlot('customer:before')}\n\n <foxy-i18n infer=\"customer\" class=\"block text-s font-medium leading-xs mb-xs\" key=\"label\">\n </foxy-i18n>\n\n <a\n class=${classMap({\n 'block rounded transition-colors': true,\n 'ring-1 ring-contrast-10': !customerPageHref,\n 'cursor-pointer bg-contrast-5 hover-bg-contrast-10': !!customerPageHref,\n 'focus-outline-none focus-ring-2 focus-ring-primary-50': !!customerPageHref,\n })}\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n href=${ifDefined(customerPageHref)}\n >\n <foxy-customer-card infer=\"customer\" href=${ifDefined(customerHref)}></foxy-customer-card>\n </a>\n\n ${this.renderTemplateOrSlot('customer:after')}\n </div>\n `;\n };\n\n get hiddenSelector(): BooleanSelector {\n return new BooleanSelector(`items:pagination:card:autorenew-icon ${super.hiddenSelector}`);\n }\n\n get headerTitleOptions(): Record<string, unknown> {\n if (this.data && this.__currencyCode) {\n const frequency = parseFrequency(this.data.frequency);\n const transactionTemplate = this.__transactionTemplate;\n const total = transactionTemplate?.total_order;\n const amount = `${total} ${this.__currencyCode}`;\n const currencyDisplay = this.__currencyDisplay;\n const context = this.__currencyCode\n ? this.data.frequency === '.5m'\n ? 'twice_a_month'\n : 'recurring'\n : 'existing';\n\n return { ...frequency, amount, currencyDisplay, context };\n } else {\n return {};\n }\n }\n\n get headerSubtitleOptions(): Record<string, unknown> {\n let context: string;\n let date: string | null = null;\n\n if (this.data?.first_failed_transaction_date) {\n context = 'failed';\n date = this.data.first_failed_transaction_date;\n } else if (this.data?.end_date) {\n const hasEnded = new Date(this.data.end_date).getTime() > Date.now();\n context = hasEnded ? 'will_be_cancelled' : 'cancelled';\n date = this.data.end_date;\n } else if (!this.data?.is_active) {\n context = 'inactive';\n } else if (new Date(this.data.start_date) > new Date()) {\n context = 'will_be_active';\n date = this.data.start_date;\n } else {\n context = 'active';\n date = this.data.next_transaction_date;\n }\n\n return { date, context };\n }\n\n renderBody(): TemplateResult {\n let transactionsHref: string | undefined;\n\n try {\n const url = new URL(this.data?._links['fx:transactions'].href ?? '');\n url.searchParams.set('order', 'transaction_date desc');\n url.searchParams.set('zoom', 'items');\n transactionsHref = url.toString();\n } catch {\n transactionsHref = undefined;\n }\n\n return html`\n ${this.renderHeader()}\n\n <div class=\"relative grid grid-cols-1 sm-grid-cols-2 gap-l\">\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__transactionTemplateHref)}\n id=${this.__transactionTemplateLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__defaultTemplateSetHref)}\n id=${this.__defaultTemplateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__localeCodesHelperHref)}\n id=${this.__localeCodesHelperLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__templateSetHref)}\n id=${this.__templateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__storeHref)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n ${this.hiddenSelector.matches('customer', true) ? '' : this.__renderCustomer()}\n ${this.hiddenSelector.matches('items', true) ? '' : this.__renderItems()}\n ${this.__isFrequencyVisible ? this.__renderFrequency() : ''}\n ${this.__isStartDateVisible ? this.__renderStartDate() : ''}\n ${this.__isNextTransactionDateVisible ? this.__renderNextTransactionDate() : ''}\n ${this.__isEndDateVisible ? this.__renderEndDate() : ''}\n\n <foxy-internal-number-control\n suffix=${ifDefined(this.__currencyCode ?? void 0)}\n infer=\"past-due-amount\"\n class=\"sm-col-span-2\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n\n <foxy-internal-async-list-control\n first=${ifDefined(this.data?._links['fx:attributes']?.href)}\n class=\"sm-col-span-2\"\n infer=\"attributes\"\n limit=\"5\"\n form=\"foxy-attribute-form\"\n item=\"foxy-attribute-card\"\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n first=${ifDefined(transactionsHref)}\n class=\"sm-col-span-2\"\n infer=\"transactions\"\n limit=\"5\"\n item=\"foxy-transaction-card\"\n hide-delete-button\n .getPageHref=${this.getTransactionPageHref}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-timestamps-control infer=\"timestamps\" class=\"sm-col-span-2\">\n </foxy-internal-timestamps-control>\n </div>\n `;\n }\n\n private get __transactionTemplateHref() {\n type DataWithEmbeds = Resource<Rels.Subscription, { zoom: 'transaction_template' }>;\n type Embed = Resource<Rels.TransactionTemplate>;\n\n const data = this.data as DataWithEmbeds | null;\n const embed = data?._embedded?.['fx:transaction_template'] as Embed | undefined;\n\n return embed ? void 0 : data?._links['fx:transaction_template'].href;\n }\n\n private get __defaultTemplateSetHref() {\n const templateSetUri = this.__transactionTemplate?.template_set_uri;\n\n if (templateSetUri === '') {\n try {\n const url = new URL(this.__store?._links['fx:template_sets'].href ?? '');\n url.searchParams.set('code', 'DEFAULT');\n return url.toString();\n } catch {\n //\n }\n }\n }\n\n private get __localeCodesHelperHref() {\n if (this.__defaultTemplateSetHref || this.__templateSetHref) {\n return this.localeCodes ?? void 0;\n }\n }\n\n private get __templateSetHref() {\n const cart = this.__transactionTemplate;\n if (!cart?.currency_code) return cart?.template_set_uri || void 0;\n }\n\n private get __storeHref() {\n return this.data?._links['fx:store']?.href;\n }\n\n private get __transactionTemplate() {\n type DataWithEmbeds = Resource<Rels.Subscription, { zoom: 'transaction_template' }>;\n type Loader = NucleonElement<Resource<Rels.TransactionTemplate>>;\n type Embed = Resource<Rels.TransactionTemplate>;\n\n const data = this.data as DataWithEmbeds | null;\n const embed = data?._embedded?.['fx:transaction_template'] as Embed | undefined;\n const selector = `#${this.__transactionTemplateLoaderId}`;\n\n return embed ?? this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __defaultTemplateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSets>>;\n const selector = `#${this.__defaultTemplateSetLoaderId}`;\n const loader = this.renderRoot.querySelector<Loader>(selector);\n return loader?.data?._embedded['fx:template_sets'][0] ?? null;\n }\n\n private get __localeCodesHelper() {\n type Loader = NucleonElement<Resource<Rels.LocaleCodes>>;\n const selector = `#${this.__localeCodesHelperLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __templateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSet>>;\n const selector = `#${this.__templateSetLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __store() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n const selector = `#${this.__storeLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __isNextTransactionDateVisible() {\n if (this.hiddenSelector.matches('next-transaction-date', true)) return false;\n if (this.data === null) return false;\n if (this.data.end_date && new Date(this.data.end_date).getTime() <= Date.now()) return false;\n if (this.data.is_active === false) return false;\n if (this.settings === null) return true;\n\n const rules = this.settings.subscriptions.allow_next_date_modification;\n return !!getNextTransactionDateConstraints(this.data, rules);\n }\n\n private get __isStartDateVisible() {\n if (this.hiddenSelector.matches('start-date', true)) return false;\n return this.__isNextTransactionDateVisible;\n }\n\n private get __isEndDateVisible() {\n if (this.hiddenSelector.matches('end-date', true)) return false;\n if (this.data === null) return false;\n if (this.data.end_date && new Date(this.data.end_date).getTime() <= Date.now()) return false;\n if (this.data.is_active === false) return false;\n return !this.settings;\n }\n\n private get __isStartDateEditable() {\n if (this.readonlySelector.matches('start-date', true)) return false;\n if (this.data === null) return false;\n if (this.data.end_date && new Date(this.data.end_date) <= new Date()) return false;\n if (this.data.is_active === false) return false;\n if (this.data.start_date && new Date(this.data.start_date) <= new Date()) return false;\n\n return this.settings === null;\n }\n\n private get __isEndDateEditable() {\n if (this.readonlySelector.matches('end-date', true)) return false;\n if (this.data === null) return false;\n if (this.data.end_date && new Date(this.data.end_date) <= new Date()) return false;\n if (this.data.is_active === false) return false;\n\n return this.settings === null;\n }\n\n private get __isFrequencyVisible() {\n if (this.hiddenSelector.matches('frequency', true)) return false;\n if (this.data === null) return false;\n if (this.data.end_date && new Date(this.data.end_date).getTime() <= Date.now()) return false;\n if (this.data.is_active === false) return false;\n if (this.settings === null) return true;\n\n const allowedFrequencies = getAllowedFrequencies({\n subscription: this.data,\n settings: this.settings,\n });\n\n return !allowedFrequencies.next().done;\n }\n\n private get __frequencies() {\n if (!this.settings || !this.data) return ['.5m', '1m', '1y'];\n\n const allowedFrequencies = getAllowedFrequencies({\n subscription: this.data,\n settings: this.settings,\n });\n\n return Array.from(allowedFrequencies);\n }\n\n private get __currencyCode() {\n const cart = this.__transactionTemplate;\n if (cart?.currency_code) return cart.currency_code;\n\n const allLocaleCodes = this.__localeCodesHelper;\n const localeCode = (this.__templateSet ?? this.__defaultTemplateSet)?.locale_code;\n const localeInfo = localeCode ? allLocaleCodes?.values[localeCode] : void 0;\n if (localeInfo) return /Currency: ([A-Z]{3})/g.exec(localeInfo)?.[1] ?? null;\n\n return null;\n }\n\n private get __currencyDisplay() {\n return this.__store?.use_international_currency_symbol ? 'code' : 'symbol';\n }\n}\n"]}
|
|
@@ -17,6 +17,8 @@ export declare class Transaction extends Base<Data> {
|
|
|
17
17
|
hostedPaymentGatewaysHelper: string | null;
|
|
18
18
|
/** URL of the `fx:payment_gateways` property helper resource. */
|
|
19
19
|
paymentGatewaysHelper: string | null;
|
|
20
|
+
/** Link to the `fx:locale_codes` property helper for currency formatting. */
|
|
21
|
+
localeCodes: string | null;
|
|
20
22
|
getSubscriptionPageHref: ((href: string) => string) | null;
|
|
21
23
|
getCustomerPageHref: ((href: string) => string) | null;
|
|
22
24
|
private readonly __webhooksBulkActions;
|
|
@@ -19,6 +19,8 @@ export class Transaction extends Base {
|
|
|
19
19
|
this.hostedPaymentGatewaysHelper = null;
|
|
20
20
|
/** URL of the `fx:payment_gateways` property helper resource. */
|
|
21
21
|
this.paymentGatewaysHelper = null;
|
|
22
|
+
/** Link to the `fx:locale_codes` property helper for currency formatting. */
|
|
23
|
+
this.localeCodes = null;
|
|
22
24
|
this.getSubscriptionPageHref = null;
|
|
23
25
|
this.getCustomerPageHref = null;
|
|
24
26
|
this.__webhooksBulkActions = [
|
|
@@ -61,6 +63,7 @@ export class Transaction extends Base {
|
|
|
61
63
|
paymentGatewaysHelper: { attribute: 'payment-gateways-helper' },
|
|
62
64
|
getSubscriptionPageHref: { attribute: false },
|
|
63
65
|
getCustomerPageHref: { attribute: false },
|
|
66
|
+
localeCodes: { attribute: 'locale-codes' },
|
|
64
67
|
};
|
|
65
68
|
}
|
|
66
69
|
get readonlySelector() {
|
|
@@ -198,7 +201,7 @@ export class Transaction extends Base {
|
|
|
198
201
|
`;
|
|
199
202
|
}
|
|
200
203
|
renderBody() {
|
|
201
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
204
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
202
205
|
let shipmentsLink = undefined;
|
|
203
206
|
let webhooksLink = undefined;
|
|
204
207
|
let itemsLink = undefined;
|
|
@@ -218,7 +221,7 @@ export class Transaction extends Base {
|
|
|
218
221
|
webhooksLink = webhooksUrl.toString();
|
|
219
222
|
itemsLink = itemsUrl.toString();
|
|
220
223
|
}
|
|
221
|
-
catch (
|
|
224
|
+
catch (_r) {
|
|
222
225
|
//
|
|
223
226
|
}
|
|
224
227
|
}
|
|
@@ -252,6 +255,12 @@ export class Transaction extends Base {
|
|
|
252
255
|
alert
|
|
253
256
|
wide
|
|
254
257
|
.related=${[this.href]}
|
|
258
|
+
.itemProps=${{ 'locale-codes': this.localeCodes }}
|
|
259
|
+
.formProps=${{
|
|
260
|
+
'item-categories': (_g = (_f = this.__storeLoader) === null || _f === void 0 ? void 0 : _f.data) === null || _g === void 0 ? void 0 : _g._links['fx:item_categories'].href,
|
|
261
|
+
'locale-codes': this.localeCodes,
|
|
262
|
+
'store': (_h = this.data) === null || _h === void 0 ? void 0 : _h._links['fx:store'].href,
|
|
263
|
+
}}
|
|
255
264
|
>
|
|
256
265
|
</foxy-internal-async-list-control>
|
|
257
266
|
|
|
@@ -261,7 +270,7 @@ export class Transaction extends Base {
|
|
|
261
270
|
|
|
262
271
|
<foxy-internal-async-list-control
|
|
263
272
|
infer="billing-addresses"
|
|
264
|
-
first=${ifDefined((
|
|
273
|
+
first=${ifDefined((_j = this.data) === null || _j === void 0 ? void 0 : _j._links['fx:billing_addresses'].href)}
|
|
265
274
|
item="foxy-billing-address-card"
|
|
266
275
|
form="foxy-address-form"
|
|
267
276
|
hide-create-button
|
|
@@ -272,7 +281,7 @@ export class Transaction extends Base {
|
|
|
272
281
|
|
|
273
282
|
<foxy-internal-async-list-control
|
|
274
283
|
infer="payments"
|
|
275
|
-
first=${ifDefined((
|
|
284
|
+
first=${ifDefined((_k = this.data) === null || _k === void 0 ? void 0 : _k._links['fx:payments'].href)}
|
|
276
285
|
item="foxy-payment-card"
|
|
277
286
|
.itemProps=${{
|
|
278
287
|
'hosted-payment-gateways-helper': this.hostedPaymentGatewaysHelper,
|
|
@@ -288,7 +297,7 @@ export class Transaction extends Base {
|
|
|
288
297
|
<foxy-internal-async-list-control
|
|
289
298
|
infer="custom-fields"
|
|
290
299
|
class="min-w-0"
|
|
291
|
-
first=${ifDefined((
|
|
300
|
+
first=${ifDefined((_l = this.data) === null || _l === void 0 ? void 0 : _l._links['fx:custom_fields'].href)}
|
|
292
301
|
limit="5"
|
|
293
302
|
form="foxy-custom-field-form"
|
|
294
303
|
item="foxy-custom-field-card"
|
|
@@ -299,7 +308,7 @@ export class Transaction extends Base {
|
|
|
299
308
|
<foxy-internal-async-list-control
|
|
300
309
|
infer="attributes"
|
|
301
310
|
class="min-w-0"
|
|
302
|
-
first=${ifDefined((
|
|
311
|
+
first=${ifDefined((_m = this.data) === null || _m === void 0 ? void 0 : _m._links['fx:attributes'].href)}
|
|
303
312
|
limit="5"
|
|
304
313
|
form="foxy-attribute-form"
|
|
305
314
|
item="foxy-attribute-card"
|
|
@@ -333,7 +342,7 @@ export class Transaction extends Base {
|
|
|
333
342
|
<foxy-internal-switch-control infer="data-is-fed"></foxy-internal-switch-control>
|
|
334
343
|
<foxy-internal-transaction-post-action-control
|
|
335
344
|
infer="process-webhook"
|
|
336
|
-
href=${ifDefined((
|
|
345
|
+
href=${ifDefined((_p = (_o = this.data) === null || _o === void 0 ? void 0 : _o._links['fx:process_webhook']) === null || _p === void 0 ? void 0 : _p.href)}
|
|
337
346
|
>
|
|
338
347
|
</foxy-internal-transaction-post-action-control>
|
|
339
348
|
</foxy-internal-summary-control>
|
|
@@ -341,7 +350,7 @@ export class Transaction extends Base {
|
|
|
341
350
|
<foxy-nucleon
|
|
342
351
|
class="hidden"
|
|
343
352
|
infer=""
|
|
344
|
-
href=${ifDefined((
|
|
353
|
+
href=${ifDefined((_q = this.data) === null || _q === void 0 ? void 0 : _q._links['fx:store'].href)}
|
|
345
354
|
id="storeLoader"
|
|
346
355
|
@update=${() => this.requestUpdate()}
|
|
347
356
|
>
|