@foxy.io/elements 1.29.0 → 1.30.0-beta.1
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-form.js +1 -1
- package/dist/cdn/foxy-admin-subscription-form.js +1 -1
- package/dist/cdn/foxy-api-browser.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-form.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-cart-form.js +2 -2
- package/dist/cdn/foxy-client-form.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-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-codes-form.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-custom-field-form.js +1 -1
- package/dist/cdn/foxy-customer-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +1 -1
- package/dist/cdn/foxy-customer.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-downloadable-form.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-filter-attribute-form.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-code-form.js +1 -1
- 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-editor.js +1 -1
- package/dist/cdn/foxy-integration-form.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +3 -3
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-native-integration-form.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-passkey-form.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-report-form.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-store-form.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +1 -1
- package/dist/cdn/foxy-subscription-settings-form.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-template-set-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-update-payment-method-form.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/{shared-cfb33387.js → shared-01f18104.js} +1 -1
- package/dist/cdn/{shared-3483c729.js → shared-09fc6fa0.js} +1 -1
- package/dist/cdn/{shared-8bb3eb45.js → shared-1729e19a.js} +1 -1
- package/dist/cdn/{shared-fe4a2e3d.js → shared-19f46691.js} +1 -1
- package/dist/cdn/{shared-38f0bda5.js → shared-2bd96ec7.js} +2 -2
- package/dist/cdn/{shared-a97c3129.js → shared-2d75f154.js} +1 -1
- package/dist/cdn/{shared-8526ed32.js → shared-3b975a29.js} +1 -1
- package/dist/cdn/{shared-ae00ce7c.js → shared-3cf043a7.js} +1 -1
- package/dist/cdn/{shared-0ad0fb9f.js → shared-41e7554e.js} +1 -1
- package/dist/cdn/{shared-ee2cda29.js → shared-471e77dd.js} +1 -1
- package/dist/cdn/{shared-1467a889.js → shared-476827c7.js} +1 -1
- package/dist/cdn/{shared-75331d5e.js → shared-4a652d60.js} +1 -1
- package/dist/cdn/{shared-22ba950a.js → shared-4d172731.js} +1 -1
- package/dist/cdn/{shared-70747a5c.js → shared-5721fb53.js} +1 -1
- package/dist/cdn/{shared-376784f0.js → shared-5bc86d84.js} +1 -1
- package/dist/cdn/shared-6d11abd7.js +280 -0
- package/dist/cdn/{shared-13203be0.js → shared-6f4fa343.js} +1 -1
- package/dist/cdn/{shared-f21254a3.js → shared-6f877b15.js} +1 -1
- package/dist/cdn/{shared-d0e4d7b1.js → shared-73045804.js} +1 -1
- package/dist/cdn/{shared-f4abc29a.js → shared-787e8da4.js} +1 -1
- package/dist/cdn/{shared-9a22d597.js → shared-7dd710e4.js} +1 -1
- package/dist/cdn/{shared-970d98db.js → shared-8fbebf38.js} +1 -1
- package/dist/cdn/{shared-cc808e01.js → shared-9637a2de.js} +1 -1
- package/dist/cdn/{shared-dfc47fd9.js → shared-96a392d9.js} +1 -1
- package/dist/cdn/{shared-4f183419.js → shared-97514fcb.js} +1 -1
- package/dist/cdn/{shared-c9845b4a.js → shared-9bf7d9a7.js} +1 -1
- package/dist/cdn/{shared-421a3ced.js → shared-a0efdc94.js} +1 -1
- package/dist/cdn/{shared-32e92c3b.js → shared-a8233033.js} +1 -1
- package/dist/cdn/{shared-edae6816.js → shared-ad76e640.js} +1 -1
- package/dist/cdn/{shared-6a8a40cc.js → shared-b38762ef.js} +1 -1
- package/dist/cdn/{shared-ce0465c6.js → shared-b980ba1d.js} +1 -1
- package/dist/cdn/{shared-afd7214a.js → shared-cb3b9d8b.js} +1 -1
- package/dist/cdn/{shared-ecf479f2.js → shared-d5ff9121.js} +1 -1
- package/dist/cdn/{shared-1ecfa77b.js → shared-deff3eda.js} +1 -1
- package/dist/cdn/{shared-301a779e.js → shared-e47bd38e.js} +1 -1
- package/dist/cdn/{shared-dbda59a0.js → shared-e5098b19.js} +1 -1
- package/dist/cdn/{shared-19768452.js → shared-e7bff5de.js} +1 -1
- package/dist/cdn/{shared-e4870c47.js → shared-ea5ff8bc.js} +1 -1
- package/dist/cdn/translations/admin-subscription-form/en.json +108 -0
- package/dist/cdn/translations/coupon-form/en.json +103 -50
- package/dist/cdn/translations/transaction/en.json +108 -0
- package/dist/cdn/translations/webhook-card/en.json +5 -1
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +9 -2
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +150 -32
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
- package/dist/elements/internal/InternalAsyncListControl/index.d.ts +3 -0
- package/dist/elements/internal/InternalAsyncListControl/index.js +3 -0
- package/dist/elements/internal/InternalAsyncListControl/index.js.map +1 -1
- package/dist/elements/internal/InternalAsyncListControl/styles.d.ts +1 -0
- package/dist/elements/internal/InternalAsyncListControl/styles.js +12 -0
- package/dist/elements/internal/InternalAsyncListControl/styles.js.map +1 -0
- package/dist/elements/internal/InternalAsyncListControl/types.d.ts +5 -1
- package/dist/elements/internal/InternalAsyncListControl/types.js.map +1 -1
- package/dist/elements/public/CouponForm/CouponForm.d.ts +0 -3
- package/dist/elements/public/CouponForm/CouponForm.js +56 -76
- package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
- package/dist/elements/public/CouponForm/index.d.ts +2 -2
- package/dist/elements/public/CouponForm/index.js +2 -2
- package/dist/elements/public/CouponForm/index.js.map +1 -1
- package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
- package/dist/elements/public/Transaction/Transaction.d.ts +2 -0
- package/dist/elements/public/Transaction/Transaction.js +114 -19
- package/dist/elements/public/Transaction/Transaction.js.map +1 -1
- package/dist/elements/public/Transaction/index.d.ts +6 -0
- package/dist/elements/public/Transaction/index.js +6 -0
- package/dist/elements/public/Transaction/index.js.map +1 -1
- package/dist/elements/public/WebhookCard/WebhookCard.d.ts +8 -0
- package/dist/elements/public/WebhookCard/WebhookCard.js +73 -6
- package/dist/elements/public/WebhookCard/WebhookCard.js.map +1 -1
- package/dist/elements/public/WebhookCard/index.d.ts +2 -0
- package/dist/elements/public/WebhookCard/index.js +2 -0
- package/dist/elements/public/WebhookCard/index.js.map +1 -1
- package/dist/elements/public/WebhookForm/WebhookForm.d.ts +7 -0
- package/dist/elements/public/WebhookForm/WebhookForm.js +40 -4
- package/dist/elements/public/WebhookForm/WebhookForm.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-ba7354fa.js +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookCard/index.ts"],"names":[],"mappings":"AAAA,8CAA2C;AAE3C,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAE5C,cAAc,CAAC,MAAM,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,CAAC","sourcesContent":["import '../../internal/InternalCard/index';\n\nimport { WebhookCard } from './WebhookCard';\n\ncustomElements.define('foxy-webhook-card', WebhookCard);\n\nexport { WebhookCard };\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookCard/index.ts"],"names":[],"mappings":"AAAA,8CAA2C;AAE3C,oCAAiC;AACjC,0BAAuB;AAEvB,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAE5C,cAAc,CAAC,MAAM,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,CAAC","sourcesContent":["import '../../internal/InternalCard/index';\n\nimport '../NucleonElement/index';\nimport '../I18n/index';\n\nimport { WebhookCard } from './WebhookCard';\n\ncustomElements.define('foxy-webhook-card', WebhookCard);\n\nexport { WebhookCard };\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { PropertyDeclarations } from 'lit-element';
|
|
1
2
|
import type { TemplateResult } from 'lit-html';
|
|
2
3
|
import type { NucleonV8N } from '../NucleonElement/types';
|
|
3
4
|
import type { Data } from './types';
|
|
@@ -13,7 +14,13 @@ declare const WebhookForm_base: typeof InternalForm & import("lit-element").Cons
|
|
|
13
14
|
* @since 1.17.0
|
|
14
15
|
*/
|
|
15
16
|
export declare class WebhookForm extends WebhookForm_base<Data> {
|
|
17
|
+
static get properties(): PropertyDeclarations;
|
|
16
18
|
static get v8n(): NucleonV8N<Data>;
|
|
19
|
+
/**
|
|
20
|
+
* Optional URI of a transaction, customer or subscription. When provided,
|
|
21
|
+
* the form will display logs and statuses for that particular resource only.
|
|
22
|
+
*/
|
|
23
|
+
resourceUri: string | null;
|
|
17
24
|
private __encryptionKeyGeneratorOptions;
|
|
18
25
|
private __eventResources;
|
|
19
26
|
get hiddenSelector(): BooleanSelector;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { BooleanSelector, getResourceId } from '@foxy.io/sdk/core';
|
|
1
2
|
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
2
|
-
import { BooleanSelector } from '@foxy.io/sdk/core';
|
|
3
3
|
import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
|
|
4
|
+
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
4
5
|
import { html } from 'lit-html';
|
|
5
6
|
/**
|
|
6
7
|
* Form element for creating or editing webhooks (`fx:webhook`).
|
|
@@ -11,6 +12,11 @@ import { html } from 'lit-html';
|
|
|
11
12
|
export class WebhookForm extends TranslatableMixin(InternalForm, 'webhook-form') {
|
|
12
13
|
constructor() {
|
|
13
14
|
super(...arguments);
|
|
15
|
+
/**
|
|
16
|
+
* Optional URI of a transaction, customer or subscription. When provided,
|
|
17
|
+
* the form will display logs and statuses for that particular resource only.
|
|
18
|
+
*/
|
|
19
|
+
this.resourceUri = null;
|
|
14
20
|
this.__encryptionKeyGeneratorOptions = { separator: '', length: 512 };
|
|
15
21
|
this.__eventResources = [
|
|
16
22
|
{ value: 'subscription', label: 'event_resource_subscription' },
|
|
@@ -18,6 +24,12 @@ export class WebhookForm extends TranslatableMixin(InternalForm, 'webhook-form')
|
|
|
18
24
|
{ value: 'customer', label: 'event_resource_customer' },
|
|
19
25
|
];
|
|
20
26
|
}
|
|
27
|
+
static get properties() {
|
|
28
|
+
return {
|
|
29
|
+
...super.properties,
|
|
30
|
+
resourceUri: { attribute: 'resource-uri' },
|
|
31
|
+
};
|
|
32
|
+
}
|
|
21
33
|
static get v8n() {
|
|
22
34
|
return [
|
|
23
35
|
({ name: v }) => !!v || 'name:v8n_required',
|
|
@@ -47,6 +59,30 @@ export class WebhookForm extends TranslatableMixin(InternalForm, 'webhook-form')
|
|
|
47
59
|
super.edit({ version: 2 });
|
|
48
60
|
}
|
|
49
61
|
renderBody() {
|
|
62
|
+
var _a, _b, _c, _d;
|
|
63
|
+
const resourceId = this.resourceUri ? getResourceId(this.resourceUri) : null;
|
|
64
|
+
let statusesLink;
|
|
65
|
+
let logsLink;
|
|
66
|
+
try {
|
|
67
|
+
const url = new URL((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._links['fx:statuses'].href) !== null && _b !== void 0 ? _b : '');
|
|
68
|
+
if (resourceId !== null)
|
|
69
|
+
url.searchParams.set('resource_id', String(resourceId));
|
|
70
|
+
url.searchParams.set('order', 'date_created desc');
|
|
71
|
+
statusesLink = url.toString();
|
|
72
|
+
}
|
|
73
|
+
catch (_e) {
|
|
74
|
+
statusesLink = undefined;
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
const url = new URL((_d = (_c = this.data) === null || _c === void 0 ? void 0 : _c._links['fx:logs'].href) !== null && _d !== void 0 ? _d : '');
|
|
78
|
+
if (resourceId !== null)
|
|
79
|
+
url.searchParams.set('resource_id', String(resourceId));
|
|
80
|
+
url.searchParams.set('order', 'date_created desc');
|
|
81
|
+
logsLink = url.toString();
|
|
82
|
+
}
|
|
83
|
+
catch (_f) {
|
|
84
|
+
logsLink = undefined;
|
|
85
|
+
}
|
|
50
86
|
return html `
|
|
51
87
|
${this.renderHeader()}
|
|
52
88
|
|
|
@@ -68,7 +104,7 @@ export class WebhookForm extends TranslatableMixin(InternalForm, 'webhook-form')
|
|
|
68
104
|
${this.data
|
|
69
105
|
? html `
|
|
70
106
|
<foxy-internal-async-list-control
|
|
71
|
-
first=${
|
|
107
|
+
first=${ifDefined(statusesLink)}
|
|
72
108
|
infer="statuses"
|
|
73
109
|
limit="10"
|
|
74
110
|
item="foxy-webhook-status-card"
|
|
@@ -76,9 +112,9 @@ export class WebhookForm extends TranslatableMixin(InternalForm, 'webhook-form')
|
|
|
76
112
|
</foxy-internal-async-list-control>
|
|
77
113
|
|
|
78
114
|
<foxy-internal-async-list-control
|
|
79
|
-
first=${
|
|
115
|
+
first=${ifDefined(logsLink)}
|
|
80
116
|
infer="logs"
|
|
81
|
-
limit="
|
|
117
|
+
limit="10"
|
|
82
118
|
item="foxy-webhook-log-card"
|
|
83
119
|
>
|
|
84
120
|
</foxy-internal-async-list-control>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebhookForm.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookForm/WebhookForm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WebhookForm.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookForm/WebhookForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Data } from './types';\n\nimport { BooleanSelector, getResourceId } from '@foxy.io/sdk/core';\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\n/**\n * Form element for creating or editing webhooks (`fx:webhook`).\n *\n * @element foxy-webhook-form\n * @since 1.17.0\n */\nexport class WebhookForm extends TranslatableMixin(InternalForm, 'webhook-form')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n resourceUri: { attribute: 'resource-uri' },\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 ({ url: v }) => !v || v.length <= 1000 || 'url:v8n_too_long',\n ({ query: v }) => !v || v.length <= 1000 || 'query:v8n_too_long',\n ({ encryption_key: v }) => !!v || 'encryption-key:v8n_required',\n ({ encryption_key: v }) => !v || v.length <= 1000 || 'encryption-key:v8n_too_long',\n ];\n }\n\n /**\n * Optional URI of a transaction, customer or subscription. When provided,\n * the form will display logs and statuses for that particular resource only.\n */\n resourceUri: string | null = null;\n\n private __encryptionKeyGeneratorOptions = { separator: '', length: 512 };\n\n private __eventResources = [\n { value: 'subscription', label: 'event_resource_subscription' },\n { value: 'transaction', label: 'event_resource_transaction' },\n { value: 'customer', label: 'event_resource_customer' },\n ];\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch: string[] = [super.hiddenSelector.toString()];\n if (this.data) alwaysMatch.unshift('event-resource');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get headerSubtitleOptions(): Record<string, unknown> {\n const format = this.data?.format;\n return { context: format === 'json' ? this.data?.event_resource : format };\n }\n\n edit(data: Partial<Data>): void {\n super.edit(data);\n if (!this.form.format) super.edit({ format: 'json' });\n if (!this.form.version) super.edit({ version: 2 });\n }\n\n renderBody(): TemplateResult {\n const resourceId = this.resourceUri ? getResourceId(this.resourceUri) : null;\n\n let statusesLink: string | undefined;\n let logsLink: string | undefined;\n\n try {\n const url = new URL(this.data?._links['fx:statuses'].href ?? '');\n if (resourceId !== null) url.searchParams.set('resource_id', String(resourceId));\n url.searchParams.set('order', 'date_created desc');\n statusesLink = url.toString();\n } catch {\n statusesLink = undefined;\n }\n\n try {\n const url = new URL(this.data?._links['fx:logs'].href ?? '');\n if (resourceId !== null) url.searchParams.set('resource_id', String(resourceId));\n url.searchParams.set('order', 'date_created desc');\n logsLink = url.toString();\n } catch {\n logsLink = undefined;\n }\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-text-control infer=\"name\"></foxy-internal-text-control>\n\n <foxy-internal-radio-group-control infer=\"event-resource\" .options=${this.__eventResources}>\n </foxy-internal-radio-group-control>\n\n <foxy-internal-text-control infer=\"query\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"url\"></foxy-internal-text-control>\n\n <foxy-internal-password-control\n infer=\"encryption-key\"\n show-generator\n .generatorOptions=${this.__encryptionKeyGeneratorOptions}\n >\n </foxy-internal-password-control>\n\n ${this.data\n ? html`\n <foxy-internal-async-list-control\n first=${ifDefined(statusesLink)}\n infer=\"statuses\"\n limit=\"10\"\n item=\"foxy-webhook-status-card\"\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n first=${ifDefined(logsLink)}\n infer=\"logs\"\n limit=\"10\"\n item=\"foxy-webhook-log-card\"\n >\n </foxy-internal-async-list-control>\n `\n : ''}\n ${super.renderBody()}\n `;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{O as t}from"./shared-c9845b4a.js";import"./shared-cc808e01.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./foxy-pagination.js";import"./shared-49ecea83.js";import{I as e}from"./shared-226dd830.js";import"./shared-3483c729.js";import{h as i,r as n}from"./shared-dc73b9a5.js";import{_ as s}from"./shared-0f6e4584.js";import{i as r}from"./shared-9803aa7c.js";import{c as o}from"./shared-4e709717.js";
|
|
2
|
-
/**
|
|
3
|
-
@license
|
|
4
|
-
Copyright (c) 2019 Vaadin Ltd.
|
|
5
|
-
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
6
|
-
*/let a,l=t=>t;const d=t=>class e extends t{static get properties(){return{positionTarget:{type:Object,value:null},horizontalAlign:{type:String,value:"start"},verticalAlign:{type:String,value:"top"},noHorizontalOverlap:{type:Boolean,value:!1},noVerticalOverlap:{type:Boolean,value:!1}}}static get observers(){return["__positionSettingsChanged(positionTarget, horizontalAlign, verticalAlign,\n noHorizontalOverlap, noVerticalOverlap)"]}constructor(){super();const t=this._updatePosition.bind(this);this.addEventListener("opened-changed",(e=>{const i=e.detail.value?"addEventListener":"removeEventListener";window[i]("scroll",t),window[i]("resize",t),e.detail.value&&this._updatePosition()}))}ready(){super.ready(),console.warn("PositionMixin is not considered stable and might change any time")}__positionSettingsChanged(){this._updatePosition()}_updatePosition(){if(!this.positionTarget)return;const t=getComputedStyle(this);this.__margins||(this.__margins={},["top","bottom","left","right"].forEach((e=>{this.__margins[e]=parseInt(t[e],10)})));const e="rtl"===t.direction,i=this.positionTarget.getBoundingClientRect(),n=this.__calculateHorizontalPosition(i,e),s=this.__calculateVerticalPosition(i),r=Object.assign({},n,s);this.__doSetPosition(r,e)}__calculateHorizontalPosition(t,i){const n=Math.max(this.__oldContentWidth||0,this.$.overlay.offsetWidth);this.__oldContentWidth=this.$.overlay.offsetWidth;const s=Math.min(window.innerWidth,document.documentElement.clientWidth),r=!i&&"start"===this.horizontalAlign||i&&"end"===this.horizontalAlign,o=!!this.style.left;return e.__calculatePositionInOneDimension(t,n,s,this.__margins,r,o,this.noHorizontalOverlap,{start:"left",end:"right"})}__calculateVerticalPosition(t){const i=Math.max(this.__oldContentHeight||0,this.$.overlay.offsetHeight);this.__oldContentHeight=this.$.overlay.offsetHeight;const n=Math.min(window.innerHeight,document.documentElement.clientHeight),s="top"===this.verticalAlign,r=!!this.style.top;return e.__calculatePositionInOneDimension(t,i,n,this.__margins,s,r,this.noVerticalOverlap,{start:"top",end:"bottom"})}static __calculatePositionInOneDimension(t,e,i,n,s,r,o,a){const l=i-t[o?a.end:a.start]-n[a.end],d=t[o?a.start:a.end]-n[a.start],c=s?l:d,h=s===(c>(s?d:l)||c>e),f=h?a.start:a.end,p=h?a.end:a.start,u=(h?t[o?a.end:a.start]:i-t[o?a.start:a.end])+"px",m={};return m[f]=u,m[p]="",m}__doSetPosition(t,e){Object.assign(this.style,t);const i=!e&&t.left||e&&t.right;this.style.alignItems=i?"flex-start":"flex-end",this.style.justifyContent=t.top?"flex-start":"flex-end"}};class c extends(d(t)){constructor(){super(...arguments),this.renderer=(t,e,s)=>{var r;const o=null!==(r=t.firstElementChild)&&void 0!==r?r:document.createElement("div");t.firstElementChild||t.appendChild(o);const d=s,c=i(a||(a=l` <div style="display:grid;gap:var(--lumo-space-m);padding:var(--lumo-space-s);width:22rem"> <foxy-query-builder lang="${0}" ns="${0}" .options="${0}" .value="${0}"> </foxy-query-builder> <div style="display:flex;justify-content:space-between"> <vaadin-button theme="primary" style="margin:0" @click="${0}"> <foxy-i18n lang="${0}" ns="${0}" key="search"></foxy-i18n> </vaadin-button> <vaadin-button theme="secondary contrast" style="margin:0" @click="${0}"> <foxy-i18n lang="${0}" ns="${0}" key="clear"></foxy-i18n> </vaadin-button> </div> </div> `),d.lang,`${d.ns} query-builder`.trim(),d.options,d.value,(()=>{var t;const e=null!==(t=o.querySelector("foxy-query-builder").value)&&void 0!==t?t:"";this.dispatchEvent(new CustomEvent("search",{detail:e}))}),d.lang,d.ns,(()=>this.dispatchEvent(new CustomEvent("search"))),d.lang,d.ns);n(c,o)}}static get is(){return"foxy-internal-async-list-control-filter-overlay"}}let h,f,p,u,m,g,y,_,v,b,x,$,P=t=>t;customElements.define("foxy-internal-async-list-control",class extends e{constructor(){super(...arguments),this.keepDialogOpenOnDelete=!1,this.keepDialogOpenOnPost=!1,this.createPageHref=null,this.related=[],this.actions=[],this.filters=[],this.limit=20,this.first=null,this.form=null,this.formProps={},this.item=null,this.itemProps={},this.wide=!1,this.alert=!1,this.hideDeleteButton=!1,this.hideCreateButton=!1,this.getPageHref=null,this.__deletionConfimationCallback=null,this.__cachedCardRenderer=null,this.__isFilterVisible=!1,this.__itemRenderer=t=>{var e;if(!t.data)return this.__cardRenderer(t);if("string"!=typeof(null===(e=this.getPageHref)||void 0===e?void 0:e.call(this,t.href,t.data))&&!this.form)return this.__cardRenderer(t);const n=this.disabledSelector.matches("card",!0),s=this.__cardRenderer(t);let r;const a=o({"rounded-t":!t.previous,"rounded-b":!t.next,"focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50":!0,"text-left w-full block transition-colors":!0,"hover-bg-contrast-5":!n});if(this.getPageHref)if(n)r=i(h||(h=P`<div class="${0}">${0}</div>`),a,s);else{const e=this.getPageHref(t.href,t.data);r=i(f||(f=P`<a class="${0}" href="${0}">${0}</a>`),a,e,s)}else{r=i(p||(p=P` <button ?disabled="${0}" class="${0}" @click="${0}">${0}</button> `),n,a,(e=>{const i=new CustomEvent("itemclick",{cancelable:!0,composed:!0,bubbles:!0,detail:t.href});if(this.dispatchEvent(i)){const i=e.currentTarget,n=this.__dialog;n.header="header_update",n.href=t.href,n.show(i)}}),s)}return this.hideDeleteButton||this.readonly?r:i(u||(u=P` <foxy-swipe-actions class="block"> ${0} ${0} <vaadin-button theme="primary error" class="h-full rounded-none" slot="action" @click="${0}"> <foxy-i18n infer="" key="delete_button_text"></foxy-i18n> </vaadin-button> </foxy-swipe-actions> `),r,this.actions.map((e=>i(m||(m=P` <vaadin-button data-testclass="action" theme="${0}" class="h-full rounded-none relative" slot="action" ?disabled="${0}" @click="${0}"> <foxy-i18n class="${0}" infer="" key="${0}"> </foxy-i18n> <div class="${0}"> <foxy-spinner layout="no-label" infer="spinner" state="${0}"> </foxy-spinner> </div> </vaadin-button> `),e.theme,this.disabled,(()=>e.onClick(t.data)),o({"transition-opacity":!0,"opacity-0":"idle"!==e.state}),e.text,o({"absolute inset-0 flex items-center justify-center transition-opacity":!0,"opacity-0":"idle"===e.state}),e.state))),(t=>{const e=t.currentTarget;this.renderRoot.querySelector("#confirm").show(e),this.__deletionConfimationCallback=()=>{const t=e.parentElement.firstElementChild.querySelector("[href]");null==t||t.delete(),this.__deletionConfimationCallback=null}}))},this.__filter=""}static get properties(){return s(s({},super.properties),{},{keepDialogOpenOnDelete:{type:Boolean,attribute:"keep-dialog-open-on-delete"},keepDialogOpenOnPost:{type:Boolean,attribute:"keep-dialog-open-on-post"},hideDeleteButton:{type:Boolean,attribute:"hide-delete-button"},hideCreateButton:{type:Boolean,attribute:"hide-create-button"},createPageHref:{attribute:"create-page-href"},getPageHref:{attribute:!1},related:{type:Array},first:{},limit:{type:Number},form:{},formProps:{type:Object,attribute:"form-props"},item:{},itemProps:{type:Object,attribute:"item-props"},wide:{type:Boolean},alert:{type:Boolean},actions:{type:Array},filters:{type:Array},__filter:{attribute:!1},__isFilterVisible:{attribute:!1}})}renderControl(){var t,e;let n;try{const e=new URL(null!==(t=this.first)&&void 0!==t?t:""),i=new URLSearchParams(this.__filter);e.searchParams.set("limit",String(this.limit)),i.forEach(((t,i)=>e.searchParams.set(i,t))),n=e.toString()}catch(t){n=void 0}return i(g||(g=P` ${0} ${0} <div class="flex gap-m items-center justify-between mb-xs text-s font-medium"> <span class="text-secondary"> ${0} </span> ${0} ${0} </div> <foxy-pagination first="${0}" infer="pagination"> <foxy-collection-page class="${0}" infer="card" .related="${0}" .props="${0}" .item="${0}"> </foxy-collection-page> </foxy-pagination> <div class="${0}" ?hidden="${0}"> ${0} </div> <div class="mt-xs text-xs leading-xs text-error" ?hidden="${0}"> ${0} </div> `),this.form?i(y||(y=P` <foxy-form-dialog parent="${0}" infer="dialog" id="form" ?wide="${0}" ?alert="${0}" ?keep-open-on-post="${0}" ?keep-open-on-delete="${0}" .related="${0}" .props="${0}" .form="${0}"> </foxy-form-dialog> `),r(null!==(e=this.first)&&void 0!==e?e:void 0),this.wide,this.alert,this.keepDialogOpenOnPost,this.keepDialogOpenOnDelete,this.related,this.formProps,this.form):"",this.hideDeleteButton||this.readonly?"":i(_||(_=P` <foxy-internal-confirm-dialog message="delete_message" confirm="delete_confirm" cancel="delete_cancel" header="delete_header" theme="error" infer="" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> `),(t=>{var e;t.detail.cancelled||null===(e=this.__deletionConfimationCallback)||void 0===e||e.call(this)})),this.label&&"label"!==this.label?this.label:"",this.filters.length>0?i(v||(v=P` <foxy-internal-async-list-control-filter-overlay .noVerticalOverlap="${0}" .positionTarget="${0}" .model="${0}" ?opened="${0}" @vaadin-overlay-close="${0}" @search="${0}"> </foxy-internal-async-list-control-filter-overlay> <vaadin-button theme="tertiary-inline contrast" class="ml-auto" id="filters" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="pagination" key="search_button_text"></foxy-i18n> </vaadin-button> `),!0,this.renderRoot.querySelector("#filters"),{options:this.filters,value:this.__filter,lang:this.lang,ns:this.ns},this.__isFilterVisible,(()=>this.__isFilterVisible=!1),(t=>{var e;this.__filter=null!==(e=t.detail)&&void 0!==e?e:""}),this.disabled,(()=>this.__isFilterVisible=!this.__isFilterVisible)):"",!this.form&&!this.createPageHref||this.readonly||this.hideCreateButton?"":this.createPageHref&&!this.disabled?i(b||(b=P` <a class="rounded-s text-primary group focus-outline-none focus-ring-2 focus-ring-primary-50" href="${0}"> <foxy-i18n class="transition-opacity group-hover-opacity-80" infer="" key="create_button_text"> </foxy-i18n> </a> `),this.createPageHref):i(x||(x=P` <vaadin-button theme="tertiary-inline" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="pagination" key="create_button_text"></foxy-i18n> </vaadin-button> `),this.disabled,(t=>{t.preventDefault(),t.stopPropagation();const e=this.__dialog,i=t.currentTarget;e.header="header_create",e.href="",e.show(i)})),r(n),o({"block divide-y divide-contrast-5 rounded overflow-hidden":!0,"ring-1 ring-inset ring-contrast-10":!this.form&&!this.getPageHref,"bg-contrast-5":!!this.form||!!this.getPageHref}),this.related,this.itemProps,this.__itemRenderer,o({"transition-colors mt-xs text-xs":!0,"text-secondary group-hover-text-body":!this.disabled&&!this.readonly,"text-disabled":this.disabled}),!this.helperText||"helper_text"===this.helperText,this.helperText,!this._errorMessage||this.disabled||this.readonly,this._errorMessage)}get __dialog(){return this.renderRoot.querySelector("#form")}get __cardRenderer(){var t;const e=this.item;return(null===(t=this.__cachedCardRenderer)||void 0===t?void 0:t.item)!==e&&(this.__cachedCardRenderer={item:e,render:"string"==typeof e?new Function("ctx",`return ctx.html\`\n <${e}\n related=\${JSON.stringify(ctx.related)}\n parent=\${ctx.parent}\n style="padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)"\n infer=""\n href=\${ctx.href}\n ...=\${ctx.spread(ctx.props)}\n >\n </${e}>\``):t=>i($||($=P` <div style="padding:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> ${0} </div> `),null==e?void 0:e(t))}),this.__cachedCardRenderer.render}}),customElements.define(c.is,c);
|