@foxy.io/elements 1.30.0 → 1.31.0-beta.2
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 +1 -1
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-admin-subscription-card.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-card.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
- 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-billing-address-card.js +1 -1
- package/dist/cdn/foxy-cancellation-form.js +1 -1
- package/dist/cdn/foxy-cart-card.js +1 -1
- package/dist/cdn/foxy-cart-form.js +2 -2
- package/dist/cdn/foxy-client-card.js +1 -1
- package/dist/cdn/foxy-client-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-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-card.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-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-downloadable-card.js +1 -1
- package/dist/cdn/foxy-downloadable-form.js +10 -10
- package/dist/cdn/foxy-email-template-card.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-filter-attribute-card.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-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-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 -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-i18n.js +1 -1
- package/dist/cdn/foxy-integration-card.js +1 -1
- package/dist/cdn/foxy-integration-form.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- 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-native-integration-card.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-card.js +1 -1
- package/dist/cdn/foxy-passkey-form.js +1 -1
- package/dist/cdn/foxy-payment-card-embed.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-payments-api-fraud-protection-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-query-builder.js +2 -2
- package/dist/cdn/foxy-report-form.js +2 -2
- package/dist/cdn/foxy-reports-table.js +1 -1
- package/dist/cdn/foxy-shipment-card.js +1 -1
- package/dist/cdn/foxy-shipping-container-card.js +1 -1
- package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
- package/dist/cdn/foxy-shipping-method-card.js +1 -1
- package/dist/cdn/foxy-shipping-service-card.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +2 -2
- package/dist/cdn/foxy-store-card.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-subscriptions-table.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-template-set-card.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-transactions-table.js +1 -1
- package/dist/cdn/foxy-update-payment-method-form.js +1 -1
- package/dist/cdn/foxy-user-card.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-6be24929.js → shared-029d623b.js} +1 -1
- package/dist/cdn/{shared-cb3b9d8b.js → shared-0700fd80.js} +1 -1
- package/dist/cdn/shared-08e0a194.js +1 -0
- package/dist/cdn/{shared-2bd96ec7.js → shared-09b4185a.js} +1 -1
- package/dist/cdn/{shared-8fbebf38.js → shared-0a6a28ce.js} +1 -1
- package/dist/cdn/{shared-ea5ff8bc.js → shared-0cc5420d.js} +1 -1
- package/dist/cdn/{shared-97514fcb.js → shared-0e055562.js} +1 -1
- package/dist/cdn/{shared-2d75f154.js → shared-0f67d020.js} +1 -1
- package/dist/cdn/{shared-e47bd38e.js → shared-16c17e32.js} +1 -1
- package/dist/cdn/{shared-2c1dff50.js → shared-19884cf4.js} +1 -1
- package/dist/cdn/{shared-d75f83f8.js → shared-199e3870.js} +1 -1
- package/dist/cdn/{shared-77ef56aa.js → shared-1f0b8b7e.js} +1 -1
- package/dist/cdn/{shared-c5a0cdd7.js → shared-21bc5d5e.js} +1 -1
- package/dist/cdn/{shared-deff3eda.js → shared-245f8836.js} +1 -1
- package/dist/cdn/{shared-9bf7d9a7.js → shared-280f868d.js} +1 -1
- package/dist/cdn/{shared-fae08dfb.js → shared-28f74114.js} +1 -1
- package/dist/cdn/{shared-4a652d60.js → shared-2a5c89a4.js} +1 -1
- package/dist/cdn/{shared-49ecea83.js → shared-37efab30.js} +1 -1
- package/dist/cdn/{shared-6d11abd7.js → shared-388e9240.js} +2 -2
- package/dist/cdn/shared-3c3497d6.js +1 -0
- package/dist/cdn/shared-3ee151ce.js +1 -0
- package/dist/cdn/{shared-98ddb87c.js → shared-44ce656d.js} +1 -1
- package/dist/cdn/{shared-8cb35eb4.js → shared-453d8f75.js} +1 -1
- package/dist/cdn/{shared-ff7b2af6.js → shared-4b346553.js} +1 -1
- package/dist/cdn/{shared-6f877b15.js → shared-536a2d53.js} +1 -1
- package/dist/cdn/{shared-5bc86d84.js → shared-55e95bd2.js} +1 -1
- package/dist/cdn/{shared-fb1dd186.js → shared-56a559fd.js} +1 -1
- package/dist/cdn/{shared-59b7fcc0.js → shared-56bf05ef.js} +1 -1
- package/dist/cdn/{shared-73045804.js → shared-5a2f398c.js} +1 -1
- package/dist/cdn/{shared-f6573d25.js → shared-5be5874d.js} +1 -1
- package/dist/cdn/{shared-3cf043a7.js → shared-61b6ef6e.js} +1 -1
- package/dist/cdn/{shared-a8233033.js → shared-638468a5.js} +1 -1
- package/dist/cdn/{shared-09fc6fa0.js → shared-6918312e.js} +1 -1
- package/dist/cdn/{shared-9637a2de.js → shared-6e859df6.js} +1 -1
- package/dist/cdn/{shared-226dd830.js → shared-7d38cb8a.js} +1 -1
- package/dist/cdn/shared-8cd578ee.js +1 -0
- package/dist/cdn/{shared-0f00d4d8.js → shared-8f3398dc.js} +1 -1
- package/dist/cdn/{shared-887e1795.js → shared-90a47948.js} +1 -1
- package/dist/cdn/{shared-787e8da4.js → shared-937b497c.js} +1 -1
- package/dist/cdn/{shared-1729e19a.js → shared-9b2d6d62.js} +1 -1
- package/dist/cdn/{shared-77e15843.js → shared-a207423c.js} +1 -1
- package/dist/cdn/{shared-0c7f9c0c.js → shared-a49a2300.js} +1 -1
- package/dist/cdn/{shared-6f4fa343.js → shared-ac0368ec.js} +1 -1
- package/dist/cdn/{shared-fb1602a2.js → shared-b08ca8d0.js} +1 -1
- package/dist/cdn/{shared-19f46691.js → shared-b8198665.js} +1 -1
- package/dist/cdn/{shared-9b895561.js → shared-c2776a33.js} +1 -1
- package/dist/cdn/{shared-e7bff5de.js → shared-c388e926.js} +1 -1
- package/dist/cdn/{shared-8f74f5fc.js → shared-c8a6496c.js} +1 -1
- package/dist/cdn/{shared-a0efdc94.js → shared-ce172224.js} +1 -1
- package/dist/cdn/{shared-476827c7.js → shared-ce75e928.js} +1 -1
- package/dist/cdn/{shared-ad76e640.js → shared-d132bd37.js} +1 -1
- package/dist/cdn/{shared-b38762ef.js → shared-d1c10d58.js} +1 -1
- package/dist/cdn/{shared-5c4d786c.js → shared-d8c3067b.js} +1 -1
- package/dist/cdn/{shared-5721fb53.js → shared-da9e048f.js} +1 -1
- package/dist/cdn/shared-dfc33ff6.js +1 -0
- package/dist/cdn/{shared-e7232c2b.js → shared-e24da82e.js} +2 -2
- package/dist/cdn/{shared-d5ff9121.js → shared-e778071b.js} +1 -1
- package/dist/cdn/{shared-8fce283a.js → shared-edbf7378.js} +1 -1
- package/dist/cdn/{shared-e5098b19.js → shared-ef78d7d9.js} +1 -1
- package/dist/cdn/{shared-4d172731.js → shared-f11b2116.js} +1 -1
- package/dist/cdn/{shared-ea8f9a88.js → shared-f2968508.js} +1 -1
- package/dist/cdn/shared-f34aeb6c.js +1 -0
- package/dist/cdn/{shared-df42c94f.js → shared-f3773d62.js} +1 -1
- package/dist/cdn/{shared-471e77dd.js → shared-f407c2cb.js} +1 -1
- package/dist/cdn/{shared-63192750.js → shared-fb0ca5e2.js} +1 -1
- package/dist/cdn/{shared-25502f01.js → shared-fb34e84c.js} +1 -1
- package/dist/cdn/{shared-c11df800.js → shared-fc1dfa64.js} +1 -1
- package/dist/cdn/translations/store-card/en.json +3 -1
- package/dist/cdn/translations/store-form/en.json +320 -279
- package/dist/cdn/translations/store-shipping-method-form/en.json +157 -128
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +2 -2
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.d.ts +2 -0
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.js +56 -35
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.js.map +1 -1
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/types.d.ts +18 -0
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/types.js +2 -0
- package/dist/elements/internal/InternalAsyncResourceLinkListControl/types.js.map +1 -0
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.d.ts +1 -0
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js +4 -0
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js.map +1 -1
- package/dist/elements/internal/InternalPasswordControl/index.d.ts +1 -0
- package/dist/elements/internal/InternalPasswordControl/index.js +1 -0
- package/dist/elements/internal/InternalPasswordControl/index.js.map +1 -1
- package/dist/elements/internal/InternalPasswordControl/vaadinStyles.d.ts +1 -0
- package/dist/elements/internal/InternalPasswordControl/vaadinStyles.js +73 -0
- package/dist/elements/internal/InternalPasswordControl/vaadinStyles.js.map +1 -0
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js +8 -7
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js.map +1 -1
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js +4 -0
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
- package/dist/elements/public/StoreCard/StoreCard.js +13 -1
- package/dist/elements/public/StoreCard/StoreCard.js.map +1 -1
- package/dist/elements/public/StoreForm/StoreForm.d.ts +60 -36
- package/dist/elements/public/StoreForm/StoreForm.js +584 -715
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
- package/dist/elements/public/StoreForm/index.d.ts +2 -5
- package/dist/elements/public/StoreForm/index.js +2 -5
- package/dist/elements/public/StoreForm/index.js.map +1 -1
- package/dist/elements/public/StoreForm/types.d.ts +38 -0
- package/dist/elements/public/StoreForm/types.js.map +1 -1
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +5 -3
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +105 -104
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
- package/dist/elements/public/StoreShippingMethodForm/index.d.ts +2 -1
- package/dist/elements/public/StoreShippingMethodForm/index.js +2 -1
- package/dist/elements/public/StoreShippingMethodForm/index.js.map +1 -1
- package/dist/elements/public/StoreShippingMethodForm/types.d.ts +1 -3
- package/dist/elements/public/StoreShippingMethodForm/types.js.map +1 -1
- package/dist/mixins/themeable.js +0 -36
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-01f18104.js +0 -1
- package/dist/cdn/shared-3b975a29.js +0 -1
- package/dist/cdn/shared-40c6b1f6.js +0 -1
- package/dist/cdn/shared-41e7554e.js +0 -1
- package/dist/cdn/shared-90706e10.js +0 -1
- package/dist/cdn/shared-96a392d9.js +0 -1
- package/dist/cdn/shared-b980ba1d.js +0 -1
- package/dist/cdn/shared-c4124870.js +0 -1
|
@@ -16,156 +16,185 @@
|
|
|
16
16
|
"done": "Copied to clipboard"
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
|
-
"
|
|
20
|
-
"label": "
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
19
|
+
"general": {
|
|
20
|
+
"label": "",
|
|
21
|
+
"helper_text": "",
|
|
22
|
+
"shipping-method-uri": {
|
|
23
|
+
"label": "Provider",
|
|
24
|
+
"helper_text": "",
|
|
25
|
+
"v8n_required": "Please select a provider.",
|
|
26
|
+
"value": "{{ resource.name }}",
|
|
27
|
+
"placeholder": "Select",
|
|
28
|
+
"dialog": {
|
|
29
|
+
"cancel": "Cancel",
|
|
30
|
+
"close": "Close",
|
|
31
|
+
"header": "Select a provider",
|
|
32
|
+
"selection": {
|
|
33
|
+
"label": "",
|
|
34
|
+
"helper_text": "",
|
|
35
|
+
"pagination": {
|
|
36
|
+
"first": "First",
|
|
37
|
+
"last": "Last",
|
|
38
|
+
"next": "Next",
|
|
39
|
+
"pagination": "{{from}}-{{to}} out of {{total}}",
|
|
40
|
+
"previous": "Previous",
|
|
41
|
+
"card": {
|
|
42
|
+
"image_alt": "Shipping method logo",
|
|
43
|
+
"status_active": "Active",
|
|
44
|
+
"status_inactive": "Inactive",
|
|
45
|
+
"spinner": {
|
|
46
|
+
"loading_busy": "Loading",
|
|
47
|
+
"loading_empty": "No providers found",
|
|
48
|
+
"loading_error": "Unknown error"
|
|
49
|
+
}
|
|
42
50
|
}
|
|
43
51
|
}
|
|
44
52
|
}
|
|
53
|
+
},
|
|
54
|
+
"card": {
|
|
55
|
+
"image_alt": "Shipping method logo",
|
|
56
|
+
"status_active": "Active",
|
|
57
|
+
"status_inactive": "Inactive",
|
|
58
|
+
"spinner": {
|
|
59
|
+
"loading_busy": "Loading",
|
|
60
|
+
"loading_empty": "Select a provider",
|
|
61
|
+
"loading_error": "Unknown error"
|
|
62
|
+
}
|
|
45
63
|
}
|
|
46
64
|
},
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
"pagination": "{{from}}-{{to}} out of {{total}}",
|
|
74
|
-
"previous": "Previous",
|
|
75
|
-
"card": {
|
|
76
|
-
"subtitle": "Code: {{ code }}",
|
|
77
|
-
"spinner": {
|
|
78
|
-
"loading_busy": "Loading",
|
|
79
|
-
"loading_empty": "No containers found",
|
|
80
|
-
"loading_error": "Unknown error"
|
|
65
|
+
"shipping-container-uri": {
|
|
66
|
+
"label": "Container",
|
|
67
|
+
"helper_text": "",
|
|
68
|
+
"v8n_required": "Please select a shipping container.",
|
|
69
|
+
"value": "{{ resource.name }}",
|
|
70
|
+
"placeholder": "Select",
|
|
71
|
+
"dialog": {
|
|
72
|
+
"cancel": "Cancel",
|
|
73
|
+
"close": "Close",
|
|
74
|
+
"header": "Select a container",
|
|
75
|
+
"selection": {
|
|
76
|
+
"label": "",
|
|
77
|
+
"helper_text": "",
|
|
78
|
+
"pagination": {
|
|
79
|
+
"first": "First",
|
|
80
|
+
"last": "Last",
|
|
81
|
+
"next": "Next",
|
|
82
|
+
"pagination": "{{from}}-{{to}} out of {{total}}",
|
|
83
|
+
"previous": "Previous",
|
|
84
|
+
"card": {
|
|
85
|
+
"subtitle": "Code: {{ code }}",
|
|
86
|
+
"spinner": {
|
|
87
|
+
"loading_busy": "Loading",
|
|
88
|
+
"loading_empty": "No containers found",
|
|
89
|
+
"loading_error": "Unknown error"
|
|
90
|
+
}
|
|
81
91
|
}
|
|
82
92
|
}
|
|
83
93
|
}
|
|
94
|
+
},
|
|
95
|
+
"card": {
|
|
96
|
+
"subtitle": "Code: {{ code }}",
|
|
97
|
+
"spinner": {
|
|
98
|
+
"loading_busy": "Loading",
|
|
99
|
+
"loading_empty": "Select a container",
|
|
100
|
+
"loading_error": "Unknown error"
|
|
101
|
+
}
|
|
84
102
|
}
|
|
85
103
|
},
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
"card": {
|
|
113
|
-
"subtitle": "Code: {{ code }}",
|
|
114
|
-
"spinner": {
|
|
115
|
-
"loading_busy": "Loading",
|
|
116
|
-
"loading_empty": "No drop types found",
|
|
117
|
-
"loading_error": "Unknown error"
|
|
104
|
+
"shipping-drop-type-uri": {
|
|
105
|
+
"label": "Drop type",
|
|
106
|
+
"helper_text": "",
|
|
107
|
+
"v8n_required": "Please select a drop type.",
|
|
108
|
+
"value": "{{ resource.name }}",
|
|
109
|
+
"placeholder": "Select",
|
|
110
|
+
"dialog": {
|
|
111
|
+
"cancel": "Cancel",
|
|
112
|
+
"close": "Close",
|
|
113
|
+
"header": "Select a drop type",
|
|
114
|
+
"selection": {
|
|
115
|
+
"label": "",
|
|
116
|
+
"helper_text": "",
|
|
117
|
+
"pagination": {
|
|
118
|
+
"first": "First",
|
|
119
|
+
"last": "Last",
|
|
120
|
+
"next": "Next",
|
|
121
|
+
"pagination": "{{from}}-{{to}} out of {{total}}",
|
|
122
|
+
"previous": "Previous",
|
|
123
|
+
"card": {
|
|
124
|
+
"subtitle": "Code: {{ code }}",
|
|
125
|
+
"spinner": {
|
|
126
|
+
"loading_busy": "Loading",
|
|
127
|
+
"loading_empty": "No drop types found",
|
|
128
|
+
"loading_error": "Unknown error"
|
|
129
|
+
}
|
|
118
130
|
}
|
|
119
131
|
}
|
|
120
132
|
}
|
|
133
|
+
},
|
|
134
|
+
"card": {
|
|
135
|
+
"subtitle": "Code: {{ code }}",
|
|
136
|
+
"spinner": {
|
|
137
|
+
"loading_busy": "Loading",
|
|
138
|
+
"loading_empty": "Select a drop type",
|
|
139
|
+
"loading_error": "Unknown error"
|
|
140
|
+
}
|
|
121
141
|
}
|
|
122
|
-
}
|
|
123
|
-
"card": {
|
|
124
|
-
"subtitle": "Code: {{ code }}",
|
|
125
|
-
"spinner": {
|
|
126
|
-
"loading_busy": "Loading",
|
|
127
|
-
"loading_empty": "Select a drop type",
|
|
128
|
-
"loading_error": "Unknown error"
|
|
129
|
-
}
|
|
130
|
-
},
|
|
131
|
-
"helper_text": "",
|
|
132
|
-
"v8n_required": "Please select a drop type."
|
|
142
|
+
}
|
|
133
143
|
},
|
|
134
144
|
"destinations": {
|
|
135
145
|
"label": "Destinations",
|
|
136
|
-
"
|
|
137
|
-
"
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
"
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
"helper_text": "If using account specific rates, enter your shipping account meter number here, if applicable.",
|
|
150
|
-
"v8n_too_long": "Meter number must be 50 characters or less."
|
|
146
|
+
"helper_text": "",
|
|
147
|
+
"use-for-domestic": {
|
|
148
|
+
"label": "Use for domestic destinations",
|
|
149
|
+
"helper_text": "",
|
|
150
|
+
"checked": "Yes",
|
|
151
|
+
"unchecked": "No"
|
|
152
|
+
},
|
|
153
|
+
"use-for-international": {
|
|
154
|
+
"label": "Use for international destinations",
|
|
155
|
+
"helper_text": "",
|
|
156
|
+
"checked": "Yes",
|
|
157
|
+
"unchecked": "No"
|
|
158
|
+
}
|
|
151
159
|
},
|
|
152
|
-
"
|
|
153
|
-
"label": "Account
|
|
154
|
-
"
|
|
155
|
-
"
|
|
156
|
-
|
|
160
|
+
"account": {
|
|
161
|
+
"label": "Account",
|
|
162
|
+
"helper_text": "",
|
|
163
|
+
"use-custom-account": {
|
|
164
|
+
"label": "Use custom credentials",
|
|
165
|
+
"helper_text": "",
|
|
166
|
+
"checked": "Yes",
|
|
167
|
+
"unchecked": "No"
|
|
168
|
+
},
|
|
169
|
+
"authentication-key": {
|
|
170
|
+
"label": "Authentication Key",
|
|
171
|
+
"placeholder": "N/A",
|
|
172
|
+
"helper_text": "",
|
|
173
|
+
"v8n_too_long": "Authentication key must be 50 characters or less."
|
|
174
|
+
},
|
|
175
|
+
"meter-number": {
|
|
176
|
+
"label": "Meter Number",
|
|
177
|
+
"placeholder": "N/A",
|
|
178
|
+
"helper_text": "",
|
|
179
|
+
"v8n_too_long": "Meter number must be 50 characters or less."
|
|
180
|
+
},
|
|
181
|
+
"accountid": {
|
|
182
|
+
"label": "Account ID",
|
|
183
|
+
"placeholder": "N/A",
|
|
184
|
+
"helper_text": "",
|
|
185
|
+
"v8n_too_long": "Account ID must be 50 characters or less."
|
|
186
|
+
},
|
|
187
|
+
"password": {
|
|
188
|
+
"label": "Password",
|
|
189
|
+
"placeholder": "N/A",
|
|
190
|
+
"helper_text": "",
|
|
191
|
+
"v8n_too_long": "Password must be 50 characters or less."
|
|
192
|
+
}
|
|
157
193
|
},
|
|
158
194
|
"endpoint": {
|
|
159
195
|
"label": "Endpoint URL",
|
|
160
196
|
"placeholder": "https://example.com/rates",
|
|
161
|
-
"helper_text": "
|
|
162
|
-
"v8n_required": "Please enter a valid endpoint URL."
|
|
163
|
-
},
|
|
164
|
-
"password": {
|
|
165
|
-
"label": "Password",
|
|
166
|
-
"placeholder": "N/A",
|
|
167
|
-
"helper_text": "If using account specific rates, enter your shipping account password here.",
|
|
168
|
-
"v8n_too_long": "Password must be 50 characters or less."
|
|
197
|
+
"helper_text": ""
|
|
169
198
|
},
|
|
170
199
|
"custom-code": {
|
|
171
200
|
"label": "Custom Code",
|
|
@@ -258,8 +258,8 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
258
258
|
>
|
|
259
259
|
</foxy-internal-confirm-dialog>
|
|
260
260
|
`}
|
|
261
|
-
<div class="flex gap-m items-center justify-between mb-
|
|
262
|
-
<span class="text-
|
|
261
|
+
<div class="flex gap-m items-center justify-between mb-s text-l font-medium">
|
|
262
|
+
<span class="text-body mr-auto">
|
|
263
263
|
${this.label && this.label !== 'label' ? this.label : ''}
|
|
264
264
|
</span>
|
|
265
265
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalAsyncListControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/InternalAsyncListControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { CollectionPage, NucleonElement } from '../../public/index';\nimport type { BulkAction, SwipeAction } from './types';\nimport type { InternalConfirmDialog } from '../InternalConfirmDialog';\nimport type { DialogHideEvent } from '../../private/Dialog/DialogHideEvent';\nimport type { HALJSONResource } from '../../public/NucleonElement/types';\nimport type { CheckboxElement } from '@vaadin/vaadin-checkbox';\nimport type { ItemRenderer } from '../../public/CollectionPage/types';\nimport type { FormDialog } from '../../index';\nimport type { Option } from '../../public/QueryBuilder/types';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { render } from 'lit-html';\nimport { html } from 'lit-element';\n\nexport class InternalAsyncListControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n keepDialogOpenOnDelete: { type: Boolean, attribute: 'keep-dialog-open-on-delete' },\n keepDialogOpenOnPost: { type: Boolean, attribute: 'keep-dialog-open-on-post' },\n hideDeleteButton: { type: Boolean, attribute: 'hide-delete-button' },\n hideCreateButton: { type: Boolean, attribute: 'hide-create-button' },\n createPageHref: { attribute: 'create-page-href' },\n getPageHref: { attribute: false },\n related: { type: Array },\n first: {},\n limit: { type: Number },\n form: {},\n formProps: { type: Object, attribute: 'form-props' },\n item: {},\n itemProps: { type: Object, attribute: 'item-props' },\n wide: { type: Boolean },\n alert: { type: Boolean },\n actions: { attribute: false },\n bulkActions: { attribute: false },\n filters: { type: Array },\n __filter: { attribute: false },\n __selection: { attribute: false },\n __isSelecting: { attribute: false },\n __notification: { attribute: false },\n __isFilterVisible: { attribute: false },\n __activeBulkAction: { attribute: false },\n };\n }\n\n /** If true, FormDialog won't automatically close after the associated form deletes the resource. */\n keepDialogOpenOnDelete = false;\n\n /** If true, FormDialog won't automatically close after the associated form creates a resource. */\n keepDialogOpenOnPost = false;\n\n /** If provided, renders Create button as a link to this page. */\n createPageHref: string | null = null;\n\n /** Bulk actions that appear when one or more items are selected. */\n bulkActions = [] as BulkAction[];\n\n /** Same as the `related` property of `NucleonElement`. */\n related = [] as string[];\n\n /** Swipe actions. */\n actions = [] as SwipeAction[];\n\n /** Query parameters to apply to the `first` URL. */\n filters = [] as Option[];\n\n /** Limit query parameter to apply to the `first` URL. */\n limit = 20;\n\n /** URI of the first page of the hAPI collection to display. */\n first: string | null = null;\n\n /** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */\n form: FormDialog['form'] = null;\n\n /** Props to pass through to the form rendered by `FormDialog`. */\n formProps: Record<string, unknown> = {};\n\n /** Same as the `item` property of `CollectionPage`. */\n item: CollectionPage<any>['item'] = null;\n\n /** Props to pass through to the `CollectionPage` rendering items. */\n itemProps: Record<string, unknown> = {};\n\n /** Same as the `wide` property of `FormDialog`. */\n wide = false;\n\n /** Same as the `alert` property of `FormDialog`. */\n alert = false;\n\n /** Hides Delete Swipe Action if true. */\n hideDeleteButton = false;\n\n /** Hides Create button if true. */\n hideCreateButton = false;\n\n /** If set, renders list items as <a> tags. */\n getPageHref: ((itemHref: string, item: unknown) => string | null) | null = null;\n\n private __deletionConfimationCallback: (() => void) | null = null;\n\n private __cachedCardRenderer: {\n item: InternalAsyncListControl['item'];\n render: ItemRenderer;\n } | null = null;\n\n private __activeBulkAction: BulkAction | null = null;\n\n private __isFilterVisible = false;\n\n private __notification: { key: string; theme?: string } | null = null;\n\n private __isSelecting = false;\n\n private __selection: HALJSONResource[] = [];\n\n private __itemRenderer: ItemRenderer = ctx => {\n if (!ctx.data) return this.__cardRenderer(ctx);\n\n if (this.__isSelecting) {\n return html`\n <vaadin-checkbox\n class=\"block w-full\"\n style=\"padding-left: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n data-async-list-control\n ?disabled=${this.disabled || !!this.__activeBulkAction}\n ?checked=${this.__selection.find(v => v._links.self.href === ctx.data!._links.self.href)}\n @change=${(evt: CustomEvent) => {\n if ((evt.currentTarget as CheckboxElement).checked) {\n this.__selection = [...this.__selection, ctx.data!];\n } else {\n this.__selection = this.__selection.filter(\n v => v._links.self.href !== ctx.data!._links.self.href\n );\n }\n }}\n >\n ${this.__cardRenderer(ctx)}\n </vaadin-checkbox>\n `;\n }\n\n const href = this.getPageHref?.(ctx.href, ctx.data);\n if (typeof href !== 'string' && !this.form) return this.__cardRenderer(ctx);\n\n const isDisabled = this.disabledSelector.matches('card', true);\n const card = this.__cardRenderer(ctx);\n let clickableItem: TemplateResult;\n\n const wrapperClass = classMap({\n 'rounded-t': !ctx.previous,\n 'rounded-b': !ctx.next,\n 'focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50': true,\n 'text-left w-full block transition-colors': true,\n 'hover-bg-contrast-5': !isDisabled,\n });\n\n if (this.getPageHref) {\n if (isDisabled) {\n clickableItem = html`<div class=${wrapperClass}>${card}</div>`;\n } else {\n const href = this.getPageHref(ctx.href, ctx.data);\n clickableItem = html`<a class=${wrapperClass} href=${href}>${card}</a>`;\n }\n } else {\n const handleClick = (evt: Event) => {\n const clickEvent = new CustomEvent<string>('itemclick', {\n cancelable: true,\n composed: true,\n bubbles: true,\n detail: ctx.href,\n });\n\n if (this.dispatchEvent(clickEvent)) {\n const button = evt.currentTarget as HTMLButtonElement;\n const dialog = this.__dialog;\n\n dialog.header = 'header_update';\n dialog.href = ctx.href;\n dialog.show(button);\n }\n };\n\n clickableItem = html`\n <button ?disabled=${isDisabled} class=${wrapperClass} @click=${handleClick}>${card}</button>\n `;\n }\n\n if ((this.hideDeleteButton && !this.actions.length) || this.readonly) return clickableItem;\n\n return html`\n <foxy-swipe-actions class=\"block\">\n ${clickableItem}\n ${this.actions.map(action => {\n return html`\n <vaadin-button\n data-testclass=\"action\"\n theme=${action.theme}\n class=\"h-full rounded-none relative\"\n slot=\"action\"\n ?disabled=${this.disabled}\n @click=${() => action.onClick(ctx.data!)}\n >\n <foxy-i18n\n class=${classMap({\n 'transition-opacity': true,\n 'opacity-0': action.state !== 'idle',\n })}\n infer=\"\"\n key=${action.text}\n >\n </foxy-i18n>\n <div\n class=${classMap({\n 'absolute inset-0 flex items-center justify-center transition-opacity': true,\n 'opacity-0': action.state === 'idle',\n })}\n >\n <foxy-spinner layout=\"no-label\" infer=\"spinner\" state=${action.state}>\n </foxy-spinner>\n </div>\n </vaadin-button>\n `;\n })}\n ${this.hideDeleteButton\n ? ''\n : html`\n <vaadin-button\n theme=\"primary error\"\n class=\"h-full rounded-none\"\n slot=\"action\"\n @click=${(evt: CustomEvent) => {\n const button = evt.currentTarget as HTMLElement;\n const confirm = this.renderRoot.querySelector(\n '#confirm'\n ) as InternalConfirmDialog;\n\n confirm.show(button);\n\n this.__deletionConfimationCallback = () => {\n const cardButton = button.parentElement!.firstElementChild!;\n const card = cardButton.querySelector<NucleonElement<any>>('[href]');\n\n card?.delete();\n this.__deletionConfimationCallback = null;\n };\n }}\n >\n <foxy-i18n infer=\"\" key=\"delete_button_text\"></foxy-i18n>\n </vaadin-button>\n `}\n </foxy-swipe-actions>\n `;\n };\n\n private __filter = '';\n\n renderControl(): TemplateResult {\n let first: string | undefined;\n\n try {\n const url = new URL(this.first ?? '');\n const filter = new URLSearchParams(this.__filter);\n\n url.searchParams.set('limit', String(this.limit));\n filter.forEach((value, key) => url.searchParams.set(key, value));\n first = url.toString();\n } catch {\n first = undefined;\n }\n\n return html`\n ${this.form && !this.__isSelecting\n ? html`\n <foxy-form-dialog\n parent=${ifDefined(this.first ?? void 0)}\n infer=\"dialog\"\n id=\"form\"\n ?wide=${this.wide}\n ?alert=${this.alert}\n ?keep-open-on-post=${this.keepDialogOpenOnPost}\n ?keep-open-on-delete=${this.keepDialogOpenOnDelete}\n .related=${this.related}\n .props=${this.formProps}\n .form=${this.form as any}\n >\n </foxy-form-dialog>\n `\n : ''}\n ${this.hideDeleteButton || this.readonly || this.__isSelecting\n ? ''\n : html`\n <foxy-internal-confirm-dialog\n message=\"delete_message\"\n confirm=\"delete_confirm\"\n cancel=\"delete_cancel\"\n header=\"delete_header\"\n theme=\"error\"\n infer=\"\"\n id=\"confirm\"\n @hide=${(evt: DialogHideEvent) => {\n if (!evt.detail.cancelled) this.__deletionConfimationCallback?.();\n }}\n >\n </foxy-internal-confirm-dialog>\n `}\n <div class=\"flex gap-m items-center justify-between mb-xs text-s font-medium\">\n <span class=\"text-secondary mr-auto\">\n ${this.label && this.label !== 'label' ? this.label : ''}\n </span>\n\n ${this.filters.length > 0 && !this.__isSelecting\n ? html`\n <foxy-internal-async-list-control-filter-overlay\n .noVerticalOverlap=${true}\n .positionTarget=${this.renderRoot.querySelector('#filters')}\n .model=${{\n options: this.filters,\n value: this.__filter,\n lang: this.lang,\n ns: this.ns,\n }}\n ?opened=${this.__isFilterVisible}\n @vaadin-overlay-close=${() => (this.__isFilterVisible = false)}\n @search=${(evt: CustomEvent<string | undefined>) => {\n this.__filter = evt.detail ?? '';\n }}\n >\n </foxy-internal-async-list-control-filter-overlay>\n\n <vaadin-button\n theme=\"tertiary-inline contrast\"\n id=\"filters\"\n ?disabled=${this.disabled}\n @click=${() => (this.__isFilterVisible = !this.__isFilterVisible)}\n >\n <foxy-i18n infer=\"pagination\" key=\"search_button_text\"></foxy-i18n>\n </vaadin-button>\n `\n : ''}\n ${this.bulkActions.length > 0 && this.first\n ? html`\n ${this.__selection.length > 0\n ? this.bulkActions.map(action => {\n const nPrefix = `${action.name}_bulk_action_notification`;\n const cPrefix = `${action.name}_bulk_action_caption`;\n const isActive = this.__activeBulkAction?.name === action.name;\n\n return html`\n <vaadin-button\n data-testclass=\"bulk-action\"\n theme=\"tertiary-inline\"\n ?disabled=${this.disabled || !!this.__activeBulkAction}\n @click=${async () => {\n this.__activeBulkAction = action;\n\n try {\n await action.onClick(this.__selection);\n this.__selection = [];\n this.__isSelecting = false;\n this.__notification = { key: `${nPrefix}_done`, theme: 'success' };\n } catch {\n this.__notification = { key: `${nPrefix}_fail`, theme: 'error' };\n } finally {\n this.__activeBulkAction = null;\n this.renderRoot.querySelector('vaadin-notification')?.open();\n }\n }}\n >\n <foxy-i18n\n infer=\"pagination\"\n key=\"${cPrefix}_${isActive ? 'busy' : 'idle'}\"\n .options=${{ count: this.__selection.length }}\n >\n </foxy-i18n>\n </vaadin-button>\n `;\n })\n : ''}\n <vaadin-button\n theme=\"tertiary-inline contrast\"\n ?disabled=${this.disabled || !!this.__activeBulkAction}\n @click=${() => {\n this.__isSelecting = !this.__isSelecting;\n this.__selection = [];\n }}\n >\n <foxy-i18n\n infer=\"pagination\"\n key=${this.__isSelecting ? 'cancel_button_text' : 'select_button_text'}\n >\n </foxy-i18n>\n </vaadin-button>\n `\n : ''}\n ${(!this.form && !this.createPageHref) ||\n this.readonly ||\n this.hideCreateButton ||\n this.__isSelecting\n ? ''\n : this.createPageHref && !this.disabled\n ? html`\n <a\n class=\"rounded-s text-primary group focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${this.createPageHref}\n >\n <foxy-i18n\n class=\"transition-opacity group-hover-opacity-80\"\n infer=\"\"\n key=\"create_button_text\"\n >\n </foxy-i18n>\n </a>\n `\n : html`\n <vaadin-button\n theme=\"tertiary-inline\"\n ?disabled=${this.disabled}\n @click=${(evt: Event) => {\n evt.preventDefault();\n evt.stopPropagation();\n\n const dialog = this.__dialog;\n const button = evt.currentTarget as HTMLButtonElement;\n\n dialog.header = 'header_create';\n dialog.href = '';\n dialog.show(button);\n }}\n >\n <foxy-i18n infer=\"pagination\" key=\"create_button_text\"></foxy-i18n>\n </vaadin-button>\n `}\n </div>\n\n <foxy-pagination first=${ifDefined(first)} infer=\"pagination\">\n <foxy-collection-page\n class=${classMap({\n 'block divide-y divide-contrast-5 rounded overflow-hidden': true,\n 'ring-1 ring-inset ring-contrast-10':\n this.__isSelecting || (!this.form && !this.getPageHref),\n 'bg-contrast-5': !this.__isSelecting && (!!this.form || !!this.getPageHref),\n })}\n infer=\"card\"\n .related=${this.related}\n .props=${this.itemProps}\n .item=${this.__itemRenderer}\n >\n </foxy-collection-page>\n </foxy-pagination>\n\n <div\n class=${classMap({\n 'transition-colors mt-xs text-xs': true,\n 'text-secondary group-hover-text-body': !this.disabled && !this.readonly,\n 'text-disabled': this.disabled,\n })}\n ?hidden=${!this.helperText || this.helperText === 'helper_text'}\n >\n ${this.helperText}\n </div>\n\n <div\n class=\"mt-xs text-xs leading-xs text-error\"\n ?hidden=${!this._errorMessage || this.disabled || this.readonly || this.__isSelecting}\n >\n ${this._errorMessage}\n </div>\n\n <vaadin-notification\n position=\"bottom-end\"\n duration=\"3000\"\n theme=${ifDefined(this.__notification?.theme)}\n .renderer=${(root: HTMLElement) => {\n if (!root.firstElementChild) root.innerHTML = '<span></span>';\n\n const theme = this.__notification?.theme;\n const layout = html`\n <foxy-i18n\n style=\"color: var(--lumo-${theme ? `${theme}-contrast` : 'body-text'}-color)\"\n lang=${this.lang}\n key=${this.__notification?.key}\n ns=\"${this.ns} pagination\"\n >\n </foxy-i18n>\n `;\n\n render(layout, root.firstElementChild!);\n }}\n >\n </vaadin-notification>\n `;\n }\n\n private get __dialog() {\n return this.renderRoot.querySelector('#form') as FormDialog;\n }\n\n private get __cardRenderer() {\n const item = this.item;\n\n if (this.__cachedCardRenderer?.item !== item) {\n this.__cachedCardRenderer = {\n item: item,\n render:\n typeof item === 'string'\n ? (new Function(\n 'ctx',\n `return ctx.html\\`\n <${item}\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 </${item}>\\``\n ) as ItemRenderer)\n : ctx => html`\n <div style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\">\n ${item?.(ctx)}\n </div>\n `,\n };\n }\n\n return this.__cachedCardRenderer.render;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"InternalAsyncListControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/InternalAsyncListControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { CollectionPage, NucleonElement } from '../../public/index';\nimport type { BulkAction, SwipeAction } from './types';\nimport type { InternalConfirmDialog } from '../InternalConfirmDialog';\nimport type { DialogHideEvent } from '../../private/Dialog/DialogHideEvent';\nimport type { HALJSONResource } from '../../public/NucleonElement/types';\nimport type { CheckboxElement } from '@vaadin/vaadin-checkbox';\nimport type { ItemRenderer } from '../../public/CollectionPage/types';\nimport type { FormDialog } from '../../index';\nimport type { Option } from '../../public/QueryBuilder/types';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { render } from 'lit-html';\nimport { html } from 'lit-element';\n\nexport class InternalAsyncListControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n keepDialogOpenOnDelete: { type: Boolean, attribute: 'keep-dialog-open-on-delete' },\n keepDialogOpenOnPost: { type: Boolean, attribute: 'keep-dialog-open-on-post' },\n hideDeleteButton: { type: Boolean, attribute: 'hide-delete-button' },\n hideCreateButton: { type: Boolean, attribute: 'hide-create-button' },\n createPageHref: { attribute: 'create-page-href' },\n getPageHref: { attribute: false },\n related: { type: Array },\n first: {},\n limit: { type: Number },\n form: {},\n formProps: { type: Object, attribute: 'form-props' },\n item: {},\n itemProps: { type: Object, attribute: 'item-props' },\n wide: { type: Boolean },\n alert: { type: Boolean },\n actions: { attribute: false },\n bulkActions: { attribute: false },\n filters: { type: Array },\n __filter: { attribute: false },\n __selection: { attribute: false },\n __isSelecting: { attribute: false },\n __notification: { attribute: false },\n __isFilterVisible: { attribute: false },\n __activeBulkAction: { attribute: false },\n };\n }\n\n /** If true, FormDialog won't automatically close after the associated form deletes the resource. */\n keepDialogOpenOnDelete = false;\n\n /** If true, FormDialog won't automatically close after the associated form creates a resource. */\n keepDialogOpenOnPost = false;\n\n /** If provided, renders Create button as a link to this page. */\n createPageHref: string | null = null;\n\n /** Bulk actions that appear when one or more items are selected. */\n bulkActions = [] as BulkAction[];\n\n /** Same as the `related` property of `NucleonElement`. */\n related = [] as string[];\n\n /** Swipe actions. */\n actions = [] as SwipeAction[];\n\n /** Query parameters to apply to the `first` URL. */\n filters = [] as Option[];\n\n /** Limit query parameter to apply to the `first` URL. */\n limit = 20;\n\n /** URI of the first page of the hAPI collection to display. */\n first: string | null = null;\n\n /** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */\n form: FormDialog['form'] = null;\n\n /** Props to pass through to the form rendered by `FormDialog`. */\n formProps: Record<string, unknown> = {};\n\n /** Same as the `item` property of `CollectionPage`. */\n item: CollectionPage<any>['item'] = null;\n\n /** Props to pass through to the `CollectionPage` rendering items. */\n itemProps: Record<string, unknown> = {};\n\n /** Same as the `wide` property of `FormDialog`. */\n wide = false;\n\n /** Same as the `alert` property of `FormDialog`. */\n alert = false;\n\n /** Hides Delete Swipe Action if true. */\n hideDeleteButton = false;\n\n /** Hides Create button if true. */\n hideCreateButton = false;\n\n /** If set, renders list items as <a> tags. */\n getPageHref: ((itemHref: string, item: unknown) => string | null) | null = null;\n\n private __deletionConfimationCallback: (() => void) | null = null;\n\n private __cachedCardRenderer: {\n item: InternalAsyncListControl['item'];\n render: ItemRenderer;\n } | null = null;\n\n private __activeBulkAction: BulkAction | null = null;\n\n private __isFilterVisible = false;\n\n private __notification: { key: string; theme?: string } | null = null;\n\n private __isSelecting = false;\n\n private __selection: HALJSONResource[] = [];\n\n private __itemRenderer: ItemRenderer = ctx => {\n if (!ctx.data) return this.__cardRenderer(ctx);\n\n if (this.__isSelecting) {\n return html`\n <vaadin-checkbox\n class=\"block w-full\"\n style=\"padding-left: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n data-async-list-control\n ?disabled=${this.disabled || !!this.__activeBulkAction}\n ?checked=${this.__selection.find(v => v._links.self.href === ctx.data!._links.self.href)}\n @change=${(evt: CustomEvent) => {\n if ((evt.currentTarget as CheckboxElement).checked) {\n this.__selection = [...this.__selection, ctx.data!];\n } else {\n this.__selection = this.__selection.filter(\n v => v._links.self.href !== ctx.data!._links.self.href\n );\n }\n }}\n >\n ${this.__cardRenderer(ctx)}\n </vaadin-checkbox>\n `;\n }\n\n const href = this.getPageHref?.(ctx.href, ctx.data);\n if (typeof href !== 'string' && !this.form) return this.__cardRenderer(ctx);\n\n const isDisabled = this.disabledSelector.matches('card', true);\n const card = this.__cardRenderer(ctx);\n let clickableItem: TemplateResult;\n\n const wrapperClass = classMap({\n 'rounded-t': !ctx.previous,\n 'rounded-b': !ctx.next,\n 'focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50': true,\n 'text-left w-full block transition-colors': true,\n 'hover-bg-contrast-5': !isDisabled,\n });\n\n if (this.getPageHref) {\n if (isDisabled) {\n clickableItem = html`<div class=${wrapperClass}>${card}</div>`;\n } else {\n const href = this.getPageHref(ctx.href, ctx.data);\n clickableItem = html`<a class=${wrapperClass} href=${href}>${card}</a>`;\n }\n } else {\n const handleClick = (evt: Event) => {\n const clickEvent = new CustomEvent<string>('itemclick', {\n cancelable: true,\n composed: true,\n bubbles: true,\n detail: ctx.href,\n });\n\n if (this.dispatchEvent(clickEvent)) {\n const button = evt.currentTarget as HTMLButtonElement;\n const dialog = this.__dialog;\n\n dialog.header = 'header_update';\n dialog.href = ctx.href;\n dialog.show(button);\n }\n };\n\n clickableItem = html`\n <button ?disabled=${isDisabled} class=${wrapperClass} @click=${handleClick}>${card}</button>\n `;\n }\n\n if ((this.hideDeleteButton && !this.actions.length) || this.readonly) return clickableItem;\n\n return html`\n <foxy-swipe-actions class=\"block\">\n ${clickableItem}\n ${this.actions.map(action => {\n return html`\n <vaadin-button\n data-testclass=\"action\"\n theme=${action.theme}\n class=\"h-full rounded-none relative\"\n slot=\"action\"\n ?disabled=${this.disabled}\n @click=${() => action.onClick(ctx.data!)}\n >\n <foxy-i18n\n class=${classMap({\n 'transition-opacity': true,\n 'opacity-0': action.state !== 'idle',\n })}\n infer=\"\"\n key=${action.text}\n >\n </foxy-i18n>\n <div\n class=${classMap({\n 'absolute inset-0 flex items-center justify-center transition-opacity': true,\n 'opacity-0': action.state === 'idle',\n })}\n >\n <foxy-spinner layout=\"no-label\" infer=\"spinner\" state=${action.state}>\n </foxy-spinner>\n </div>\n </vaadin-button>\n `;\n })}\n ${this.hideDeleteButton\n ? ''\n : html`\n <vaadin-button\n theme=\"primary error\"\n class=\"h-full rounded-none\"\n slot=\"action\"\n @click=${(evt: CustomEvent) => {\n const button = evt.currentTarget as HTMLElement;\n const confirm = this.renderRoot.querySelector(\n '#confirm'\n ) as InternalConfirmDialog;\n\n confirm.show(button);\n\n this.__deletionConfimationCallback = () => {\n const cardButton = button.parentElement!.firstElementChild!;\n const card = cardButton.querySelector<NucleonElement<any>>('[href]');\n\n card?.delete();\n this.__deletionConfimationCallback = null;\n };\n }}\n >\n <foxy-i18n infer=\"\" key=\"delete_button_text\"></foxy-i18n>\n </vaadin-button>\n `}\n </foxy-swipe-actions>\n `;\n };\n\n private __filter = '';\n\n renderControl(): TemplateResult {\n let first: string | undefined;\n\n try {\n const url = new URL(this.first ?? '');\n const filter = new URLSearchParams(this.__filter);\n\n url.searchParams.set('limit', String(this.limit));\n filter.forEach((value, key) => url.searchParams.set(key, value));\n first = url.toString();\n } catch {\n first = undefined;\n }\n\n return html`\n ${this.form && !this.__isSelecting\n ? html`\n <foxy-form-dialog\n parent=${ifDefined(this.first ?? void 0)}\n infer=\"dialog\"\n id=\"form\"\n ?wide=${this.wide}\n ?alert=${this.alert}\n ?keep-open-on-post=${this.keepDialogOpenOnPost}\n ?keep-open-on-delete=${this.keepDialogOpenOnDelete}\n .related=${this.related}\n .props=${this.formProps}\n .form=${this.form as any}\n >\n </foxy-form-dialog>\n `\n : ''}\n ${this.hideDeleteButton || this.readonly || this.__isSelecting\n ? ''\n : html`\n <foxy-internal-confirm-dialog\n message=\"delete_message\"\n confirm=\"delete_confirm\"\n cancel=\"delete_cancel\"\n header=\"delete_header\"\n theme=\"error\"\n infer=\"\"\n id=\"confirm\"\n @hide=${(evt: DialogHideEvent) => {\n if (!evt.detail.cancelled) this.__deletionConfimationCallback?.();\n }}\n >\n </foxy-internal-confirm-dialog>\n `}\n <div class=\"flex gap-m items-center justify-between mb-s text-l font-medium\">\n <span class=\"text-body mr-auto\">\n ${this.label && this.label !== 'label' ? this.label : ''}\n </span>\n\n ${this.filters.length > 0 && !this.__isSelecting\n ? html`\n <foxy-internal-async-list-control-filter-overlay\n .noVerticalOverlap=${true}\n .positionTarget=${this.renderRoot.querySelector('#filters')}\n .model=${{\n options: this.filters,\n value: this.__filter,\n lang: this.lang,\n ns: this.ns,\n }}\n ?opened=${this.__isFilterVisible}\n @vaadin-overlay-close=${() => (this.__isFilterVisible = false)}\n @search=${(evt: CustomEvent<string | undefined>) => {\n this.__filter = evt.detail ?? '';\n }}\n >\n </foxy-internal-async-list-control-filter-overlay>\n\n <vaadin-button\n theme=\"tertiary-inline contrast\"\n id=\"filters\"\n ?disabled=${this.disabled}\n @click=${() => (this.__isFilterVisible = !this.__isFilterVisible)}\n >\n <foxy-i18n infer=\"pagination\" key=\"search_button_text\"></foxy-i18n>\n </vaadin-button>\n `\n : ''}\n ${this.bulkActions.length > 0 && this.first\n ? html`\n ${this.__selection.length > 0\n ? this.bulkActions.map(action => {\n const nPrefix = `${action.name}_bulk_action_notification`;\n const cPrefix = `${action.name}_bulk_action_caption`;\n const isActive = this.__activeBulkAction?.name === action.name;\n\n return html`\n <vaadin-button\n data-testclass=\"bulk-action\"\n theme=\"tertiary-inline\"\n ?disabled=${this.disabled || !!this.__activeBulkAction}\n @click=${async () => {\n this.__activeBulkAction = action;\n\n try {\n await action.onClick(this.__selection);\n this.__selection = [];\n this.__isSelecting = false;\n this.__notification = { key: `${nPrefix}_done`, theme: 'success' };\n } catch {\n this.__notification = { key: `${nPrefix}_fail`, theme: 'error' };\n } finally {\n this.__activeBulkAction = null;\n this.renderRoot.querySelector('vaadin-notification')?.open();\n }\n }}\n >\n <foxy-i18n\n infer=\"pagination\"\n key=\"${cPrefix}_${isActive ? 'busy' : 'idle'}\"\n .options=${{ count: this.__selection.length }}\n >\n </foxy-i18n>\n </vaadin-button>\n `;\n })\n : ''}\n <vaadin-button\n theme=\"tertiary-inline contrast\"\n ?disabled=${this.disabled || !!this.__activeBulkAction}\n @click=${() => {\n this.__isSelecting = !this.__isSelecting;\n this.__selection = [];\n }}\n >\n <foxy-i18n\n infer=\"pagination\"\n key=${this.__isSelecting ? 'cancel_button_text' : 'select_button_text'}\n >\n </foxy-i18n>\n </vaadin-button>\n `\n : ''}\n ${(!this.form && !this.createPageHref) ||\n this.readonly ||\n this.hideCreateButton ||\n this.__isSelecting\n ? ''\n : this.createPageHref && !this.disabled\n ? html`\n <a\n class=\"rounded-s text-primary group focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${this.createPageHref}\n >\n <foxy-i18n\n class=\"transition-opacity group-hover-opacity-80\"\n infer=\"\"\n key=\"create_button_text\"\n >\n </foxy-i18n>\n </a>\n `\n : html`\n <vaadin-button\n theme=\"tertiary-inline\"\n ?disabled=${this.disabled}\n @click=${(evt: Event) => {\n evt.preventDefault();\n evt.stopPropagation();\n\n const dialog = this.__dialog;\n const button = evt.currentTarget as HTMLButtonElement;\n\n dialog.header = 'header_create';\n dialog.href = '';\n dialog.show(button);\n }}\n >\n <foxy-i18n infer=\"pagination\" key=\"create_button_text\"></foxy-i18n>\n </vaadin-button>\n `}\n </div>\n\n <foxy-pagination first=${ifDefined(first)} infer=\"pagination\">\n <foxy-collection-page\n class=${classMap({\n 'block divide-y divide-contrast-5 rounded overflow-hidden': true,\n 'ring-1 ring-inset ring-contrast-10':\n this.__isSelecting || (!this.form && !this.getPageHref),\n 'bg-contrast-5': !this.__isSelecting && (!!this.form || !!this.getPageHref),\n })}\n infer=\"card\"\n .related=${this.related}\n .props=${this.itemProps}\n .item=${this.__itemRenderer}\n >\n </foxy-collection-page>\n </foxy-pagination>\n\n <div\n class=${classMap({\n 'transition-colors mt-xs text-xs': true,\n 'text-secondary group-hover-text-body': !this.disabled && !this.readonly,\n 'text-disabled': this.disabled,\n })}\n ?hidden=${!this.helperText || this.helperText === 'helper_text'}\n >\n ${this.helperText}\n </div>\n\n <div\n class=\"mt-xs text-xs leading-xs text-error\"\n ?hidden=${!this._errorMessage || this.disabled || this.readonly || this.__isSelecting}\n >\n ${this._errorMessage}\n </div>\n\n <vaadin-notification\n position=\"bottom-end\"\n duration=\"3000\"\n theme=${ifDefined(this.__notification?.theme)}\n .renderer=${(root: HTMLElement) => {\n if (!root.firstElementChild) root.innerHTML = '<span></span>';\n\n const theme = this.__notification?.theme;\n const layout = html`\n <foxy-i18n\n style=\"color: var(--lumo-${theme ? `${theme}-contrast` : 'body-text'}-color)\"\n lang=${this.lang}\n key=${this.__notification?.key}\n ns=\"${this.ns} pagination\"\n >\n </foxy-i18n>\n `;\n\n render(layout, root.firstElementChild!);\n }}\n >\n </vaadin-notification>\n `;\n }\n\n private get __dialog() {\n return this.renderRoot.querySelector('#form') as FormDialog;\n }\n\n private get __cardRenderer() {\n const item = this.item;\n\n if (this.__cachedCardRenderer?.item !== item) {\n this.__cachedCardRenderer = {\n item: item,\n render:\n typeof item === 'string'\n ? (new Function(\n 'ctx',\n `return ctx.html\\`\n <${item}\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 </${item}>\\``\n ) as ItemRenderer)\n : ctx => html`\n <div style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\">\n ${item?.(ctx)}\n </div>\n `,\n };\n }\n\n return this.__cachedCardRenderer.render;\n }\n}\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { InternalEditableControl } from "../InternalEditableControl/InternalEditableControl.js";
|
|
2
2
|
import { NucleonElement } from "../../public/NucleonElement/NucleonElement.js";
|
|
3
|
-
import { getResourceId } from '@foxy.io/sdk/core';
|
|
4
3
|
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
5
4
|
import { classMap } from "../../../utils/class-map.js";
|
|
6
5
|
import { html } from 'lit-html';
|
|
@@ -30,57 +29,37 @@ export class InternalAsyncResourceLinkListControl extends InternalEditableContro
|
|
|
30
29
|
</${item !== null && item !== void 0 ? item : 'foxy-null'}>\``);
|
|
31
30
|
}, (...args) => args.join());
|
|
32
31
|
this.__renderItem = ctx => {
|
|
33
|
-
var _a
|
|
32
|
+
var _a;
|
|
34
33
|
const render = this.__getItemRenderer(this.item, !!ctx.data);
|
|
35
34
|
const wrap = (content) => html `
|
|
36
35
|
<div style="padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)">${content}</div>
|
|
37
36
|
`;
|
|
38
37
|
if (!ctx.href || ctx.href.startsWith('foxy://'))
|
|
39
38
|
return wrap(render(ctx));
|
|
40
|
-
let linkHref;
|
|
41
|
-
const id = getResourceId((_b = (_a = ctx.data) === null || _a === void 0 ? void 0 : _a._links.self.href) !== null && _b !== void 0 ? _b : '');
|
|
42
|
-
try {
|
|
43
|
-
const url = new URL((_c = this.linksHref) !== null && _c !== void 0 ? _c : '');
|
|
44
|
-
url.searchParams.set((_d = this.foreignKeyForId) !== null && _d !== void 0 ? _d : '', String(id !== null && id !== void 0 ? id : ''));
|
|
45
|
-
url.searchParams.set('limit', '1');
|
|
46
|
-
linkHref = url.toString();
|
|
47
|
-
}
|
|
48
|
-
catch (_f) {
|
|
49
|
-
linkHref = undefined;
|
|
50
|
-
}
|
|
51
|
-
const content = html `
|
|
52
|
-
<foxy-nucleon
|
|
53
|
-
infer=""
|
|
54
|
-
href=${ifDefined(linkHref)}
|
|
55
|
-
id="link-${id}"
|
|
56
|
-
@update=${() => this.requestUpdate()}
|
|
57
|
-
>
|
|
58
|
-
${render(ctx)}
|
|
59
|
-
</foxy-nucleon>
|
|
60
|
-
`;
|
|
61
39
|
if (this.readonly)
|
|
62
|
-
return wrap(
|
|
63
|
-
const
|
|
64
|
-
const
|
|
65
|
-
|
|
40
|
+
return wrap(render(ctx));
|
|
41
|
+
const foreignKeyForUri = this.foreignKeyForUri;
|
|
42
|
+
const linkResource = foreignKeyForUri
|
|
43
|
+
? (_a = this.__allLinks) === null || _a === void 0 ? void 0 : _a.find(link => link[foreignKeyForUri] === ctx.href) : undefined;
|
|
44
|
+
const isDisabled = this.disabled || !this.__allLinks || this.__isFetching;
|
|
66
45
|
return wrap(html `
|
|
67
46
|
<vaadin-checkbox
|
|
68
47
|
class="block"
|
|
69
48
|
?disabled=${isDisabled}
|
|
70
|
-
?checked=${
|
|
49
|
+
?checked=${!!linkResource}
|
|
71
50
|
@change=${(evt) => {
|
|
72
|
-
var _a, _b, _c
|
|
51
|
+
var _a, _b, _c;
|
|
73
52
|
const target = evt.currentTarget;
|
|
74
53
|
if (target.checked) {
|
|
75
54
|
this.__insertLink((_b = (_a = ctx.data) === null || _a === void 0 ? void 0 : _a._links.self.href) !== null && _b !== void 0 ? _b : '');
|
|
76
55
|
}
|
|
77
56
|
else {
|
|
78
|
-
this.__deleteLink((
|
|
57
|
+
this.__deleteLink((_c = linkResource === null || linkResource === void 0 ? void 0 : linkResource._links.self.href) !== null && _c !== void 0 ? _c : '');
|
|
79
58
|
}
|
|
80
59
|
}}
|
|
81
60
|
>
|
|
82
61
|
<div class="transition-opacity ${isDisabled ? 'opacity-50' : 'opacity-100'}">
|
|
83
|
-
${
|
|
62
|
+
${render(ctx)}
|
|
84
63
|
</div>
|
|
85
64
|
</vaadin-checkbox>
|
|
86
65
|
`);
|
|
@@ -123,10 +102,7 @@ export class InternalAsyncResourceLinkListControl extends InternalEditableContro
|
|
|
123
102
|
catch (_b) {
|
|
124
103
|
firstHref = undefined;
|
|
125
104
|
}
|
|
126
|
-
const
|
|
127
|
-
...this.renderRoot.querySelectorAll('foxy-nucleon'),
|
|
128
|
-
];
|
|
129
|
-
const isStatusVisible = this.__isFetching || nucleons.some(n => !n.in('idle'));
|
|
105
|
+
const isStatusVisible = this.__isFetching || !this.__allLinks;
|
|
130
106
|
return html `
|
|
131
107
|
<div class="group">
|
|
132
108
|
<div
|
|
@@ -174,6 +150,8 @@ export class InternalAsyncResourceLinkListControl extends InternalEditableContro
|
|
|
174
150
|
>
|
|
175
151
|
${this._errorMessage}
|
|
176
152
|
</div>
|
|
153
|
+
|
|
154
|
+
${this.__renderLinkResourceLoaders()}
|
|
177
155
|
</div>
|
|
178
156
|
`;
|
|
179
157
|
}
|
|
@@ -220,5 +198,48 @@ export class InternalAsyncResourceLinkListControl extends InternalEditableContro
|
|
|
220
198
|
}
|
|
221
199
|
this.__isFetching = false;
|
|
222
200
|
}
|
|
201
|
+
__renderLinkResourceLoaders() {
|
|
202
|
+
var _a, _b, _c;
|
|
203
|
+
const maxApiLimit = 200;
|
|
204
|
+
const firstPage = this.renderRoot.querySelector('[data-link-page]');
|
|
205
|
+
const totalItems = Number((_b = (_a = firstPage === null || firstPage === void 0 ? void 0 : firstPage.data) === null || _a === void 0 ? void 0 : _a.total_items) !== null && _b !== void 0 ? _b : maxApiLimit); // sometimes total_items is a string in hAPI
|
|
206
|
+
const links = [];
|
|
207
|
+
try {
|
|
208
|
+
for (let i = 0; i < Math.max(1, Math.ceil(totalItems / maxApiLimit)); i++) {
|
|
209
|
+
const url = new URL((_c = this.linksHref) !== null && _c !== void 0 ? _c : '');
|
|
210
|
+
url.searchParams.set('offset', String(i * maxApiLimit));
|
|
211
|
+
url.searchParams.set('limit', String(maxApiLimit));
|
|
212
|
+
links.push(url.toString());
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
catch (_d) {
|
|
216
|
+
// Do nothing.
|
|
217
|
+
}
|
|
218
|
+
return links.map(href => html `
|
|
219
|
+
<foxy-nucleon
|
|
220
|
+
class="hidden"
|
|
221
|
+
data-link-page
|
|
222
|
+
infer=""
|
|
223
|
+
href=${href}
|
|
224
|
+
@update=${() => this.requestUpdate()}
|
|
225
|
+
>
|
|
226
|
+
</foxy-nucleon>
|
|
227
|
+
`);
|
|
228
|
+
}
|
|
229
|
+
get __allLinks() {
|
|
230
|
+
var _a, _b;
|
|
231
|
+
const embedKey = this.embedKey;
|
|
232
|
+
if (!embedKey)
|
|
233
|
+
return null;
|
|
234
|
+
const loaders = this.renderRoot.querySelectorAll('[data-link-page]');
|
|
235
|
+
const allLinks = [];
|
|
236
|
+
for (const loader of loaders) {
|
|
237
|
+
const embedded = (_b = (_a = loader.data) === null || _a === void 0 ? void 0 : _a._embedded) === null || _b === void 0 ? void 0 : _b[embedKey];
|
|
238
|
+
if (!embedded)
|
|
239
|
+
return null;
|
|
240
|
+
allLinks.push(...embedded);
|
|
241
|
+
}
|
|
242
|
+
return allLinks;
|
|
243
|
+
}
|
|
223
244
|
}
|
|
224
245
|
//# sourceMappingURL=InternalAsyncResourceLinkListControl.js.map
|