@foxy.io/elements 1.18.0-beta.3 → 1.18.0-beta.6
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-access-recovery-form.js +1 -1
- package/dist/cdn/foxy-address-card.js +2 -2
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-api-browser.js +3 -3
- package/dist/cdn/foxy-applied-tax-card.js +1 -1
- package/dist/cdn/foxy-attribute-card.js +1 -1
- package/dist/cdn/foxy-attribute-form.js +1 -1
- package/dist/cdn/foxy-cancellation-form.js +1 -1
- package/dist/cdn/foxy-collection-page.js +1 -1
- package/dist/cdn/foxy-collection-pages.js +1 -1
- package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
- package/dist/cdn/foxy-coupon-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-codes-form.js +1 -1
- package/dist/cdn/foxy-coupon-detail-card.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-custom-field-card.js +1 -1
- package/dist/cdn/foxy-custom-field-form.js +1 -1
- package/dist/cdn/foxy-customer-api.js +1 -1
- package/dist/cdn/foxy-customer-card.js +1 -1
- package/dist/cdn/foxy-customer-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +2 -2
- package/dist/cdn/foxy-customer.js +6 -6
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-builder.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-discount-detail-card.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-error-entry-card.js +1 -1
- package/dist/cdn/foxy-form-dialog.js +1 -1
- package/dist/cdn/foxy-generate-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-log-card.js +1 -0
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -0
- package/dist/cdn/foxy-item-category-form.js +1 -0
- package/dist/cdn/foxy-item-form.js +1 -1
- package/dist/cdn/foxy-item-option-card.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-nucleon-element.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-payment-card.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +2 -2
- package/dist/cdn/foxy-reports-table.js +5 -5
- package/dist/cdn/foxy-shipment-card.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -150
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +5 -5
- package/dist/cdn/foxy-subscriptions-table.js +1 -1
- package/dist/cdn/foxy-swipe-actions.js +1 -1
- package/dist/cdn/foxy-table.js +1 -1
- package/dist/cdn/foxy-tax-card.js +1 -1
- package/dist/cdn/foxy-tax-form.js +1 -1
- package/dist/cdn/foxy-template-config-form.js +1 -1
- package/dist/cdn/foxy-template-form.js +1 -1
- package/dist/cdn/foxy-transaction-card.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-transactions-table.js +1 -1
- package/dist/cdn/foxy-user-form.js +1 -1
- package/dist/cdn/foxy-users-table.js +1 -1
- package/dist/cdn/foxy-webhook-card.js +1 -1
- package/dist/cdn/foxy-webhook-form.js +1 -1
- package/dist/cdn/foxy-webhook-log-card.js +1 -1
- package/dist/cdn/foxy-webhook-status-card.js +1 -1
- package/dist/cdn/{shared-e1c1e8e2.js → shared-0479553e.js} +1 -1
- package/dist/cdn/{shared-99940888.js → shared-11c2efc8.js} +1 -1
- package/dist/cdn/{shared-5482630e.js → shared-12abadda.js} +1 -1
- package/dist/cdn/{shared-a48a9dfc.js → shared-12e9933a.js} +1 -1
- package/dist/cdn/shared-146635ed.js +1 -0
- package/dist/cdn/{shared-9ef81b37.js → shared-1765d84b.js} +1 -1
- package/dist/cdn/{shared-189dfb49.js → shared-1c05004b.js} +1 -1
- package/dist/cdn/{shared-ff1d9854.js → shared-1e264485.js} +1 -1
- package/dist/cdn/{shared-23fd456c.js → shared-23e21265.js} +1 -1
- package/dist/cdn/shared-27200366.js +1 -0
- package/dist/cdn/{shared-5e43b817.js → shared-2af8c996.js} +5 -5
- package/dist/cdn/{shared-4560425c.js → shared-2b54d9fe.js} +1 -1
- package/dist/cdn/shared-36ed123a.js +11 -0
- package/dist/cdn/{shared-9be1a70f.js → shared-3ddbe8c9.js} +1 -1
- package/dist/cdn/{shared-2ca6d676.js → shared-4181eb12.js} +1 -1
- package/dist/cdn/shared-43dff1c8.js +1 -0
- package/dist/cdn/{shared-023c287a.js → shared-4ba52733.js} +1 -1
- package/dist/cdn/{shared-4773b634.js → shared-4ca7363a.js} +1 -1
- package/dist/cdn/shared-4d28c698.js +1 -0
- package/dist/cdn/{shared-a2a1193d.js → shared-525aabce.js} +1 -1
- package/dist/cdn/shared-55b49058.js +150 -0
- package/dist/cdn/shared-565feb2f.js +1 -0
- package/dist/cdn/{shared-872ceacf.js → shared-5c3d4435.js} +2 -2
- package/dist/cdn/shared-5f82e90e.js +1 -0
- package/dist/cdn/{shared-91b86bae.js → shared-64e3f8da.js} +1 -1
- package/dist/cdn/{shared-901ca702.js → shared-6534863a.js} +1 -1
- package/dist/cdn/{shared-c63ba384.js → shared-6f83a8cf.js} +1 -1
- package/dist/cdn/{shared-c0fb5a33.js → shared-75c7193c.js} +1 -1
- package/dist/cdn/{shared-11f0daea.js → shared-78dba0d5.js} +4 -4
- package/dist/cdn/shared-79d6676d.js +1 -0
- package/dist/cdn/{shared-dc73b9a5.js → shared-7f33a83a.js} +1 -1
- package/dist/cdn/shared-83344a27.js +1 -0
- package/dist/cdn/{shared-85d45495.js → shared-84b5d8f0.js} +1 -1
- package/dist/cdn/shared-85cd6cfb.js +1 -0
- package/dist/cdn/{shared-3a7cf739.js → shared-86d0d927.js} +1 -1
- package/dist/cdn/{shared-ec7cfc23.js → shared-946f88a0.js} +12 -22
- package/dist/cdn/shared-94e2d173.js +1 -0
- package/dist/cdn/{shared-0eb966c5.js → shared-99065f2a.js} +1 -1
- package/dist/cdn/{shared-80b90eec.js → shared-9943c9c2.js} +1 -1
- package/dist/cdn/{shared-74a27421.js → shared-9b401cca.js} +1 -1
- package/dist/cdn/{shared-68ab037d.js → shared-a639ff32.js} +1 -1
- package/dist/cdn/{shared-71acf673.js → shared-a6c41415.js} +1 -1
- package/dist/cdn/shared-aa1a0a7c.js +1 -0
- package/dist/cdn/shared-b160a8b2.js +1 -0
- package/dist/cdn/{shared-fd595d0a.js → shared-b5179f8e.js} +1 -1
- package/dist/cdn/{shared-c7280a24.js → shared-b886c58b.js} +1 -1
- package/dist/cdn/shared-ba11b8bd.js +1 -0
- package/dist/cdn/{shared-fcbf9a41.js → shared-bbf4b58e.js} +1 -1
- package/dist/cdn/shared-bc72765e.js +1 -0
- package/dist/cdn/{shared-4c0520f6.js → shared-bfca826a.js} +1 -1
- package/dist/cdn/{shared-fe68657a.js → shared-c6ed1e9d.js} +1 -1
- package/dist/cdn/shared-c7bd91d8.js +29 -0
- package/dist/cdn/{shared-3e3c07ac.js → shared-cd5789ea.js} +1 -1
- package/dist/cdn/{shared-f2639daf.js → shared-d0e0fe52.js} +1 -1
- package/dist/cdn/{shared-9803aa7c.js → shared-d3bf9ac0.js} +2 -2
- package/dist/cdn/{shared-084b6372.js → shared-d44a2a31.js} +1 -1
- package/dist/cdn/shared-d4d52840.js +1 -0
- package/dist/cdn/{shared-a0c6a159.js → shared-d519a301.js} +2 -2
- package/dist/cdn/{shared-60c862aa.js → shared-d6ba6d5e.js} +1 -1
- package/dist/cdn/{shared-ca0f14c1.js → shared-e34d2ef1.js} +1 -1
- package/dist/cdn/{shared-f9f9ed5b.js → shared-e6f3e9f0.js} +1 -1
- package/dist/cdn/{shared-412670b8.js → shared-e7b5cc83.js} +1 -1
- package/dist/cdn/{shared-22ba9566.js → shared-f3b35364.js} +1 -1
- package/dist/cdn/{shared-c7c8d1b6.js → shared-fe555bf4.js} +1 -1
- package/dist/cdn/translations/gift-card-code-form/en.json +32 -0
- package/dist/cdn/translations/gift-card-code-log-card/en.json +10 -0
- package/dist/cdn/translations/gift-card-form/en.json +58 -1
- package/dist/cdn/translations/item-category-form/en.json +196 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +1 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -1
- package/dist/elements/internal/InternalControl/InternalControl.js +3 -2
- package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +1 -1
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +1 -1
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +17 -0
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +57 -0
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -0
- package/dist/elements/internal/InternalSelectControl/index.d.ts +5 -0
- package/dist/elements/internal/InternalSelectControl/index.js +7 -0
- package/dist/elements/internal/InternalSelectControl/index.js.map +1 -0
- package/dist/elements/internal/InternalSelectControl/types.d.ts +6 -0
- package/dist/elements/internal/InternalSelectControl/types.js +2 -0
- package/dist/elements/internal/InternalSelectControl/types.js.map +1 -0
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js +1 -0
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +4 -0
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +32 -0
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/index.d.ts +7 -4
- package/dist/elements/public/GiftCardCodeForm/index.js +7 -4
- package/dist/elements/public/GiftCardCodeForm/index.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.d.ts +5 -0
- package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js +23 -0
- package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js.map +1 -0
- package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.d.ts +6 -0
- package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js +8 -0
- package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js.map +1 -0
- package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.d.ts +12 -0
- package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js +108 -0
- package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js.map +1 -0
- package/dist/elements/public/GiftCardCodeLogCard/index.d.ts +6 -0
- package/dist/elements/public/GiftCardCodeLogCard/index.js +8 -0
- package/dist/elements/public/GiftCardCodeLogCard/index.js.map +1 -0
- package/dist/elements/public/GiftCardCodeLogCard/types.d.ts +3 -0
- package/dist/elements/public/GiftCardCodeLogCard/types.js +2 -0
- package/dist/elements/public/GiftCardCodeLogCard/types.js.map +1 -0
- package/dist/elements/public/GiftCardForm/GiftCardForm.js +25 -0
- package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
- package/dist/elements/public/GiftCardForm/index.d.ts +1 -2
- package/dist/elements/public/GiftCardForm/index.js +1 -2
- package/dist/elements/public/GiftCardForm/index.js.map +1 -1
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.d.ts +14 -0
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js +93 -0
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js.map +1 -0
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.d.ts +6 -0
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js +8 -0
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js.map +1 -0
- package/dist/elements/public/ItemCard/ItemCard.js +8 -6
- package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +6 -0
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +11 -0
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -0
- package/dist/elements/public/ItemCategoryCard/index.d.ts +2 -0
- package/dist/elements/public/ItemCategoryCard/index.js +4 -0
- package/dist/elements/public/ItemCategoryCard/index.js.map +1 -0
- package/dist/elements/public/ItemCategoryCard/types.d.ts +3 -0
- package/dist/elements/public/ItemCategoryCard/types.js +2 -0
- package/dist/elements/public/ItemCategoryCard/types.js.map +1 -0
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.d.ts +31 -0
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +309 -0
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -0
- package/dist/elements/public/ItemCategoryForm/index.d.ts +10 -0
- package/dist/elements/public/ItemCategoryForm/index.js +12 -0
- package/dist/elements/public/ItemCategoryForm/index.js.map +1 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.d.ts +8 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js +52 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js.map +1 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.d.ts +6 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js +8 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js.map +1 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.d.ts +11 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js +85 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js.map +1 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.d.ts +5 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js +7 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js.map +1 -0
- package/dist/elements/public/ItemCategoryForm/types.d.ts +3 -0
- package/dist/elements/public/ItemCategoryForm/types.js +2 -0
- package/dist/elements/public/ItemCategoryForm/types.js.map +1 -0
- package/dist/elements/public/NucleonElement/API.js +1 -1
- package/dist/elements/public/NucleonElement/API.js.map +1 -1
- package/dist/elements/public/NucleonElement/NucleonElement.js +2 -1
- package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
- package/dist/elements/public/ShipmentCard/types.d.ts +2 -16
- package/dist/elements/public/ShipmentCard/types.js.map +1 -1
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +0 -4
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
- package/dist/elements/public/index.d.ts +3 -0
- package/dist/elements/public/index.defined.d.ts +3 -0
- package/dist/elements/public/index.defined.js +3 -0
- package/dist/elements/public/index.defined.js.map +1 -1
- package/dist/elements/public/index.js +3 -0
- package/dist/elements/public/index.js.map +1 -1
- package/dist/mixins/themeable.js +32 -0
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +2 -2
- package/dist/cdn/shared-2f0efb2c.js +0 -1
- package/dist/cdn/shared-37b61010.js +0 -1
- package/dist/cdn/shared-381aa7fe.js +0 -1
- package/dist/cdn/shared-619adfad.js +0 -1
- package/dist/cdn/shared-6af95088.js +0 -1
- package/dist/cdn/shared-6ce2acfa.js +0 -1
- package/dist/cdn/shared-6f89d2e0.js +0 -1
- package/dist/cdn/shared-9b392ba8.js +0 -1
- package/dist/cdn/shared-9ef13805.js +0 -1
- package/dist/cdn/shared-d91ed0a8.js +0 -1
- package/dist/cdn/shared-daa454bf.js +0 -1
- package/dist/cdn/shared-f31044b8.js +0 -29
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { PropertyDeclarations } from 'lit-element';
|
|
2
|
+
import type { TemplateResult } from 'lit-html';
|
|
3
|
+
import type { NucleonV8N } from '../NucleonElement/types';
|
|
4
|
+
import type { Data } from './types';
|
|
5
|
+
import { InternalForm } from '../../internal/InternalForm/InternalForm';
|
|
6
|
+
declare const ItemCategoryForm_base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
|
|
7
|
+
defaultNS: string;
|
|
8
|
+
};
|
|
9
|
+
export declare class ItemCategoryForm extends ItemCategoryForm_base<Data> {
|
|
10
|
+
static get properties(): PropertyDeclarations;
|
|
11
|
+
static get v8n(): NucleonV8N<Data>;
|
|
12
|
+
emailTemplates: string | null;
|
|
13
|
+
taxes: string | null;
|
|
14
|
+
private static __shippingFlatRateTypeOptions;
|
|
15
|
+
private static __defaultWeightUnitOptions;
|
|
16
|
+
private static __defaultLengthUnitOptions;
|
|
17
|
+
private static __itemDeliveryTypeOptions;
|
|
18
|
+
private static __handlingFeeTypeOptions;
|
|
19
|
+
renderBody(): TemplateResult;
|
|
20
|
+
private __renderHandlingFee;
|
|
21
|
+
private __renderHandlingFeePercentage;
|
|
22
|
+
private __renderHandlingFeeMinimum;
|
|
23
|
+
private __renderDownloadDeliveryControls;
|
|
24
|
+
private __renderFlatRateControls;
|
|
25
|
+
private __renderShippingControls;
|
|
26
|
+
private __renderCustomsValue;
|
|
27
|
+
private __renderDiscountBuilder;
|
|
28
|
+
private __renderAdminEmail;
|
|
29
|
+
private __renderTaxes;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
2
|
+
import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
|
|
3
|
+
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
4
|
+
import { html } from 'lit-html';
|
|
5
|
+
export class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-category-form') {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.emailTemplates = null;
|
|
9
|
+
this.taxes = null;
|
|
10
|
+
}
|
|
11
|
+
static get properties() {
|
|
12
|
+
return {
|
|
13
|
+
...super.properties,
|
|
14
|
+
emailTemplates: { type: String, attribute: 'email-templates' },
|
|
15
|
+
taxes: { type: String },
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
static get v8n() {
|
|
19
|
+
return [
|
|
20
|
+
({ code: v }) => !!v || 'code:v8n_required',
|
|
21
|
+
({ code: v }) => (v && v.length <= 50) || 'code:v8n_too_long',
|
|
22
|
+
({ name: v }) => !!v || 'name:v8n_required',
|
|
23
|
+
({ name: v }) => (v && v.length <= 50) || 'name:v8n_too_long',
|
|
24
|
+
({ item_delivery_type: v }) => !!v || 'item-delivery-type:v8n_required',
|
|
25
|
+
({ item_delivery_type: t, max_downloads_per_customer: v }) => {
|
|
26
|
+
return ((t === 'downloaded' ? typeof v === 'number' : true) ||
|
|
27
|
+
'max-downloads-per-customer:v8n_required');
|
|
28
|
+
},
|
|
29
|
+
({ max_downloads_per_customer: v }) => {
|
|
30
|
+
return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-per-customer:v8n_negative';
|
|
31
|
+
},
|
|
32
|
+
({ item_delivery_type: t, max_downloads_time_period: v }) => {
|
|
33
|
+
return ((t === 'downloaded' ? typeof v === 'number' : true) ||
|
|
34
|
+
'max-downloads-time-period:v8n_required');
|
|
35
|
+
},
|
|
36
|
+
({ max_downloads_time_period: v }) => {
|
|
37
|
+
return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-time-period:v8n_negative';
|
|
38
|
+
},
|
|
39
|
+
({ customs_value: v }) => {
|
|
40
|
+
return (typeof v === 'number' ? v >= 0 : true) || 'customs-value:v8n_negative';
|
|
41
|
+
},
|
|
42
|
+
({ item_delivery_type: t, default_weight: v }) => {
|
|
43
|
+
return (t === 'shipped' ? typeof v === 'number' : true) || 'default-weight:v8n_required';
|
|
44
|
+
},
|
|
45
|
+
({ default_weight: v }) => {
|
|
46
|
+
return (typeof v === 'number' ? v >= 0 : true) || 'default-weight:v8n_negative';
|
|
47
|
+
},
|
|
48
|
+
({ item_delivery_type: t, default_weight_unit: v }) => {
|
|
49
|
+
return ((t === 'shipped' ? typeof v === 'string' : true) || 'default-weight-unit:v8n_required');
|
|
50
|
+
},
|
|
51
|
+
({ item_delivery_type: t, default_length_unit: v }) => {
|
|
52
|
+
return ((t === 'shipped' ? typeof v === 'string' : true) || 'default-length-unit:v8n_required');
|
|
53
|
+
},
|
|
54
|
+
({ item_delivery_type: t, shipping_flat_rate: v }) => {
|
|
55
|
+
return ((t === 'flat_rate' ? typeof v === 'number' : true) || 'shipping-flat-rate:v8n_required');
|
|
56
|
+
},
|
|
57
|
+
({ shipping_flat_rate: v }) => {
|
|
58
|
+
return (typeof v === 'number' ? v >= 0 : true) || 'shipping-flat-rate:v8n_negative';
|
|
59
|
+
},
|
|
60
|
+
({ item_delivery_type: t, shipping_flat_rate_type: v }) => {
|
|
61
|
+
return ((t === 'flat_rate' ? typeof v === 'string' : true) ||
|
|
62
|
+
'shipping-flat-rate-type:v8n_required');
|
|
63
|
+
},
|
|
64
|
+
({ handling_fee_type: v }) => !!v || 'handling-fee-type:v8n_required',
|
|
65
|
+
({ handling_fee_type: t, handling_fee_minimum: v }) => {
|
|
66
|
+
return ((t === 'flat_percent_with_minimum' ? typeof v === 'number' : true) ||
|
|
67
|
+
'handling-fee-minimum:v8n_required');
|
|
68
|
+
},
|
|
69
|
+
({ handling_fee_minimum: v }) => {
|
|
70
|
+
return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-minimum:v8n_negative';
|
|
71
|
+
},
|
|
72
|
+
({ handling_fee_type: t, handling_fee_percentage: v }) => {
|
|
73
|
+
return ((t === 'flat_percent_with_minimum' || t === 'flat_percent'
|
|
74
|
+
? typeof v === 'number'
|
|
75
|
+
: true) || 'handling-fee-percentage:v8n_required');
|
|
76
|
+
},
|
|
77
|
+
({ handling_fee_percentage: v }) => {
|
|
78
|
+
return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-percentage:v8n_negative';
|
|
79
|
+
},
|
|
80
|
+
({ send_admin_email: s, admin_email: v }) => (s ? !!v : true) || 'admin-email:v8n_required',
|
|
81
|
+
];
|
|
82
|
+
}
|
|
83
|
+
renderBody() {
|
|
84
|
+
var _a, _b, _c, _d;
|
|
85
|
+
const itemDeliveryType = this.form.item_delivery_type;
|
|
86
|
+
const handlingFeeType = (_a = this.form.handling_fee_type) !== null && _a !== void 0 ? _a : 'none';
|
|
87
|
+
const hasDividers = !this.hiddenSelector.matches('dividers', true);
|
|
88
|
+
const divider = html `<div class="border-t border-contrast-10 col-span-2"></div>`;
|
|
89
|
+
return html `
|
|
90
|
+
<div class="grid grid-cols-2 gap-m">
|
|
91
|
+
<foxy-internal-text-control infer="name" class="col-span-2"></foxy-internal-text-control>
|
|
92
|
+
<foxy-internal-text-control infer="code" class="col-span-2"></foxy-internal-text-control>
|
|
93
|
+
|
|
94
|
+
${hasDividers ? divider : ''}
|
|
95
|
+
|
|
96
|
+
<foxy-internal-select-control
|
|
97
|
+
infer="handling-fee-type"
|
|
98
|
+
class="col-span-2"
|
|
99
|
+
.options=${ItemCategoryForm.__handlingFeeTypeOptions}
|
|
100
|
+
>
|
|
101
|
+
</foxy-internal-select-control>
|
|
102
|
+
|
|
103
|
+
${handlingFeeType === 'none'
|
|
104
|
+
? ''
|
|
105
|
+
: html `
|
|
106
|
+
${this.__renderHandlingFee()}
|
|
107
|
+
${handlingFeeType.includes('percent') ? this.__renderHandlingFeePercentage() : ''}
|
|
108
|
+
${handlingFeeType === 'flat_percent_with_minimum'
|
|
109
|
+
? this.__renderHandlingFeeMinimum()
|
|
110
|
+
: ''}
|
|
111
|
+
`}
|
|
112
|
+
${hasDividers ? divider : ''}
|
|
113
|
+
|
|
114
|
+
<foxy-internal-select-control
|
|
115
|
+
infer="item-delivery-type"
|
|
116
|
+
class="col-span-2"
|
|
117
|
+
.options=${ItemCategoryForm.__itemDeliveryTypeOptions}
|
|
118
|
+
>
|
|
119
|
+
</foxy-internal-select-control>
|
|
120
|
+
|
|
121
|
+
${itemDeliveryType === 'downloaded'
|
|
122
|
+
? this.__renderDownloadDeliveryControls()
|
|
123
|
+
: itemDeliveryType === 'flat_rate'
|
|
124
|
+
? this.__renderFlatRateControls()
|
|
125
|
+
: itemDeliveryType === 'shipped'
|
|
126
|
+
? this.__renderShippingControls()
|
|
127
|
+
: ''}
|
|
128
|
+
${itemDeliveryType === 'shipped' || itemDeliveryType === 'flat_rate'
|
|
129
|
+
? this.__renderCustomsValue()
|
|
130
|
+
: ''}
|
|
131
|
+
${hasDividers ? divider : ''}
|
|
132
|
+
|
|
133
|
+
<foxy-internal-text-control infer="discount-name" class="col-span-2">
|
|
134
|
+
</foxy-internal-text-control>
|
|
135
|
+
|
|
136
|
+
${this.form.discount_name ? this.__renderDiscountBuilder() : ''}
|
|
137
|
+
${hasDividers ? divider : ''}
|
|
138
|
+
|
|
139
|
+
<foxy-internal-async-combo-box-control
|
|
140
|
+
item-label-path="description"
|
|
141
|
+
item-value-path="_links.self.href"
|
|
142
|
+
first=${ifDefined((_b = this.emailTemplates) !== null && _b !== void 0 ? _b : undefined)}
|
|
143
|
+
infer="admin-email-template-uri"
|
|
144
|
+
class=${this.form.send_admin_email ? '' : 'col-span-2'}
|
|
145
|
+
@change=${(evt) => {
|
|
146
|
+
this.edit({
|
|
147
|
+
send_admin_email: !!evt.detail,
|
|
148
|
+
admin_email: evt.detail ? this.form.admin_email : '',
|
|
149
|
+
});
|
|
150
|
+
}}
|
|
151
|
+
>
|
|
152
|
+
</foxy-internal-async-combo-box-control>
|
|
153
|
+
|
|
154
|
+
${this.form.send_admin_email ? this.__renderAdminEmail() : ''}
|
|
155
|
+
|
|
156
|
+
<foxy-internal-async-combo-box-control
|
|
157
|
+
item-label-path="description"
|
|
158
|
+
item-value-path="_links.self.href"
|
|
159
|
+
first=${ifDefined((_c = this.emailTemplates) !== null && _c !== void 0 ? _c : undefined)}
|
|
160
|
+
infer="customer-email-template-uri"
|
|
161
|
+
class="col-span-2"
|
|
162
|
+
@change=${(evt) => this.edit({ send_customer_email: !!evt.detail })}
|
|
163
|
+
>
|
|
164
|
+
</foxy-internal-async-combo-box-control>
|
|
165
|
+
|
|
166
|
+
<foxy-internal-async-combo-box-control
|
|
167
|
+
item-label-path="description"
|
|
168
|
+
item-value-path="_links.self.href"
|
|
169
|
+
first=${ifDefined((_d = this.emailTemplates) !== null && _d !== void 0 ? _d : undefined)}
|
|
170
|
+
infer="gift-recipient-email-template-uri"
|
|
171
|
+
class="col-span-2"
|
|
172
|
+
>
|
|
173
|
+
</foxy-internal-async-combo-box-control>
|
|
174
|
+
|
|
175
|
+
${hasDividers ? divider : ''} ${this.data ? this.__renderTaxes() : ''}
|
|
176
|
+
</div>
|
|
177
|
+
|
|
178
|
+
${super.renderBody()}
|
|
179
|
+
`;
|
|
180
|
+
}
|
|
181
|
+
__renderHandlingFee() {
|
|
182
|
+
return html `
|
|
183
|
+
<foxy-internal-number-control
|
|
184
|
+
infer="handling-fee"
|
|
185
|
+
class=${this.form.handling_fee_type === 'flat_percent' ? '' : 'col-span-2'}
|
|
186
|
+
>
|
|
187
|
+
</foxy-internal-number-control>
|
|
188
|
+
`;
|
|
189
|
+
}
|
|
190
|
+
__renderHandlingFeePercentage() {
|
|
191
|
+
return html `
|
|
192
|
+
<foxy-internal-number-control infer="handling-fee-percentage"> </foxy-internal-number-control>
|
|
193
|
+
`;
|
|
194
|
+
}
|
|
195
|
+
__renderHandlingFeeMinimum() {
|
|
196
|
+
return html `
|
|
197
|
+
<foxy-internal-number-control infer="handling-fee-minimum"> </foxy-internal-number-control>
|
|
198
|
+
`;
|
|
199
|
+
}
|
|
200
|
+
__renderDownloadDeliveryControls() {
|
|
201
|
+
return html `
|
|
202
|
+
<foxy-internal-integer-control infer="max-downloads-per-customer">
|
|
203
|
+
</foxy-internal-integer-control>
|
|
204
|
+
|
|
205
|
+
<foxy-internal-integer-control infer="max-downloads-time-period">
|
|
206
|
+
</foxy-internal-integer-control>
|
|
207
|
+
`;
|
|
208
|
+
}
|
|
209
|
+
__renderFlatRateControls() {
|
|
210
|
+
return html `
|
|
211
|
+
<foxy-internal-number-control infer="shipping-flat-rate"> </foxy-internal-number-control>
|
|
212
|
+
|
|
213
|
+
<foxy-internal-select-control
|
|
214
|
+
infer="shipping-flat-rate-type"
|
|
215
|
+
.options=${ItemCategoryForm.__shippingFlatRateTypeOptions}
|
|
216
|
+
>
|
|
217
|
+
</foxy-internal-select-control>
|
|
218
|
+
`;
|
|
219
|
+
}
|
|
220
|
+
__renderShippingControls() {
|
|
221
|
+
return html `
|
|
222
|
+
<foxy-internal-integer-control infer="default-weight" class="col-span-2">
|
|
223
|
+
</foxy-internal-integer-control>
|
|
224
|
+
|
|
225
|
+
<foxy-internal-select-control
|
|
226
|
+
infer="default-weight-unit"
|
|
227
|
+
.options=${ItemCategoryForm.__defaultWeightUnitOptions}
|
|
228
|
+
>
|
|
229
|
+
</foxy-internal-select-control>
|
|
230
|
+
|
|
231
|
+
<foxy-internal-select-control
|
|
232
|
+
infer="default-length-unit"
|
|
233
|
+
.options=${ItemCategoryForm.__defaultLengthUnitOptions}
|
|
234
|
+
>
|
|
235
|
+
</foxy-internal-select-control>
|
|
236
|
+
`;
|
|
237
|
+
}
|
|
238
|
+
__renderCustomsValue() {
|
|
239
|
+
return html `
|
|
240
|
+
<foxy-internal-number-control infer="customs-value" class="col-span-2">
|
|
241
|
+
</foxy-internal-number-control>
|
|
242
|
+
`;
|
|
243
|
+
}
|
|
244
|
+
__renderDiscountBuilder() {
|
|
245
|
+
var _a, _b;
|
|
246
|
+
const parsedValue = {
|
|
247
|
+
name: (_a = this.form.discount_name) !== null && _a !== void 0 ? _a : '',
|
|
248
|
+
type: this.form.discount_type || 'quantity_amount',
|
|
249
|
+
details: (_b = this.form.discount_details) !== null && _b !== void 0 ? _b : '',
|
|
250
|
+
};
|
|
251
|
+
return html `
|
|
252
|
+
<foxy-discount-builder
|
|
253
|
+
infer="discount-builder"
|
|
254
|
+
class="col-span-2"
|
|
255
|
+
.parsedValue=${parsedValue}
|
|
256
|
+
@change=${(evt) => {
|
|
257
|
+
const builder = evt.currentTarget;
|
|
258
|
+
this.edit({
|
|
259
|
+
discount_name: builder.parsedValue.name,
|
|
260
|
+
discount_type: builder.parsedValue.type,
|
|
261
|
+
discount_details: builder.parsedValue.details,
|
|
262
|
+
});
|
|
263
|
+
}}
|
|
264
|
+
>
|
|
265
|
+
</foxy-discount-builder>
|
|
266
|
+
`;
|
|
267
|
+
}
|
|
268
|
+
__renderAdminEmail() {
|
|
269
|
+
return html `<foxy-internal-text-control infer="admin-email"> </foxy-internal-text-control>`;
|
|
270
|
+
}
|
|
271
|
+
__renderTaxes() {
|
|
272
|
+
var _a;
|
|
273
|
+
return html `
|
|
274
|
+
<foxy-internal-item-category-form-taxes-control
|
|
275
|
+
taxes=${ifDefined((_a = this.taxes) !== null && _a !== void 0 ? _a : undefined)}
|
|
276
|
+
class="col-span-2"
|
|
277
|
+
infer="taxes"
|
|
278
|
+
>
|
|
279
|
+
</foxy-internal-item-category-form-taxes-control>
|
|
280
|
+
`;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
ItemCategoryForm.__shippingFlatRateTypeOptions = [
|
|
284
|
+
{ label: 'option_per_order', value: 'per_order' },
|
|
285
|
+
{ label: 'option_per_shipment', value: 'per_shipment' },
|
|
286
|
+
];
|
|
287
|
+
ItemCategoryForm.__defaultWeightUnitOptions = [
|
|
288
|
+
{ label: 'option_lbs', value: 'LBS' },
|
|
289
|
+
{ label: 'option_kgs', value: 'KGS' },
|
|
290
|
+
];
|
|
291
|
+
ItemCategoryForm.__defaultLengthUnitOptions = [
|
|
292
|
+
{ label: 'option_in', value: 'IN' },
|
|
293
|
+
{ label: 'option_cm', value: 'CM' },
|
|
294
|
+
];
|
|
295
|
+
ItemCategoryForm.__itemDeliveryTypeOptions = [
|
|
296
|
+
{ label: 'option_notshipped', value: 'notshipped' },
|
|
297
|
+
{ label: 'option_downloaded', value: 'downloaded' },
|
|
298
|
+
{ label: 'option_flat_rate', value: 'flat_rate' },
|
|
299
|
+
{ label: 'option_shipped', value: 'shipped' },
|
|
300
|
+
{ label: 'option_pickup', value: 'pickup' },
|
|
301
|
+
];
|
|
302
|
+
ItemCategoryForm.__handlingFeeTypeOptions = [
|
|
303
|
+
{ label: 'option_none', value: 'none' },
|
|
304
|
+
{ label: 'option_flat_per_order', value: 'flat_per_order' },
|
|
305
|
+
{ label: 'option_flat_per_item', value: 'flat_per_item' },
|
|
306
|
+
{ label: 'option_flat_percent', value: 'flat_percent' },
|
|
307
|
+
{ label: 'option_flat_percent_with_minimum', value: 'flat_percent_with_minimum' },
|
|
308
|
+
];
|
|
309
|
+
//# sourceMappingURL=ItemCategoryForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemCategoryForm.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemCategoryForm/ItemCategoryForm.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 { ParsedValue } from '../DiscountBuilder/types';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nexport class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-category-form')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n emailTemplates: { type: String, attribute: 'email-templates' },\n taxes: { type: String },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ code: v }) => !!v || 'code:v8n_required',\n ({ code: v }) => (v && v.length <= 50) || 'code:v8n_too_long',\n\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => (v && v.length <= 50) || 'name:v8n_too_long',\n\n ({ item_delivery_type: v }) => !!v || 'item-delivery-type:v8n_required',\n\n ({ item_delivery_type: t, max_downloads_per_customer: v }) => {\n return (\n (t === 'downloaded' ? typeof v === 'number' : true) ||\n 'max-downloads-per-customer:v8n_required'\n );\n },\n\n ({ max_downloads_per_customer: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-per-customer:v8n_negative';\n },\n\n ({ item_delivery_type: t, max_downloads_time_period: v }) => {\n return (\n (t === 'downloaded' ? typeof v === 'number' : true) ||\n 'max-downloads-time-period:v8n_required'\n );\n },\n\n ({ max_downloads_time_period: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-time-period:v8n_negative';\n },\n\n ({ customs_value: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'customs-value:v8n_negative';\n },\n\n ({ item_delivery_type: t, default_weight: v }) => {\n return (t === 'shipped' ? typeof v === 'number' : true) || 'default-weight:v8n_required';\n },\n\n ({ default_weight: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'default-weight:v8n_negative';\n },\n\n ({ item_delivery_type: t, default_weight_unit: v }) => {\n return (\n (t === 'shipped' ? typeof v === 'string' : true) || 'default-weight-unit:v8n_required'\n );\n },\n\n ({ item_delivery_type: t, default_length_unit: v }) => {\n return (\n (t === 'shipped' ? typeof v === 'string' : true) || 'default-length-unit:v8n_required'\n );\n },\n\n ({ item_delivery_type: t, shipping_flat_rate: v }) => {\n return (\n (t === 'flat_rate' ? typeof v === 'number' : true) || 'shipping-flat-rate:v8n_required'\n );\n },\n\n ({ shipping_flat_rate: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'shipping-flat-rate:v8n_negative';\n },\n\n ({ item_delivery_type: t, shipping_flat_rate_type: v }) => {\n return (\n (t === 'flat_rate' ? typeof v === 'string' : true) ||\n 'shipping-flat-rate-type:v8n_required'\n );\n },\n\n ({ handling_fee_type: v }) => !!v || 'handling-fee-type:v8n_required',\n\n ({ handling_fee_type: t, handling_fee_minimum: v }) => {\n return (\n (t === 'flat_percent_with_minimum' ? typeof v === 'number' : true) ||\n 'handling-fee-minimum:v8n_required'\n );\n },\n\n ({ handling_fee_minimum: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-minimum:v8n_negative';\n },\n\n ({ handling_fee_type: t, handling_fee_percentage: v }) => {\n return (\n (t === 'flat_percent_with_minimum' || t === 'flat_percent'\n ? typeof v === 'number'\n : true) || 'handling-fee-percentage:v8n_required'\n );\n },\n\n ({ handling_fee_percentage: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-percentage:v8n_negative';\n },\n\n ({ send_admin_email: s, admin_email: v }) => (s ? !!v : true) || 'admin-email:v8n_required',\n ];\n }\n\n emailTemplates: string | null = null;\n\n taxes: string | null = null;\n\n private static __shippingFlatRateTypeOptions = [\n { label: 'option_per_order', value: 'per_order' },\n { label: 'option_per_shipment', value: 'per_shipment' },\n ];\n\n private static __defaultWeightUnitOptions = [\n { label: 'option_lbs', value: 'LBS' },\n { label: 'option_kgs', value: 'KGS' },\n ];\n\n private static __defaultLengthUnitOptions = [\n { label: 'option_in', value: 'IN' },\n { label: 'option_cm', value: 'CM' },\n ];\n\n private static __itemDeliveryTypeOptions = [\n { label: 'option_notshipped', value: 'notshipped' },\n { label: 'option_downloaded', value: 'downloaded' },\n { label: 'option_flat_rate', value: 'flat_rate' },\n { label: 'option_shipped', value: 'shipped' },\n { label: 'option_pickup', value: 'pickup' },\n ];\n\n private static __handlingFeeTypeOptions = [\n { label: 'option_none', value: 'none' },\n { label: 'option_flat_per_order', value: 'flat_per_order' },\n { label: 'option_flat_per_item', value: 'flat_per_item' },\n { label: 'option_flat_percent', value: 'flat_percent' },\n { label: 'option_flat_percent_with_minimum', value: 'flat_percent_with_minimum' },\n ];\n\n renderBody(): TemplateResult {\n const itemDeliveryType = this.form.item_delivery_type;\n const handlingFeeType = this.form.handling_fee_type ?? 'none';\n const hasDividers = !this.hiddenSelector.matches('dividers', true);\n const divider = html`<div class=\"border-t border-contrast-10 col-span-2\"></div>`;\n\n return html`\n <div class=\"grid grid-cols-2 gap-m\">\n <foxy-internal-text-control infer=\"name\" class=\"col-span-2\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"code\" class=\"col-span-2\"></foxy-internal-text-control>\n\n ${hasDividers ? divider : ''}\n\n <foxy-internal-select-control\n infer=\"handling-fee-type\"\n class=\"col-span-2\"\n .options=${ItemCategoryForm.__handlingFeeTypeOptions}\n >\n </foxy-internal-select-control>\n\n ${handlingFeeType === 'none'\n ? ''\n : html`\n ${this.__renderHandlingFee()}\n ${handlingFeeType.includes('percent') ? this.__renderHandlingFeePercentage() : ''}\n ${handlingFeeType === 'flat_percent_with_minimum'\n ? this.__renderHandlingFeeMinimum()\n : ''}\n `}\n ${hasDividers ? divider : ''}\n\n <foxy-internal-select-control\n infer=\"item-delivery-type\"\n class=\"col-span-2\"\n .options=${ItemCategoryForm.__itemDeliveryTypeOptions}\n >\n </foxy-internal-select-control>\n\n ${itemDeliveryType === 'downloaded'\n ? this.__renderDownloadDeliveryControls()\n : itemDeliveryType === 'flat_rate'\n ? this.__renderFlatRateControls()\n : itemDeliveryType === 'shipped'\n ? this.__renderShippingControls()\n : ''}\n ${itemDeliveryType === 'shipped' || itemDeliveryType === 'flat_rate'\n ? this.__renderCustomsValue()\n : ''}\n ${hasDividers ? divider : ''}\n\n <foxy-internal-text-control infer=\"discount-name\" class=\"col-span-2\">\n </foxy-internal-text-control>\n\n ${this.form.discount_name ? this.__renderDiscountBuilder() : ''}\n ${hasDividers ? divider : ''}\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"admin-email-template-uri\"\n class=${this.form.send_admin_email ? '' : 'col-span-2'}\n @change=${(evt: CustomEvent) => {\n this.edit({\n send_admin_email: !!evt.detail,\n admin_email: evt.detail ? this.form.admin_email : '',\n });\n }}\n >\n </foxy-internal-async-combo-box-control>\n\n ${this.form.send_admin_email ? this.__renderAdminEmail() : ''}\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"customer-email-template-uri\"\n class=\"col-span-2\"\n @change=${(evt: CustomEvent) => this.edit({ send_customer_email: !!evt.detail })}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"gift-recipient-email-template-uri\"\n class=\"col-span-2\"\n >\n </foxy-internal-async-combo-box-control>\n\n ${hasDividers ? divider : ''} ${this.data ? this.__renderTaxes() : ''}\n </div>\n\n ${super.renderBody()}\n `;\n }\n\n private __renderHandlingFee() {\n return html`\n <foxy-internal-number-control\n infer=\"handling-fee\"\n class=${this.form.handling_fee_type === 'flat_percent' ? '' : 'col-span-2'}\n >\n </foxy-internal-number-control>\n `;\n }\n\n private __renderHandlingFeePercentage() {\n return html`\n <foxy-internal-number-control infer=\"handling-fee-percentage\"> </foxy-internal-number-control>\n `;\n }\n\n private __renderHandlingFeeMinimum() {\n return html`\n <foxy-internal-number-control infer=\"handling-fee-minimum\"> </foxy-internal-number-control>\n `;\n }\n\n private __renderDownloadDeliveryControls() {\n return html`\n <foxy-internal-integer-control infer=\"max-downloads-per-customer\">\n </foxy-internal-integer-control>\n\n <foxy-internal-integer-control infer=\"max-downloads-time-period\">\n </foxy-internal-integer-control>\n `;\n }\n\n private __renderFlatRateControls() {\n return html`\n <foxy-internal-number-control infer=\"shipping-flat-rate\"> </foxy-internal-number-control>\n\n <foxy-internal-select-control\n infer=\"shipping-flat-rate-type\"\n .options=${ItemCategoryForm.__shippingFlatRateTypeOptions}\n >\n </foxy-internal-select-control>\n `;\n }\n\n private __renderShippingControls() {\n return html`\n <foxy-internal-integer-control infer=\"default-weight\" class=\"col-span-2\">\n </foxy-internal-integer-control>\n\n <foxy-internal-select-control\n infer=\"default-weight-unit\"\n .options=${ItemCategoryForm.__defaultWeightUnitOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n infer=\"default-length-unit\"\n .options=${ItemCategoryForm.__defaultLengthUnitOptions}\n >\n </foxy-internal-select-control>\n `;\n }\n\n private __renderCustomsValue() {\n return html`\n <foxy-internal-number-control infer=\"customs-value\" class=\"col-span-2\">\n </foxy-internal-number-control>\n `;\n }\n\n private __renderDiscountBuilder() {\n const parsedValue: ParsedValue = {\n name: this.form.discount_name ?? '',\n type: this.form.discount_type || 'quantity_amount',\n details: this.form.discount_details ?? '',\n };\n\n return html`\n <foxy-discount-builder\n infer=\"discount-builder\"\n class=\"col-span-2\"\n .parsedValue=${parsedValue}\n @change=${(evt: CustomEvent) => {\n const builder = evt.currentTarget as DiscountBuilder;\n\n this.edit({\n discount_name: builder.parsedValue.name,\n discount_type: builder.parsedValue.type,\n discount_details: builder.parsedValue.details,\n });\n }}\n >\n </foxy-discount-builder>\n `;\n }\n\n private __renderAdminEmail() {\n return html`<foxy-internal-text-control infer=\"admin-email\"> </foxy-internal-text-control>`;\n }\n\n private __renderTaxes() {\n return html`\n <foxy-internal-item-category-form-taxes-control\n taxes=${ifDefined(this.taxes ?? undefined)}\n class=\"col-span-2\"\n infer=\"taxes\"\n >\n </foxy-internal-item-category-form-taxes-control>\n `;\n }\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import '../../internal/InternalAsyncComboBoxControl/index';
|
|
2
|
+
import '../../internal/InternalIntegerControl/index';
|
|
3
|
+
import '../../internal/InternalNumberControl/index';
|
|
4
|
+
import '../../internal/InternalSelectControl/index';
|
|
5
|
+
import '../../internal/InternalTextControl/index';
|
|
6
|
+
import '../../internal/InternalForm/index';
|
|
7
|
+
import '../DiscountBuilder/index';
|
|
8
|
+
import './internal/InternalItemCategoryFormTaxesControl/index';
|
|
9
|
+
import { ItemCategoryForm } from './ItemCategoryForm';
|
|
10
|
+
export { ItemCategoryForm };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import "../../internal/InternalAsyncComboBoxControl/index.js";
|
|
2
|
+
import "../../internal/InternalIntegerControl/index.js";
|
|
3
|
+
import "../../internal/InternalNumberControl/index.js";
|
|
4
|
+
import "../../internal/InternalSelectControl/index.js";
|
|
5
|
+
import "../../internal/InternalTextControl/index.js";
|
|
6
|
+
import "../../internal/InternalForm/index.js";
|
|
7
|
+
import "../DiscountBuilder/index.js";
|
|
8
|
+
import "./internal/InternalItemCategoryFormTaxesControl/index.js";
|
|
9
|
+
import { ItemCategoryForm } from "./ItemCategoryForm.js";
|
|
10
|
+
customElements.define('foxy-item-category-form', ItemCategoryForm);
|
|
11
|
+
export { ItemCategoryForm };
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemCategoryForm/index.ts"],"names":[],"mappings":"AAAA,8DAA2D;AAC3D,wDAAqD;AACrD,uDAAoD;AACpD,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,qCAAkC;AAElC,kEAA+D;AAE/D,OAAO,EAAE,gBAAgB,EAAE,8BAA2B;AAEtD,cAAc,CAAC,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,CAAC","sourcesContent":["import '../../internal/InternalAsyncComboBoxControl/index';\nimport '../../internal/InternalIntegerControl/index';\nimport '../../internal/InternalNumberControl/index';\nimport '../../internal/InternalSelectControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../DiscountBuilder/index';\n\nimport './internal/InternalItemCategoryFormTaxesControl/index';\n\nimport { ItemCategoryForm } from './ItemCategoryForm';\n\ncustomElements.define('foxy-item-category-form', ItemCategoryForm);\n\nexport { ItemCategoryForm };\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PropertyDeclarations } from 'lit-element';
|
|
2
|
+
import type { TemplateResult } from 'lit-html';
|
|
3
|
+
import { InternalControl } from '../../../../internal/InternalControl/InternalControl';
|
|
4
|
+
export declare class InternalItemCategoryFormTaxesControl extends InternalControl {
|
|
5
|
+
static get properties(): PropertyDeclarations;
|
|
6
|
+
taxes: string | null;
|
|
7
|
+
renderControl(): TemplateResult;
|
|
8
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { InternalControl } from "../../../../internal/InternalControl/InternalControl.js";
|
|
2
|
+
import { html } from 'lit-html';
|
|
3
|
+
export class InternalItemCategoryFormTaxesControl extends InternalControl {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.taxes = null;
|
|
7
|
+
}
|
|
8
|
+
static get properties() {
|
|
9
|
+
return {
|
|
10
|
+
...super.properties,
|
|
11
|
+
taxes: { type: String },
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
renderControl() {
|
|
15
|
+
var _a, _b, _c, _d;
|
|
16
|
+
const nucleon = this.nucleon;
|
|
17
|
+
let taxes;
|
|
18
|
+
try {
|
|
19
|
+
const url = new URL((_a = this.taxes) !== null && _a !== void 0 ? _a : '');
|
|
20
|
+
url.searchParams.set('limit', '5');
|
|
21
|
+
taxes = url.toString();
|
|
22
|
+
}
|
|
23
|
+
catch (_e) {
|
|
24
|
+
taxes = (_b = this.taxes) !== null && _b !== void 0 ? _b : '';
|
|
25
|
+
}
|
|
26
|
+
return html `
|
|
27
|
+
<foxy-i18n
|
|
28
|
+
class="block text-s font-medium text-secondary leading-none mb-s"
|
|
29
|
+
infer=""
|
|
30
|
+
key="title"
|
|
31
|
+
>
|
|
32
|
+
</foxy-i18n>
|
|
33
|
+
|
|
34
|
+
<foxy-pagination first=${taxes} infer="pagination">
|
|
35
|
+
<foxy-collection-page
|
|
36
|
+
class="block mb-s divide-y divide-contrast-10 border border-contrast-10 rounded-t-l rounded-b-l"
|
|
37
|
+
infer=""
|
|
38
|
+
item="foxy-internal-item-category-form-taxes-control-item"
|
|
39
|
+
.props=${{
|
|
40
|
+
'tax-item-categories': (_d = (_c = nucleon === null || nucleon === void 0 ? void 0 : nucleon.form._links) === null || _c === void 0 ? void 0 : _c['fx:tax_item_categories'].href) !== null && _d !== void 0 ? _d : '',
|
|
41
|
+
'item-category': nucleon === null || nucleon === void 0 ? void 0 : nucleon.href,
|
|
42
|
+
}}
|
|
43
|
+
>
|
|
44
|
+
</foxy-collection-page>
|
|
45
|
+
</foxy-pagination>
|
|
46
|
+
|
|
47
|
+
<foxy-i18n class="block text-xs text-secondary leading-xs mt-xs" infer="" key="helper_text">
|
|
48
|
+
</foxy-i18n>
|
|
49
|
+
`;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=InternalItemCategoryFormTaxesControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InternalItemCategoryFormTaxesControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,gEAA6D;AACvF,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,oCAAqC,SAAQ,eAAe;IAAzE;;QAQE,UAAK,GAAkB,IAAI,CAAC;IAuC9B,CAAC;IA9CC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACxB,CAAC;IACJ,CAAC;IAID,aAAa;;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,OAAsC,CAAC;QAC5D,IAAI,KAAa,CAAC;QAElB,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,OAAC,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;YACtC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACnC,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SACxB;QAAC,WAAM;YACN,KAAK,SAAG,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC;SAC1B;QAED,OAAO,IAAI,CAAA;;;;;;;;+BAQgB,KAAK;;;;;mBAKjB;YACP,qBAAqB,cAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,MAAM,0CAAG,wBAAwB,EAAE,IAAI,mCAAI,EAAE;YAClF,eAAe,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;SAC/B;;;;;;;KAON,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../../../NucleonElement/NucleonElement';\nimport type { Data } from '../../types';\n\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { html } from 'lit-html';\n\nexport class InternalItemCategoryFormTaxesControl extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n taxes: { type: String },\n };\n }\n\n taxes: string | null = null;\n\n renderControl(): TemplateResult {\n const nucleon = this.nucleon as NucleonElement<Data> | null;\n let taxes: string;\n\n try {\n const url = new URL(this.taxes ?? '');\n url.searchParams.set('limit', '5');\n taxes = url.toString();\n } catch {\n taxes = this.taxes ?? '';\n }\n\n return html`\n <foxy-i18n\n class=\"block text-s font-medium text-secondary leading-none mb-s\"\n infer=\"\"\n key=\"title\"\n >\n </foxy-i18n>\n\n <foxy-pagination first=${taxes} infer=\"pagination\">\n <foxy-collection-page\n class=\"block mb-s divide-y divide-contrast-10 border border-contrast-10 rounded-t-l rounded-b-l\"\n infer=\"\"\n item=\"foxy-internal-item-category-form-taxes-control-item\"\n .props=${{\n 'tax-item-categories': nucleon?.form._links?.['fx:tax_item_categories'].href ?? '',\n 'item-category': nucleon?.href,\n }}\n >\n </foxy-collection-page>\n </foxy-pagination>\n\n <foxy-i18n class=\"block text-xs text-secondary leading-xs mt-xs\" infer=\"\" key=\"helper_text\">\n </foxy-i18n>\n `;\n }\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import '../../../../internal/InternalControl/index';
|
|
2
|
+
import '../../../CollectionPage/index';
|
|
3
|
+
import '../../../Pagination/index';
|
|
4
|
+
import '../InternalItemCategoryFormTaxesControlItem/index';
|
|
5
|
+
import { InternalItemCategoryFormTaxesControl } from './InternalItemCategoryFormTaxesControl';
|
|
6
|
+
export { InternalItemCategoryFormTaxesControl };
|
package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "../../../../internal/InternalControl/index.js";
|
|
2
|
+
import "../../../CollectionPage/index.js";
|
|
3
|
+
import "../../../Pagination/index.js";
|
|
4
|
+
import "../InternalItemCategoryFormTaxesControlItem/index.js";
|
|
5
|
+
import { InternalItemCategoryFormTaxesControl } from "./InternalItemCategoryFormTaxesControl.js";
|
|
6
|
+
customElements.define('foxy-internal-item-category-form-taxes-control', InternalItemCategoryFormTaxesControl);
|
|
7
|
+
export { InternalItemCategoryFormTaxesControl };
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.ts"],"names":[],"mappings":"AAAA,uDAAoD;AAEpD,0CAAuC;AACvC,sCAAmC;AAEnC,8DAA2D;AAE3D,OAAO,EAAE,oCAAoC,EAAE,kDAA+C;AAE9F,cAAc,CAAC,MAAM,CACnB,gDAAgD,EAChD,oCAAoC,CACrC,CAAC;AAEF,OAAO,EAAE,oCAAoC,EAAE,CAAC","sourcesContent":["import '../../../../internal/InternalControl/index';\n\nimport '../../../CollectionPage/index';\nimport '../../../Pagination/index';\n\nimport '../InternalItemCategoryFormTaxesControlItem/index';\n\nimport { InternalItemCategoryFormTaxesControl } from './InternalItemCategoryFormTaxesControl';\n\ncustomElements.define(\n 'foxy-internal-item-category-form-taxes-control',\n InternalItemCategoryFormTaxesControl\n);\n\nexport { InternalItemCategoryFormTaxesControl };\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PropertyDeclarations } from 'lit-element';
|
|
2
|
+
import type { TemplateResult } from 'lit-html';
|
|
3
|
+
import { TaxCard } from '../../../TaxCard/TaxCard';
|
|
4
|
+
export declare class InternalItemCategoryFormTaxesControlItem extends TaxCard {
|
|
5
|
+
static get properties(): PropertyDeclarations;
|
|
6
|
+
taxItemCategories: string | null;
|
|
7
|
+
itemCategory: string | null;
|
|
8
|
+
private __resourceElementIsBusy;
|
|
9
|
+
private __queryElementData;
|
|
10
|
+
render(): TemplateResult;
|
|
11
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
2
|
+
import { TaxCard } from "../../../TaxCard/TaxCard.js";
|
|
3
|
+
import { html } from 'lit-html';
|
|
4
|
+
export class InternalItemCategoryFormTaxesControlItem extends TaxCard {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.taxItemCategories = null;
|
|
8
|
+
this.itemCategory = null;
|
|
9
|
+
this.__resourceElementIsBusy = false;
|
|
10
|
+
this.__queryElementData = null;
|
|
11
|
+
}
|
|
12
|
+
static get properties() {
|
|
13
|
+
return {
|
|
14
|
+
...super.properties,
|
|
15
|
+
taxItemCategories: { type: String, attribute: 'tax-item-categories' },
|
|
16
|
+
itemCategory: { type: String, attribute: 'item-category' },
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
var _a, _b, _c, _d, _e;
|
|
21
|
+
const taxItemCategory = (_c = (_b = (_a = this.__queryElementData) === null || _a === void 0 ? void 0 : _a._embedded) === null || _b === void 0 ? void 0 : _b['fx:tax_item_categories']) === null || _c === void 0 ? void 0 : _c[0];
|
|
22
|
+
let taxItemCategories;
|
|
23
|
+
try {
|
|
24
|
+
const url = new URL((_d = this.taxItemCategories) !== null && _d !== void 0 ? _d : '');
|
|
25
|
+
const hrefAsUrl = new URL(this.href);
|
|
26
|
+
const id = hrefAsUrl.pathname.split('/').pop();
|
|
27
|
+
if (!id)
|
|
28
|
+
throw new Error();
|
|
29
|
+
url.searchParams.set('tax_id', id);
|
|
30
|
+
url.searchParams.set('limit', '1');
|
|
31
|
+
taxItemCategories = url.toString();
|
|
32
|
+
}
|
|
33
|
+
catch (_f) {
|
|
34
|
+
taxItemCategories = undefined;
|
|
35
|
+
}
|
|
36
|
+
return html `
|
|
37
|
+
<foxy-nucleon
|
|
38
|
+
href=${ifDefined(taxItemCategories)}
|
|
39
|
+
id="query"
|
|
40
|
+
@update=${(evt) => {
|
|
41
|
+
const nucleon = evt.currentTarget;
|
|
42
|
+
this.__queryElementData = nucleon.data;
|
|
43
|
+
this.requestUpdate();
|
|
44
|
+
}}
|
|
45
|
+
>
|
|
46
|
+
<foxy-nucleon
|
|
47
|
+
parent=${ifDefined((_e = this.taxItemCategories) !== null && _e !== void 0 ? _e : undefined)}
|
|
48
|
+
href=${ifDefined(taxItemCategory === null || taxItemCategory === void 0 ? void 0 : taxItemCategory._links.self.href)}
|
|
49
|
+
id="resource"
|
|
50
|
+
@update=${(evt) => {
|
|
51
|
+
const nucleon = evt.currentTarget;
|
|
52
|
+
this.__resourceElementIsBusy = !nucleon.in('idle');
|
|
53
|
+
this.requestUpdate();
|
|
54
|
+
}}
|
|
55
|
+
>
|
|
56
|
+
</foxy-nucleon>
|
|
57
|
+
</foxy-nucleon>
|
|
58
|
+
|
|
59
|
+
<vaadin-checkbox
|
|
60
|
+
class="px-m py-s block overflow-hidden"
|
|
61
|
+
?disabled=${!this.__queryElementData || this.__resourceElementIsBusy || this.disabled}
|
|
62
|
+
?checked=${!!taxItemCategory}
|
|
63
|
+
@change=${(evt) => {
|
|
64
|
+
const checkbox = evt.currentTarget;
|
|
65
|
+
const resource = this.renderRoot.querySelector('#resource');
|
|
66
|
+
if (checkbox.checked) {
|
|
67
|
+
resource.edit({
|
|
68
|
+
// TODO remove the directive below once sdk type have been corrected
|
|
69
|
+
// @ts-expect-error SDK types are wrong
|
|
70
|
+
tax_uri: this.data._links.self.href,
|
|
71
|
+
item_category_uri: this.itemCategory,
|
|
72
|
+
});
|
|
73
|
+
resource.submit();
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
resource.delete();
|
|
77
|
+
}
|
|
78
|
+
}}
|
|
79
|
+
>
|
|
80
|
+
${super.render()}
|
|
81
|
+
</vaadin-checkbox>
|
|
82
|
+
`;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=InternalItemCategoryFormTaxesControlItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InternalItemCategoryFormTaxesControlItem.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { CheckboxElement } from '@vaadin/vaadin-checkbox';\nimport type { NucleonElement } from '../../../NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { TaxCard } from '../../../TaxCard/TaxCard';\nimport { html } from 'lit-html';\n\ntype TaxItemCategories = Resource<Rels.TaxItemCategories>;\ntype TaxItemCategory = Resource<Rels.TaxItemCategory>;\n\nexport class InternalItemCategoryFormTaxesControlItem extends TaxCard {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n taxItemCategories: { type: String, attribute: 'tax-item-categories' },\n itemCategory: { type: String, attribute: 'item-category' },\n };\n }\n\n taxItemCategories: string | null = null;\n\n itemCategory: string | null = null;\n\n private __resourceElementIsBusy = false;\n\n private __queryElementData: TaxItemCategories | null = null;\n\n render(): TemplateResult {\n const taxItemCategory = this.__queryElementData?._embedded?.['fx:tax_item_categories']?.[0];\n let taxItemCategories: string | undefined;\n\n try {\n const url = new URL(this.taxItemCategories ?? '');\n const hrefAsUrl = new URL(this.href);\n const id = hrefAsUrl.pathname.split('/').pop();\n\n if (!id) throw new Error();\n\n url.searchParams.set('tax_id', id);\n url.searchParams.set('limit', '1');\n taxItemCategories = url.toString();\n } catch {\n taxItemCategories = undefined;\n }\n\n return html`\n <foxy-nucleon\n href=${ifDefined(taxItemCategories)}\n id=\"query\"\n @update=${(evt: CustomEvent) => {\n const nucleon = evt.currentTarget as NucleonElement<TaxItemCategories>;\n this.__queryElementData = nucleon.data;\n this.requestUpdate();\n }}\n >\n <foxy-nucleon\n parent=${ifDefined(this.taxItemCategories ?? undefined)}\n href=${ifDefined(taxItemCategory?._links.self.href)}\n id=\"resource\"\n @update=${(evt: CustomEvent) => {\n const nucleon = evt.currentTarget as NucleonElement<TaxItemCategories>;\n this.__resourceElementIsBusy = !nucleon.in('idle');\n this.requestUpdate();\n }}\n >\n </foxy-nucleon>\n </foxy-nucleon>\n\n <vaadin-checkbox\n class=\"px-m py-s block overflow-hidden\"\n ?disabled=${!this.__queryElementData || this.__resourceElementIsBusy || this.disabled}\n ?checked=${!!taxItemCategory}\n @change=${(evt: CustomEvent) => {\n type ResourceElement = NucleonElement<TaxItemCategory>;\n\n const checkbox = evt.currentTarget as CheckboxElement;\n const resource = this.renderRoot.querySelector('#resource') as ResourceElement;\n\n if (checkbox.checked) {\n resource.edit({\n // TODO remove the directive below once sdk type have been corrected\n // @ts-expect-error SDK types are wrong\n tax_uri: this.data!._links.self.href,\n item_category_uri: this.itemCategory!,\n });\n\n resource.submit();\n } else {\n resource.delete();\n }\n }}\n >\n ${super.render()}\n </vaadin-checkbox>\n `;\n }\n}\n"]}
|