@foxy.io/elements 1.37.0-beta.2 → 1.37.0-beta.4
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-admin-subscription-form.js +1 -1
- package/dist/cdn/foxy-cart-form.js +2 -2
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +1 -1
- package/dist/cdn/foxy-customer.js +1 -1
- package/dist/cdn/foxy-experimental-add-to-cart-builder.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.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-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +1 -1
- package/dist/cdn/foxy-tax-form.js +1 -1
- package/dist/cdn/foxy-template-set-form.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-webhook-form.js +1 -1
- package/dist/cdn/{shared-0782fee5.js → shared-2edce408.js} +1 -1
- package/dist/cdn/shared-79f84a95.js +1 -0
- package/dist/cdn/{shared-fda02728.js → shared-a42e4325.js} +1 -1
- package/dist/cdn/translations/admin-subscription-form/en.json +1 -1
- package/dist/cdn/translations/cart-form/en.json +5 -5
- package/dist/cdn/translations/customer/en.json +1 -1
- package/dist/cdn/translations/experimental-add-to-cart-builder/en.json +3 -3
- package/dist/cdn/translations/gift-card-code-form/en.json +2 -1
- package/dist/cdn/translations/gift-card-form/en.json +3 -2
- package/dist/cdn/translations/item-category-form/en.json +2 -2
- package/dist/cdn/translations/item-form/en.json +1 -1
- package/dist/cdn/translations/payment-method-card/en.json +2 -2
- package/dist/cdn/translations/transaction/en.json +1 -1
- package/dist/cdn/translations/update-payment-method-form/en.json +1 -1
- package/dist/cdn/translations/webhook-form/en.json +12 -12
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +1 -1
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +9 -7
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
- package/dist/elements/internal/InternalDateControl/InternalDateControl.js +3 -3
- package/dist/elements/internal/InternalDateControl/InternalDateControl.js.map +1 -1
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.d.ts +2 -1
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js +18 -5
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +4 -1
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +17 -0
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/types.d.ts +1 -0
- package/dist/elements/public/GiftCardCodeForm/types.js.map +1 -1
- package/dist/elements/public/GiftCardForm/GiftCardForm.d.ts +5 -0
- package/dist/elements/public/GiftCardForm/GiftCardForm.js +18 -8
- package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +1 -1
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -1
- package/dist/elements/public/WebhookForm/WebhookForm.js +5 -3
- package/dist/elements/public/WebhookForm/WebhookForm.js.map +1 -1
- package/dist/elements/public/WebhookForm/index.d.ts +0 -1
- package/dist/elements/public/WebhookForm/index.js +0 -1
- package/dist/elements/public/WebhookForm/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-a72df5aa.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-05ed8288.js";import{a as e}from"./shared-edb68eb7.js";import{x as t}from"./shared-fefaece7.js";import{c as a,h as r}from"./shared-ba5c42c7.js";import{_ as o}from"./shared-d1195c27.js";import{s as i}from"./shared-79d0699c.js";import{p as l}from"./shared-43e2c3f6.js";import{i as s}from"./shared-53e42a77.js";let n;function m(e){return new Array(7).fill(new Date).map(((t,a)=>{for(;t.getDay()!==a;)t.setDate(t.getDate()+1);return t.toLocaleDateString(e,{weekday:"short"})}))}function h(e){return new Array(7).fill(new Date).map(((t,a)=>{for(;t.getDay()!==a;)t.setDate(t.getDate()+1);return t.toLocaleDateString(e,{weekday:"long"})}))}t("vaadin-date-picker-text-field",a(n||(n=(e=>e)`:host([theme~=summary-item])::before{display:none}:host([theme~=summary-item]) .vaadin-text-field-container{display:grid;grid-template-columns:auto 1fr;grid-template-rows:repeat(3,min-content);gap:0 var(--lumo-space-m)}:host([theme~=summary-item]) [part=label]{font:normal var(--lumo-font-size-m) var(--lumo-font-family);color:var(--lumo-body-text-color)!important;grid-row:1;-webkit-text-fill-color:var(--lumo-body-text-color)!important}:host([theme~=summary-item]) [part=helper-text]{font:normal var(--lumo-font-size-s) var(--lumo-font-family);color:var(--lumo-secondary-text-color)!important;grid-row:2}:host([theme~=summary-item]) [part=helper-text]::before{display:none}:host([theme~=summary-item]) [part=error-message]{font:normal var(--lumo-font-size-s) var(--lumo-font-family);color:var(--lumo-error-text-color);grid-row:3}:host([theme~=summary-item]) [part=error-message],:host([theme~=summary-item]) [part=helper-text],:host([theme~=summary-item]) [part=label]{line-height:var(--lumo-line-height-xs);grid-column:1;padding:0}:host([theme~=summary-item]) [part=input-field]{grid-column:2;grid-row:1;padding:0;background:0 0;align-self:start;height:1em;--lumo-icon-size-m:1rem}:host([theme~=summary-item]) [part=input-field]::after,:host([theme~=summary-item][readonly]) [part=input-field] slot[name=suffix]{display:none}:host([theme~=summary-item]) [part=value]{line-height:var(--lumo-line-height-xs);text-align:right;min-height:auto;padding:0;margin-right:var(--lumo-space-xs);-webkit-mask-image:none}:host([theme~=summary-item][readonly]) [part=value]{margin-right:0}:host([theme~=summary-item]) [part=clear-button]{transform:scale(1.5)}:host([has-value]) slot[name=suffix]{display:none}`)));let u,d=e=>e;customElements.define("foxy-internal-date-control",class extends e{constructor(){super(...arguments),this.format=null,this.layout=null}static get properties(){return o(o({},super.properties),{},{format:{},layout:{}})}renderControl(){var e,t;let
|
|
1
|
+
import"./shared-05ed8288.js";import{a as e}from"./shared-edb68eb7.js";import{x as t}from"./shared-fefaece7.js";import{c as a,h as r}from"./shared-ba5c42c7.js";import{_ as o}from"./shared-d1195c27.js";import{s as i}from"./shared-79d0699c.js";import{p as l}from"./shared-43e2c3f6.js";import{i as s}from"./shared-53e42a77.js";let n;function m(e){return new Array(7).fill(new Date).map(((t,a)=>{for(;t.getDay()!==a;)t.setDate(t.getDate()+1);return t.toLocaleDateString(e,{weekday:"short"})}))}function h(e){return new Array(7).fill(new Date).map(((t,a)=>{for(;t.getDay()!==a;)t.setDate(t.getDate()+1);return t.toLocaleDateString(e,{weekday:"long"})}))}t("vaadin-date-picker-text-field",a(n||(n=(e=>e)`:host([theme~=summary-item])::before{display:none}:host([theme~=summary-item]) .vaadin-text-field-container{display:grid;grid-template-columns:auto 1fr;grid-template-rows:repeat(3,min-content);gap:0 var(--lumo-space-m)}:host([theme~=summary-item]) [part=label]{font:normal var(--lumo-font-size-m) var(--lumo-font-family);color:var(--lumo-body-text-color)!important;grid-row:1;-webkit-text-fill-color:var(--lumo-body-text-color)!important}:host([theme~=summary-item]) [part=helper-text]{font:normal var(--lumo-font-size-s) var(--lumo-font-family);color:var(--lumo-secondary-text-color)!important;grid-row:2}:host([theme~=summary-item]) [part=helper-text]::before{display:none}:host([theme~=summary-item]) [part=error-message]{font:normal var(--lumo-font-size-s) var(--lumo-font-family);color:var(--lumo-error-text-color);grid-row:3}:host([theme~=summary-item]) [part=error-message],:host([theme~=summary-item]) [part=helper-text],:host([theme~=summary-item]) [part=label]{line-height:var(--lumo-line-height-xs);grid-column:1;padding:0}:host([theme~=summary-item]) [part=input-field]{grid-column:2;grid-row:1;padding:0;background:0 0;align-self:start;height:1em;--lumo-icon-size-m:1rem}:host([theme~=summary-item]) [part=input-field]::after,:host([theme~=summary-item][readonly]) [part=input-field] slot[name=suffix]{display:none}:host([theme~=summary-item]) [part=value]{line-height:var(--lumo-line-height-xs);text-align:right;min-height:auto;padding:0;margin-right:var(--lumo-space-xs);-webkit-mask-image:none}:host([theme~=summary-item][readonly]) [part=value]{margin-right:0}:host([theme~=summary-item]) [part=clear-button]{transform:scale(1.5)}:host([has-value]) slot[name=suffix]{display:none}`)));let u,d=e=>e;customElements.define("foxy-internal-date-control",class extends e{constructor(){super(...arguments),this.format=null,this.layout=null}static get properties(){return o(o({},super.properties),{},{format:{},layout:{}})}renderControl(){var e,t,a;let o;return o="0000-00-00"!==this._value&&this._value?"unix"===this.format?i(new Date(1e3*(null!==(e=this._value)&&void 0!==e?e:0))):"iso-long"===this.format?i(new Date(this._value)):(null!==(t=this._value)&&void 0!==t?t:"").substring(0,10):"",r(u||(u=d` <vaadin-date-picker error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" theme="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" .i18n="${0}" clear-button-visible @keydown="${0}" @change="${0}"> </vaadin-date-picker> `),s(this._errorMessage),this.placeholder,this.helperText,this.label,null!==(a=this.layout)&&void 0!==a?a:"standalone",this.disabled,this.readonly,this._checkValidity,o,this.__pickerI18n,(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),(e=>{var t,a,r,o;const i=e.currentTarget;"unix"===this.format?this._value=Math.floor((null!==(a=null===(t=l(i.value))||void 0===t?void 0:t.getTime())&&void 0!==a?a:0)/1e3):"iso-long"===this.format?this._value=null!==(o=null===(r=l(i.value))||void 0===r?void 0:r.toISOString())&&void 0!==o?o:null:this._value=i.value}))}get __pickerI18n(){return{monthNames:(e=this.lang||"en",new Array(12).fill(new Date).map(((t,a)=>(t.setMonth(a),t.toLocaleDateString(e,{month:"long"}))))),weekdays:h(this.lang||"en"),weekdaysShort:m(this.lang||"en"),firstDayOfWeek:0,week:this.t("week"),calendar:this.t("calendar"),clear:this.t("clear"),today:this.t("today"),cancel:this.t("cancel"),referenceDate:"",parseDate:null,formatTitle:(e,t)=>e+" "+t,formatDate:e=>this.t("display_value",{value:new Date(e.year,e.month,e.day)})};var e}});
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"label": "Template sets",
|
|
35
35
|
"helper_text": "",
|
|
36
36
|
"pagination": {
|
|
37
|
-
"search_button_text": "
|
|
37
|
+
"search_button_text": "Filters",
|
|
38
38
|
"first": "First",
|
|
39
39
|
"last": "Last",
|
|
40
40
|
"next": "Next",
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
"value": "Value"
|
|
120
120
|
},
|
|
121
121
|
"pagination": {
|
|
122
|
-
"search_button_text": "
|
|
122
|
+
"search_button_text": "Filters",
|
|
123
123
|
"first": "First",
|
|
124
124
|
"last": "Last",
|
|
125
125
|
"next": "Next",
|
|
@@ -185,7 +185,7 @@
|
|
|
185
185
|
"search": "Search",
|
|
186
186
|
"clear": "Clear",
|
|
187
187
|
"pagination": {
|
|
188
|
-
"search_button_text": "
|
|
188
|
+
"search_button_text": "Filters",
|
|
189
189
|
"first": "First",
|
|
190
190
|
"last": "Last",
|
|
191
191
|
"next": "Next",
|
|
@@ -360,7 +360,7 @@
|
|
|
360
360
|
"value": "Value"
|
|
361
361
|
},
|
|
362
362
|
"pagination": {
|
|
363
|
-
"search_button_text": "
|
|
363
|
+
"search_button_text": "Filters",
|
|
364
364
|
"first": "First",
|
|
365
365
|
"last": "Last",
|
|
366
366
|
"next": "Next",
|
|
@@ -656,7 +656,7 @@
|
|
|
656
656
|
"search": "Search",
|
|
657
657
|
"clear": "Clear",
|
|
658
658
|
"pagination": {
|
|
659
|
-
"search_button_text": "
|
|
659
|
+
"search_button_text": "Filters",
|
|
660
660
|
"first": "First",
|
|
661
661
|
"last": "Last",
|
|
662
662
|
"next": "Next",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"search": "Search",
|
|
30
30
|
"clear": "Clear",
|
|
31
31
|
"pagination": {
|
|
32
|
-
"search_button_text": "
|
|
32
|
+
"search_button_text": "Filters",
|
|
33
33
|
"first": "First",
|
|
34
34
|
"last": "Last",
|
|
35
35
|
"next": "Next",
|
|
@@ -388,7 +388,7 @@
|
|
|
388
388
|
"search": "Search",
|
|
389
389
|
"clear": "Clear",
|
|
390
390
|
"pagination": {
|
|
391
|
-
"search_button_text": "
|
|
391
|
+
"search_button_text": "Filters",
|
|
392
392
|
"first": "First",
|
|
393
393
|
"last": "Last",
|
|
394
394
|
"next": "Next",
|
|
@@ -478,7 +478,7 @@
|
|
|
478
478
|
"label": "Template sets",
|
|
479
479
|
"helper_text": "",
|
|
480
480
|
"pagination": {
|
|
481
|
-
"search_button_text": "
|
|
481
|
+
"search_button_text": "Filters",
|
|
482
482
|
"first": "First",
|
|
483
483
|
"last": "Last",
|
|
484
484
|
"next": "Next",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"search": "Search",
|
|
54
54
|
"clear": "Clear",
|
|
55
55
|
"pagination": {
|
|
56
|
-
"search_button_text": "
|
|
56
|
+
"search_button_text": "Filters",
|
|
57
57
|
"first": "First",
|
|
58
58
|
"last": "Last",
|
|
59
59
|
"next": "Next",
|
|
@@ -129,6 +129,7 @@
|
|
|
129
129
|
"cart-item": {
|
|
130
130
|
"label": "Cart item",
|
|
131
131
|
"helper_text": "",
|
|
132
|
+
"view": "View transaction",
|
|
132
133
|
"card": {
|
|
133
134
|
"daily": "Daily",
|
|
134
135
|
"daily_plural": "Every {{count}} days",
|
|
@@ -420,7 +420,7 @@
|
|
|
420
420
|
"search": "Search",
|
|
421
421
|
"clear": "Clear",
|
|
422
422
|
"pagination": {
|
|
423
|
-
"search_button_text": "
|
|
423
|
+
"search_button_text": "Filters",
|
|
424
424
|
"first": "First",
|
|
425
425
|
"last": "Last",
|
|
426
426
|
"next": "Next",
|
|
@@ -496,6 +496,7 @@
|
|
|
496
496
|
"cart-item": {
|
|
497
497
|
"label": "Cart item",
|
|
498
498
|
"helper_text": "",
|
|
499
|
+
"view": "View transaction",
|
|
499
500
|
"card": {
|
|
500
501
|
"daily": "Daily",
|
|
501
502
|
"daily_plural": "Every {{count}} days",
|
|
@@ -569,7 +570,7 @@
|
|
|
569
570
|
},
|
|
570
571
|
"pagination": {
|
|
571
572
|
"create_button_text": "Add code +",
|
|
572
|
-
"search_button_text": "
|
|
573
|
+
"search_button_text": "Filters",
|
|
573
574
|
"card": {
|
|
574
575
|
"delete_button_text": "Delete",
|
|
575
576
|
"copy_button_text": "Copy code",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"label": "Flat rate applies",
|
|
98
98
|
"placeholder": "Select...",
|
|
99
99
|
"option_per_order": "Per order",
|
|
100
|
-
"
|
|
100
|
+
"option_per_item": "Per item",
|
|
101
101
|
"helper_text": "",
|
|
102
102
|
"v8n_required": "Please select a value"
|
|
103
103
|
},
|
|
@@ -205,7 +205,7 @@
|
|
|
205
205
|
"label": "Email templates",
|
|
206
206
|
"helper_text": "",
|
|
207
207
|
"pagination": {
|
|
208
|
-
"search_button_text": "
|
|
208
|
+
"search_button_text": "Filters",
|
|
209
209
|
"first": "First",
|
|
210
210
|
"last": "Last",
|
|
211
211
|
"next": "Next",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"search": "Search",
|
|
32
32
|
"clear": "Clear",
|
|
33
33
|
"pagination": {
|
|
34
|
-
"search_button_text": "
|
|
34
|
+
"search_button_text": "Filters",
|
|
35
35
|
"first": "First",
|
|
36
36
|
"last": "Last",
|
|
37
37
|
"next": "Next",
|
|
@@ -157,4 +157,4 @@
|
|
|
157
157
|
"loading_empty": "No payment method",
|
|
158
158
|
"loading_error": "Unknown error"
|
|
159
159
|
}
|
|
160
|
-
}
|
|
160
|
+
}
|
|
@@ -45,20 +45,20 @@
|
|
|
45
45
|
"event_resource_subscription": "Subscription",
|
|
46
46
|
"event_resource_transaction": "Transaction",
|
|
47
47
|
"event_resource_customer": "Customer"
|
|
48
|
+
},
|
|
49
|
+
"url": {
|
|
50
|
+
"label": "Endpoint",
|
|
51
|
+
"placeholder": "Example: https://example.com/webhook",
|
|
52
|
+
"helper_text": "",
|
|
53
|
+
"v8n_too_long": "URL cannot exceed 1000 characters"
|
|
54
|
+
},
|
|
55
|
+
"query": {
|
|
56
|
+
"label": "Query",
|
|
57
|
+
"placeholder": "Example: zoom=items,items:options,customer",
|
|
58
|
+
"helper_text": "",
|
|
59
|
+
"v8n_too_long": "Query cannot exceed 1000 characters"
|
|
48
60
|
}
|
|
49
61
|
},
|
|
50
|
-
"url": {
|
|
51
|
-
"label": "Endpoint",
|
|
52
|
-
"placeholder": "Example: https://example.com/webhook",
|
|
53
|
-
"helper_text": "",
|
|
54
|
-
"v8n_too_long": "URL cannot exceed 1000 characters"
|
|
55
|
-
},
|
|
56
|
-
"query": {
|
|
57
|
-
"label": "Query",
|
|
58
|
-
"placeholder": "Example: zoom=items,items:options,customer",
|
|
59
|
-
"helper_text": "",
|
|
60
|
-
"v8n_too_long": "Query cannot exceed 1000 characters"
|
|
61
|
-
},
|
|
62
62
|
"statuses": {
|
|
63
63
|
"label": "Runs",
|
|
64
64
|
"pagination": {
|
|
@@ -49,6 +49,7 @@ export declare class InternalAsyncListControl extends InternalEditableControl {
|
|
|
49
49
|
hideCreateButton: boolean;
|
|
50
50
|
/** If set, renders list items as <a> tags. */
|
|
51
51
|
getPageHref: ((itemHref: string, item: unknown) => string | null) | null;
|
|
52
|
+
filter: string | null;
|
|
52
53
|
private __deletionConfimationCallback;
|
|
53
54
|
private __cachedCardRenderer;
|
|
54
55
|
private __activeBulkAction;
|
|
@@ -58,7 +59,6 @@ export declare class InternalAsyncListControl extends InternalEditableControl {
|
|
|
58
59
|
private __totalItems;
|
|
59
60
|
private __selection;
|
|
60
61
|
private __itemRenderer;
|
|
61
|
-
private __filter;
|
|
62
62
|
render(): TemplateResult;
|
|
63
63
|
renderControl(): TemplateResult;
|
|
64
64
|
private get __cardRenderer();
|
|
@@ -48,6 +48,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
48
48
|
this.hideCreateButton = false;
|
|
49
49
|
/** If set, renders list items as <a> tags. */
|
|
50
50
|
this.getPageHref = null;
|
|
51
|
+
this.filter = null;
|
|
51
52
|
this.__deletionConfimationCallback = null;
|
|
52
53
|
this.__cachedCardRenderer = null;
|
|
53
54
|
this.__activeBulkAction = null;
|
|
@@ -186,7 +187,6 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
186
187
|
</foxy-swipe-actions>
|
|
187
188
|
`;
|
|
188
189
|
};
|
|
189
|
-
this.__filter = '';
|
|
190
190
|
}
|
|
191
191
|
static get properties() {
|
|
192
192
|
return {
|
|
@@ -212,7 +212,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
212
212
|
actions: { attribute: false },
|
|
213
213
|
bulkActions: { attribute: false },
|
|
214
214
|
filters: { type: Array },
|
|
215
|
-
|
|
215
|
+
filter: {},
|
|
216
216
|
__selection: { attribute: false },
|
|
217
217
|
__totalItems: { attribute: false },
|
|
218
218
|
__isSelecting: { attribute: false },
|
|
@@ -376,6 +376,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
376
376
|
return this.renderRoot.querySelector('#form');
|
|
377
377
|
}
|
|
378
378
|
__renderActions() {
|
|
379
|
+
var _a;
|
|
379
380
|
return [
|
|
380
381
|
this.filters.length > 0 && !this.__isSelecting
|
|
381
382
|
? html `
|
|
@@ -384,7 +385,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
384
385
|
.positionTarget=${this.renderRoot.querySelector('#filters')}
|
|
385
386
|
.model=${{
|
|
386
387
|
options: this.filters,
|
|
387
|
-
value: this.
|
|
388
|
+
value: (_a = this.filter) !== null && _a !== void 0 ? _a : '',
|
|
388
389
|
lang: this.lang,
|
|
389
390
|
ns: this.ns,
|
|
390
391
|
}}
|
|
@@ -392,7 +393,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
392
393
|
@vaadin-overlay-close=${() => (this.__isFilterVisible = false)}
|
|
393
394
|
@search=${(evt) => {
|
|
394
395
|
var _a;
|
|
395
|
-
this.
|
|
396
|
+
this.filter = (_a = evt.detail) !== null && _a !== void 0 ? _a : '';
|
|
396
397
|
}}
|
|
397
398
|
>
|
|
398
399
|
</foxy-internal-async-list-control-filter-overlay>
|
|
@@ -404,6 +405,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
404
405
|
@click=${() => (this.__isFilterVisible = !this.__isFilterVisible)}
|
|
405
406
|
>
|
|
406
407
|
<foxy-i18n infer="pagination" key="search_button_text"></foxy-i18n>
|
|
408
|
+
${this.filter ? html `<span>(${this.filter.split('&').length})</span>` : ''}
|
|
407
409
|
</vaadin-button>
|
|
408
410
|
`
|
|
409
411
|
: '',
|
|
@@ -503,19 +505,19 @@ export class InternalAsyncListControl extends InternalEditableControl {
|
|
|
503
505
|
].filter(v => !!v);
|
|
504
506
|
}
|
|
505
507
|
__renderContent() {
|
|
506
|
-
var _a;
|
|
508
|
+
var _a, _b;
|
|
507
509
|
const helperText = this.helperText;
|
|
508
510
|
const isDetails = this.layout === 'details';
|
|
509
511
|
const label = this.label;
|
|
510
512
|
let first;
|
|
511
513
|
try {
|
|
512
514
|
const url = new URL((_a = this.first) !== null && _a !== void 0 ? _a : '');
|
|
513
|
-
const filter = new URLSearchParams(this.
|
|
515
|
+
const filter = new URLSearchParams((_b = this.filter) !== null && _b !== void 0 ? _b : '');
|
|
514
516
|
url.searchParams.set('limit', String(this.limit));
|
|
515
517
|
filter.forEach((value, key) => url.searchParams.set(key, value));
|
|
516
518
|
first = url.toString();
|
|
517
519
|
}
|
|
518
|
-
catch (
|
|
520
|
+
catch (_c) {
|
|
519
521
|
first = undefined;
|
|
520
522
|
}
|
|
521
523
|
return html `
|
|
@@ -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 { InternalSummaryControl } from '../InternalSummaryControl/InternalSummaryControl';\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 { UpdateEvent } from '../../public/NucleonElement/UpdateEvent';\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 layout: {},\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 open: { type: Boolean },\n hideWhenEmpty: { type: Boolean, attribute: 'hide-when-empty' },\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 __totalItems: { 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 /** When set to `details`, makes the entire control collapsible. */\n layout: 'details' | null = null;\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 /** Visually hides the control when the collection is empty or loading. */\n hideWhenEmpty = false;\n\n /** Same as the `open` property of `InternalSummaryControl`. */\n open = 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 __totalItems = 0;\n\n private __selection: HALJSONResource[] = [];\n\n private __itemRenderer: ItemRenderer = ctx => {\n const item = this.__cardRenderer(ctx);\n const readonlyItem = html`<div class=\"bg-contrast-5\">${item}</div>`;\n\n if (!ctx.data) return readonlyItem;\n\n if (this.__isSelecting) {\n return html`\n <vaadin-checkbox\n class=${classMap({ 'block w-full': true, 'bg-contrast-5': this.layout === 'details' })}\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 readonlyItem;\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': this.layout !== 'details' && !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 bg-contrast-5 transition-colors': true,\n 'hover-bg-contrast-10': !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 render(): TemplateResult {\n const hidden = this.hideWhenEmpty && !this.__totalItems;\n return html`<div class=${classMap({ hidden })}>${super.render()}</div>`;\n }\n\n renderControl(): TemplateResult {\n const actions = this.__renderActions();\n const content = this.__renderContent();\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 ${this.layout === 'details'\n ? html`\n <foxy-internal-summary-control\n layout=\"details\"\n count=${ifDefined(this.open ? void 0 : `${this.__totalItems}`)}\n infer=\"\"\n ?open=${this.open}\n @toggle=${(evt: CustomEvent) => {\n const summary = evt.currentTarget as InternalSummaryControl;\n this.open = summary.open;\n if (!evt.composed && !evt.bubbles) this.dispatchEvent(new CustomEvent('toggle'));\n }}\n >\n ${actions.length\n ? html`\n <div class=\"flex gap-s\">\n <foxy-i18n\n infer=\"\"\n class=\"mr-auto text-tertiary\"\n key=\"total_items\"\n .options=${{ count: this.__totalItems }}\n >\n </foxy-i18n>\n ${actions}\n </div>\n `\n : ''}\n <div class=\"p-0 bg-transparent\">${content}</div>\n </foxy-internal-summary-control>\n `\n : html`\n <div class=\"flex gap-s items-center justify-between font-medium\">\n <span class=\"text-body mr-auto text-l\">\n ${this.label && this.label !== 'label' ? this.label : ''}\n </span>\n ${actions}\n </div>\n\n <div\n class=\"text-secondary text-s\"\n ?hidden=${!this.helperText || this.helperText === 'helper_text'}\n >\n ${this.helperText}\n </div>\n\n ${content}\n `}\n\n <div\n class=\"mt-s text-s 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 __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 private get __dialog() {\n return this.renderRoot.querySelector('#form') as FormDialog;\n }\n\n private __renderActions() {\n return [\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\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\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 ].filter(v => !!v);\n }\n\n private __renderContent() {\n const helperText = this.helperText;\n const isDetails = this.layout === 'details';\n const label = this.label;\n\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 <foxy-pagination\n first=${ifDefined(first)}\n infer=\"pagination\"\n class=${classMap({ hidden: isDetails && this.__totalItems === 0 })}\n >\n <foxy-collection-page\n class=${classMap({\n 'grid grid-cols-1 overflow-hidden': true,\n 'rounded': !isDetails,\n 'mt-s':\n !isDetails &&\n ((!!label && label !== 'label') || (!!helperText && helperText !== 'helper_text')),\n })}\n style=\"gap: 1px\"\n infer=\"card\"\n .related=${this.related}\n .props=${this.itemProps}\n .item=${this.__itemRenderer}\n @update=${(evt: UpdateEvent) => {\n const page = evt.currentTarget as CollectionPage<any>;\n this.__totalItems = parseInt(page.data?.total_items ?? 0);\n }}\n >\n </foxy-collection-page>\n </foxy-pagination>\n `;\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 { InternalSummaryControl } from '../InternalSummaryControl/InternalSummaryControl';\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 { UpdateEvent } from '../../public/NucleonElement/UpdateEvent';\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 layout: {},\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 open: { type: Boolean },\n hideWhenEmpty: { type: Boolean, attribute: 'hide-when-empty' },\n alert: { type: Boolean },\n actions: { attribute: false },\n bulkActions: { attribute: false },\n filters: { type: Array },\n filter: {},\n __selection: { attribute: false },\n __totalItems: { 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 /** When set to `details`, makes the entire control collapsible. */\n layout: 'details' | null = null;\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 /** Visually hides the control when the collection is empty or loading. */\n hideWhenEmpty = false;\n\n /** Same as the `open` property of `InternalSummaryControl`. */\n open = 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 filter: string | 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 __totalItems = 0;\n\n private __selection: HALJSONResource[] = [];\n\n private __itemRenderer: ItemRenderer = ctx => {\n const item = this.__cardRenderer(ctx);\n const readonlyItem = html`<div class=\"bg-contrast-5\">${item}</div>`;\n\n if (!ctx.data) return readonlyItem;\n\n if (this.__isSelecting) {\n return html`\n <vaadin-checkbox\n class=${classMap({ 'block w-full': true, 'bg-contrast-5': this.layout === 'details' })}\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 readonlyItem;\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': this.layout !== 'details' && !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 bg-contrast-5 transition-colors': true,\n 'hover-bg-contrast-10': !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 render(): TemplateResult {\n const hidden = this.hideWhenEmpty && !this.__totalItems;\n return html`<div class=${classMap({ hidden })}>${super.render()}</div>`;\n }\n\n renderControl(): TemplateResult {\n const actions = this.__renderActions();\n const content = this.__renderContent();\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 ${this.layout === 'details'\n ? html`\n <foxy-internal-summary-control\n layout=\"details\"\n count=${ifDefined(this.open ? void 0 : `${this.__totalItems}`)}\n infer=\"\"\n ?open=${this.open}\n @toggle=${(evt: CustomEvent) => {\n const summary = evt.currentTarget as InternalSummaryControl;\n this.open = summary.open;\n if (!evt.composed && !evt.bubbles) this.dispatchEvent(new CustomEvent('toggle'));\n }}\n >\n ${actions.length\n ? html`\n <div class=\"flex gap-s\">\n <foxy-i18n\n infer=\"\"\n class=\"mr-auto text-tertiary\"\n key=\"total_items\"\n .options=${{ count: this.__totalItems }}\n >\n </foxy-i18n>\n ${actions}\n </div>\n `\n : ''}\n <div class=\"p-0 bg-transparent\">${content}</div>\n </foxy-internal-summary-control>\n `\n : html`\n <div class=\"flex gap-s items-center justify-between font-medium\">\n <span class=\"text-body mr-auto text-l\">\n ${this.label && this.label !== 'label' ? this.label : ''}\n </span>\n ${actions}\n </div>\n\n <div\n class=\"text-secondary text-s\"\n ?hidden=${!this.helperText || this.helperText === 'helper_text'}\n >\n ${this.helperText}\n </div>\n\n ${content}\n `}\n\n <div\n class=\"mt-s text-s 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 __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 private get __dialog() {\n return this.renderRoot.querySelector('#form') as FormDialog;\n }\n\n private __renderActions() {\n return [\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 ${this.filter ? html`<span>(${this.filter.split('&').length})</span>` : ''}\n </vaadin-button>\n `\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\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 ].filter(v => !!v);\n }\n\n private __renderContent() {\n const helperText = this.helperText;\n const isDetails = this.layout === 'details';\n const label = this.label;\n\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 <foxy-pagination\n first=${ifDefined(first)}\n infer=\"pagination\"\n class=${classMap({ hidden: isDetails && this.__totalItems === 0 })}\n >\n <foxy-collection-page\n class=${classMap({\n 'grid grid-cols-1 overflow-hidden': true,\n 'rounded': !isDetails,\n 'mt-s':\n !isDetails &&\n ((!!label && label !== 'label') || (!!helperText && helperText !== 'helper_text')),\n })}\n style=\"gap: 1px\"\n infer=\"card\"\n .related=${this.related}\n .props=${this.itemProps}\n .item=${this.__itemRenderer}\n @update=${(evt: UpdateEvent) => {\n const page = evt.currentTarget as CollectionPage<any>;\n this.__totalItems = parseInt(page.data?.total_items ?? 0);\n }}\n >\n </foxy-collection-page>\n </foxy-pagination>\n `;\n }\n}\n"]}
|
|
@@ -28,7 +28,7 @@ export class InternalDateControl extends InternalEditableControl {
|
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
renderControl() {
|
|
31
|
-
var _a, _b;
|
|
31
|
+
var _a, _b, _c;
|
|
32
32
|
let value;
|
|
33
33
|
if (this._value === '0000-00-00' || !this._value) {
|
|
34
34
|
value = '';
|
|
@@ -41,7 +41,7 @@ export class InternalDateControl extends InternalEditableControl {
|
|
|
41
41
|
value = serializeDate(new Date(this._value));
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
|
-
value = this._value;
|
|
44
|
+
value = ((_b = this._value) !== null && _b !== void 0 ? _b : '').substring(0, 10);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
return html `
|
|
@@ -51,7 +51,7 @@ export class InternalDateControl extends InternalEditableControl {
|
|
|
51
51
|
helper-text=${this.helperText}
|
|
52
52
|
label=${this.label}
|
|
53
53
|
class="w-full"
|
|
54
|
-
theme=${(
|
|
54
|
+
theme=${(_c = this.layout) !== null && _c !== void 0 ? _c : 'standalone'}
|
|
55
55
|
?disabled=${this.disabled}
|
|
56
56
|
?readonly=${this.readonly}
|
|
57
57
|
.checkValidity=${this._checkValidity}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalDateControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/InternalDateControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,aAAa,EAAE,yCAAsC;AAC9D,OAAO,EAAE,SAAS,EAAE,qCAAkC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,kCAA+B;AAC9D,OAAO,EAAE,mBAAmB,EAAE,iCAA8B;AAC5D,OAAO,EAAE,aAAa,EAAE,2BAAwB;AAEhD;;;;;GAKG;AACH,MAAM,OAAO,mBAAoB,SAAQ,uBAAuB;IAAhE;;QASE,kHAAkH;QAClH,WAAM,GAA+B,IAAI,CAAC;QAE1C,wEAAwE;QACxE,WAAM,GAAyC,IAAI,CAAC;IAmEtD,CAAC;IA/EC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IAQD,aAAa;;QACX,IAAI,KAAa,CAAC;QAElB,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChD,KAAK,GAAG,EAAE,CAAC;SACZ;aAAM;YACL,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;gBAC1B,KAAK,GAAG,aAAa,CAAC,IAAI,IAAI,CAAC,OAAE,IAAI,CAAC,MAAiB,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;aACxE;iBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;gBACrC,KAAK,GAAG,aAAa,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAgB,CAAC,CAAC,CAAC;aACxD;iBAAM;gBACL,KAAK,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"InternalDateControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/InternalDateControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult, PropertyDeclarations } from 'lit-element';\nimport type { DatePickerElement } from '@vaadin/vaadin-date-picker';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { serializeDate } from '../../../utils/serialize-date';\nimport { parseDate } from '../../../utils/parse-date';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\nimport { getWeekdayShortNames } from './getWeekdayShortNames';\nimport { getWeekdayLongNames } from './getWeekdayLongNames';\nimport { getMonthNames } from './getMonthNames';\n\n/**\n * Internal control displaying a basic date picker box.\n *\n * @since 1.17.0\n * @element foxy-internal-date-control\n */\nexport class InternalDateControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n format: {},\n layout: {},\n };\n }\n\n /** Date format. If `unix`, expects and outputs a UNIX timestamp (number), otherwise defaults to ISO 8601 date. */\n format: 'unix' | 'iso-long' | null = null;\n\n /** Use summary item layout inside `<foxy-internal-summary-control>`. */\n layout: 'summary-item' | 'standalone' | null = null;\n\n renderControl(): TemplateResult {\n let value: string;\n\n if (this._value === '0000-00-00' || !this._value) {\n value = '';\n } else {\n if (this.format === 'unix') {\n value = serializeDate(new Date(((this._value as number) ?? 0) * 1000));\n } else if (this.format === 'iso-long') {\n value = serializeDate(new Date(this._value as string));\n } else {\n value = ((this._value as string | null) ?? '').substring(0, 10);\n }\n }\n\n return html`\n <vaadin-date-picker\n error-message=${ifDefined(this._errorMessage)}\n placeholder=${this.placeholder}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n theme=${this.layout ?? 'standalone'}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${value}\n .i18n=${this.__pickerI18n}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as DatePickerElement;\n\n if (this.format === 'unix') {\n this._value = Math.floor((parseDate(field.value)?.getTime() ?? 0) / 1000);\n } else if (this.format === 'iso-long') {\n this._value = parseDate(field.value)?.toISOString() ?? null;\n } else {\n this._value = field.value;\n }\n }}\n >\n </vaadin-date-picker>\n `;\n }\n\n private get __pickerI18n() {\n return {\n monthNames: getMonthNames(this.lang || 'en'),\n weekdays: getWeekdayLongNames(this.lang || 'en'),\n weekdaysShort: getWeekdayShortNames(this.lang || 'en'),\n firstDayOfWeek: 0,\n week: this.t('week'),\n calendar: this.t('calendar'),\n clear: this.t('clear'),\n today: this.t('today'),\n cancel: this.t('cancel'),\n referenceDate: '',\n parseDate: null,\n formatTitle: (m: string, y: string) => m + ' ' + y,\n formatDate: (d: { day: number; month: number; year: number }) => {\n return this.t('display_value', { value: new Date(d.year, d.month, d.day) });\n },\n };\n }\n}\n"]}
|
package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export declare class InternalResourcePickerControl extends InternalEditableContr
|
|
|
9
9
|
getDisplayValueOptions: DisplayValueOptionsCb;
|
|
10
10
|
showCopyIdButton: boolean;
|
|
11
11
|
virtualHost: string;
|
|
12
|
-
getItemUrl: ((href: string) => string) | null;
|
|
12
|
+
getItemUrl: ((href: string, data: unknown | null) => string) | null;
|
|
13
13
|
formProps: Record<string, unknown>;
|
|
14
14
|
filters: Option[];
|
|
15
15
|
layout: 'summary-item' | 'standalone' | null;
|
|
@@ -25,5 +25,6 @@ export declare class InternalResourcePickerControl extends InternalEditableContr
|
|
|
25
25
|
private __handleFetchEvent;
|
|
26
26
|
private __handleSelect;
|
|
27
27
|
private __handleEmpty;
|
|
28
|
+
private get __valueLoader();
|
|
28
29
|
}
|
|
29
30
|
export {};
|