@vaadin/crud 24.2.0-alpha9 → 24.2.0-beta2
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/LICENSE +45 -23
- package/package.json +12 -12
- package/src/vaadin-crud-dialog.js +4 -2
- package/src/vaadin-crud-edit-column.js +3 -1
- package/src/vaadin-crud-edit.js +3 -1
- package/src/vaadin-crud-form.js +3 -1
- package/src/vaadin-crud-grid.js +4 -3
- package/src/vaadin-crud.js +3 -1
- package/web-types.json +6 -6
- package/web-types.lit.json +4 -4
package/LICENSE
CHANGED
|
@@ -14,7 +14,7 @@ AND DESTROY OR RETURN ALL COPIES OF THE PRODUCT.
|
|
|
14
14
|
IF YOU ARE AGREEING TO THESE TERMS ON BEHALF OF YOURSELF IN YOUR INDIVIDUAL
|
|
15
15
|
CAPACITY, THEN YOU ARE THE CUSTOMER. IF YOU ARE AGREEING TO THESE TERMS ON
|
|
16
16
|
BEHALF OF YOUR COMPANY, THEN YOUR COMPANY IS THE CUSTOMER.
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
1. Definitions
|
|
19
19
|
1.1. In these Commercial Terms, unless the context requires otherwise, the
|
|
20
20
|
following words and phrases shall have the following meanings:
|
|
@@ -219,11 +219,12 @@ License as set forth herein and in the applicable Order.
|
|
|
219
219
|
|
|
220
220
|
4.3. Developer License
|
|
221
221
|
4.3.1 General Provisions
|
|
222
|
-
4.3.1.
|
|
222
|
+
4.3.1.1 This Section 4.3 contains the terms and conditions of Vaadin’s
|
|
223
223
|
developer License (“Developer License”), under which Vaadin licenses
|
|
224
224
|
development components for use by a Developer.
|
|
225
|
-
|
|
226
|
-
|
|
225
|
+
|
|
226
|
+
4.3.1.2 Vaadin grants to Customer, based on full payment of the Subscription
|
|
227
|
+
fee, a worldwide, royalty-free, non-exclusive, limited License to Use Licensed
|
|
227
228
|
Software in Project(s).
|
|
228
229
|
|
|
229
230
|
4.3.1.3 Customer must procure the right to Use Licensed Software for each
|
|
@@ -309,7 +310,7 @@ in the applicable Order.
|
|
|
309
310
|
4.4.3. Customer may grant licenses, for free or based on a payment, to the
|
|
310
311
|
Authorized Application(s) including Licensed Software, whether regarded as
|
|
311
312
|
derivative works or not, as long as Customer has obtained from Vaadin a valid
|
|
312
|
-
Runtime License for and on behalf of Customer’s own
|
|
313
|
+
Runtime License for and on behalf of Customer’s own customers (that Use
|
|
313
314
|
Licensed Software), or Customer clearly communicates that anyone Using Licensed
|
|
314
315
|
Software needs to obtain a valid Runtime License from Vaadin prior to
|
|
315
316
|
installation and use of the Authorized Application(s) including Licensed
|
|
@@ -402,7 +403,7 @@ and components for the duration of the Subscription in accordance with the
|
|
|
402
403
|
applicable license terms set for each tool and component. Unless otherwise set
|
|
403
404
|
out in the applicable license terms set for each tool or component, Customer’s
|
|
404
405
|
right of use shall expire without a separate notice when the Subscription is
|
|
405
|
-
terminated or expires.
|
|
406
|
+
terminated or expires.
|
|
406
407
|
|
|
407
408
|
6.4. Expert Chat
|
|
408
409
|
6.4.1. Customer is offered access to a chat service, where Vaadin’s expert team
|
|
@@ -446,10 +447,6 @@ does not authorize the continuation of the service request at their expense.
|
|
|
446
447
|
Software to be fixed. There can be only one open warranty request at a time per
|
|
447
448
|
Subscription. Vaadin reserves the right to choose, at its sole discretion,
|
|
448
449
|
which warranty requests will be fixed.
|
|
449
|
-
During the Support Hours, the resolution of a support request will be started
|
|
450
|
-
within two (2) business days. If Vaadin fails to start the resolution as
|
|
451
|
-
agreed, Customer will be compensated with one (1) free Expert on Demand hour
|
|
452
|
-
that is added to the time balance.
|
|
453
450
|
|
|
454
451
|
6.6.2. During the Support Hours, the resolution of a support request will be
|
|
455
452
|
started within two (2) business days. If Vaadin fails to start the resolution
|
|
@@ -491,7 +488,8 @@ and corresponds with the deliverables and which product or service is offered
|
|
|
491
488
|
for use to Customer by Vaadin without separate charge. The aforesaid indemnity
|
|
492
489
|
obligation of Vaadin shall, however, always be limited to an amount equal to
|
|
493
490
|
three times the yearly Subscription fee, and Vaadin’s liability for indemnified
|
|
494
|
-
claims shall be limited to this Section 6.
|
|
491
|
+
claims shall be limited to this Section 6.8.
|
|
492
|
+
|
|
495
493
|
|
|
496
494
|
6.9. Extended Maintenance for Vaadin
|
|
497
495
|
6.9.1. The extended maintenance for Vaadin Service extends the coverage of the
|
|
@@ -506,7 +504,7 @@ that the latest minor versions of Vaadin platform versions 10, 14, and 23+ are
|
|
|
506
504
|
covered for the duration of the Subscription term.
|
|
507
505
|
|
|
508
506
|
6.9.3. Any and all changes to the software covered by Extended Maintenance may
|
|
509
|
-
be published under commercial or non-commercial License and will be made
|
|
507
|
+
be published under a commercial or non-commercial License and will be made
|
|
510
508
|
available exclusively to Customers that have subscribed to the extended
|
|
511
509
|
maintenance for Vaadin Service.
|
|
512
510
|
|
|
@@ -531,6 +529,23 @@ that is added to the time balance.
|
|
|
531
529
|
6.10.3. Vaadin will build a new version of the Custom Build on demand basis,
|
|
532
530
|
however, at most once a month.
|
|
533
531
|
|
|
532
|
+
6.11. Technical Success Manager
|
|
533
|
+
6.11.1 Technical Success Manager (“TSM”) is a technical expert allocated to
|
|
534
|
+
help Customer to use Vaadin’s products and services in a productive manner.
|
|
535
|
+
TSM's areas of expertise include, but are not limited to, answering technical
|
|
536
|
+
questions, disseminating best practices, and coordinating work between Customer
|
|
537
|
+
and Vaadin.
|
|
538
|
+
|
|
539
|
+
6.11.2. Customer may request regular meetings with the TSM with a maximum
|
|
540
|
+
monthly total of four (4) hours of active meeting time. Preparation and
|
|
541
|
+
coordination time related to the meetings is not included in the above
|
|
542
|
+
mentioned monthly total.
|
|
543
|
+
|
|
544
|
+
6.11.3. Software programming and project management are not included in the
|
|
545
|
+
scope of this TSM service referred to in this Section 6.11. Programming and
|
|
546
|
+
project management services are provided under Expert on Demand and Consulting
|
|
547
|
+
services.
|
|
548
|
+
|
|
534
549
|
7. Consulting
|
|
535
550
|
7.1. Delivery of Consulting
|
|
536
551
|
7.1.1 The Parties may agree upon the delivery of Consulting in an Order, SOW,
|
|
@@ -584,7 +599,7 @@ of this Section and is not to be interpreted as a penalty or punishment
|
|
|
584
599
|
therefor.
|
|
585
600
|
|
|
586
601
|
7.4. Sponsored Development
|
|
587
|
-
The Parties may agree upon the delivery of Sponsored Development in an
|
|
602
|
+
7.4.1 The Parties may agree upon the delivery of Sponsored Development in an
|
|
588
603
|
Agreement. This Service is provided as Consulting in accordance with this
|
|
589
604
|
Section 7. Intellectual Property Rights to Sponsored Development results are
|
|
590
605
|
regulated by Section 11 below.
|
|
@@ -651,14 +666,20 @@ or other Agreement document. As regards Trial Licenses, no Subscription fee is
|
|
|
651
666
|
charged.
|
|
652
667
|
|
|
653
668
|
10.2. Consulting
|
|
654
|
-
10.2.1.
|
|
669
|
+
10.2.1. All cost and effort estimates given by Vaadin to Customer are
|
|
670
|
+
indicative by nature and do not affect the calculation of the fees. If not
|
|
671
|
+
otherwise specified in the Agreement, the Services are provided on
|
|
672
|
+
time-and-material basis. The fee is determined by multiplying the hourly rates
|
|
673
|
+
set forth in the Agreement by the hours that Vaadin has worked on the Services.
|
|
674
|
+
|
|
675
|
+
10.2.2. The applicable prices and hourly rates are detailed in the Agreement
|
|
655
676
|
and/or its appendices. If a price for a Service has not been agreed, the price
|
|
656
677
|
in Vaadin’s price list effective on the order date shall apply.
|
|
657
678
|
|
|
658
|
-
10.2.
|
|
679
|
+
10.2.3. Vaadin shall be entitled to adjust its prices with thirty (30) days’
|
|
659
680
|
notice to Customer.
|
|
660
681
|
|
|
661
|
-
10.2.
|
|
682
|
+
10.2.4. Vaadin shall, if pre-approved by Customer, be entitled to charge for
|
|
662
683
|
customary and reasonable travel and accommodation costs as well as other travel
|
|
663
684
|
costs relating to Services. Traveling time shall be charged as 50% of the
|
|
664
685
|
agreed hourly rates.
|
|
@@ -971,6 +992,7 @@ PURPOSE, ANY IMPLIED WARRANTY THAT ANY SOFTWARE, PRODUCT OR SERVICE WILL MEET
|
|
|
971
992
|
ALL NEEDS AND EXPECTATIONS, BE ERROR-FREE, OR BE OF CERTAIN CONDITION, QUALITY
|
|
972
993
|
OR DURABILITY, OR FUNCTION OR PERFORM IN A CERTAIN WAY. ALL SUCH WARRANTIES,
|
|
973
994
|
CONDITIONS, UNDERTAKINGS AND TERMS ARE HEREBY EXCLUDED.
|
|
995
|
+
|
|
974
996
|
23. Limitation of Liability
|
|
975
997
|
23.1. VAADIN AND ITS AFFILIATES AND SUPPLIERS SHALL NOT BE LIABLE FOR ANY
|
|
976
998
|
INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, INCLUDING BUT
|
|
@@ -985,9 +1007,9 @@ A PARTY TOWARDS THE OTHER PARTY IN RELATION TO THE AGREEMENT IS LIMITED TO A
|
|
|
985
1007
|
MAXIMUM OF 50 % OF THE PRICE PAYABLE FOR THE AGREED SUBSCRIPTION, PRODUCT OR
|
|
986
1008
|
SERVICE DIRECTLY RELATED TO THE CAUSE OF ACTION ASSERTED UNDER THE RELEVANT
|
|
987
1009
|
AGREEMENT. IN CASE OF SUBSCRIPTIONS, THE AFOREMENTIONED 50 % LIMIT IS
|
|
988
|
-
CALCULATED BASED ON THE
|
|
989
|
-
IN CASE OF CONSULTING CARRIED OUT OUTSIDE A SUBSCRIPTION, THE AFOREMENTIONED
|
|
990
|
-
|
|
1010
|
+
CALCULATED BASED ON THE SUBSCRIPTION FEE FOR THE MOST RECENT SUBSCRIPTION TERM.
|
|
1011
|
+
IN CASE OF CONSULTING CARRIED OUT OUTSIDE A SUBSCRIPTION, THE AFOREMENTIONED 50
|
|
1012
|
+
% LIMIT IS CALCULATED BASED ON THE TOTAL VALUE OF THE CONSULTING UNDER THE
|
|
991
1013
|
RELEVANT SOW.
|
|
992
1014
|
|
|
993
1015
|
23.3. THIS LIMITATION OF LIABILITY SHALL APPLY REGARDLESS OF THE CAUSE OF
|
|
@@ -1083,13 +1105,13 @@ interpretation of the Commercial Terms or any provision hereof.
|
|
|
1083
1105
|
|
|
1084
1106
|
27.6. Severability
|
|
1085
1107
|
27.6.1. If any provision of the Agreement shall be held invalid, illegal or
|
|
1086
|
-
unenforceable, the remaining provisions shall not be affected or impaired.
|
|
1108
|
+
unenforceable, the remaining provisions shall not be affected or impaired.
|
|
1087
1109
|
|
|
1088
1110
|
27.7. Export Control
|
|
1089
1111
|
27.7.1. The Licensed Software may be subject to import and export controls in
|
|
1090
1112
|
other countries. Customer agrees to strictly comply with all applicable import
|
|
1091
1113
|
and export regulations and acknowledge that Customer has the responsibility to
|
|
1092
|
-
obtain licenses to export, re-export, transfer or import Licensed Software.
|
|
1114
|
+
obtain licenses to export, re-export, transfer or import Licensed Software.
|
|
1093
1115
|
|
|
1094
1116
|
27.8. Assignment
|
|
1095
1117
|
27.8.1. Neither Party shall have the right to assign the Agreement to a third
|
|
@@ -1105,8 +1127,8 @@ Agreement.
|
|
|
1105
1127
|
statements required hereby shall be in English.
|
|
1106
1128
|
|
|
1107
1129
|
27.10. Changes to these Commercial Terms
|
|
1108
|
-
Vaadin may change these Commercial Terms at any time, upon thirty (30)
|
|
1109
|
-
prior written notice. The changed Commercial Terms shall apply to any new
|
|
1130
|
+
27.10.1 Vaadin may change these Commercial Terms at any time, upon thirty (30)
|
|
1131
|
+
days prior written notice. The changed Commercial Terms shall apply to any new
|
|
1110
1132
|
Orders and Agreements entered into after the effective date of the change. As
|
|
1111
1133
|
regards Subscriptions, the changed Commercial Terms shall apply from the
|
|
1112
1134
|
beginning of a renewed Subscription term, provided that Vaadin has notified
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/crud",
|
|
3
|
-
"version": "24.2.0-
|
|
3
|
+
"version": "24.2.0-beta2",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@open-wc/dedupe-mixin": "^1.3.0",
|
|
39
39
|
"@polymer/polymer": "^3.0.0",
|
|
40
|
-
"@vaadin/button": "24.2.0-
|
|
41
|
-
"@vaadin/component-base": "24.2.0-
|
|
42
|
-
"@vaadin/confirm-dialog": "24.2.0-
|
|
43
|
-
"@vaadin/dialog": "24.2.0-
|
|
44
|
-
"@vaadin/form-layout": "24.2.0-
|
|
45
|
-
"@vaadin/grid": "24.2.0-
|
|
46
|
-
"@vaadin/text-field": "24.2.0-
|
|
47
|
-
"@vaadin/vaadin-lumo-styles": "24.2.0-
|
|
48
|
-
"@vaadin/vaadin-material-styles": "24.2.0-
|
|
49
|
-
"@vaadin/vaadin-themable-mixin": "24.2.0-
|
|
40
|
+
"@vaadin/button": "24.2.0-beta2",
|
|
41
|
+
"@vaadin/component-base": "24.2.0-beta2",
|
|
42
|
+
"@vaadin/confirm-dialog": "24.2.0-beta2",
|
|
43
|
+
"@vaadin/dialog": "24.2.0-beta2",
|
|
44
|
+
"@vaadin/form-layout": "24.2.0-beta2",
|
|
45
|
+
"@vaadin/grid": "24.2.0-beta2",
|
|
46
|
+
"@vaadin/text-field": "24.2.0-beta2",
|
|
47
|
+
"@vaadin/vaadin-lumo-styles": "24.2.0-beta2",
|
|
48
|
+
"@vaadin/vaadin-material-styles": "24.2.0-beta2",
|
|
49
|
+
"@vaadin/vaadin-themable-mixin": "24.2.0-beta2"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@esm-bundle/chai": "^4.3.4",
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"web-types.json",
|
|
59
59
|
"web-types.lit.json"
|
|
60
60
|
],
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "4b852f9a12d4dade7f0fb3c73b7212436cebf310"
|
|
62
62
|
}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* license.
|
|
10
10
|
*/
|
|
11
11
|
import { html, PolymerElement } from '@polymer/polymer/polymer-element.js';
|
|
12
|
+
import { defineCustomElement } from '@vaadin/component-base/src/define.js';
|
|
12
13
|
import { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';
|
|
13
14
|
import { OverlayClassMixin } from '@vaadin/component-base/src/overlay-class-mixin.js';
|
|
14
15
|
import { DialogBaseMixin } from '@vaadin/dialog/src/vaadin-dialog-base-mixin.js';
|
|
@@ -57,6 +58,7 @@ registerStyles('vaadin-crud-dialog-overlay', [overlayStyles, dialogOverlay, resi
|
|
|
57
58
|
/**
|
|
58
59
|
* An element used internally by `<vaadin-crud>`. Not intended to be used separately.
|
|
59
60
|
*
|
|
61
|
+
* @customElement
|
|
60
62
|
* @extends HTMLElement
|
|
61
63
|
* @mixes DirMixin
|
|
62
64
|
* @mixes OverlayMixin
|
|
@@ -100,7 +102,7 @@ class CrudDialogOverlay extends OverlayMixin(DirMixin(ThemableMixin(PolymerEleme
|
|
|
100
102
|
}
|
|
101
103
|
}
|
|
102
104
|
|
|
103
|
-
|
|
105
|
+
defineCustomElement(CrudDialogOverlay);
|
|
104
106
|
|
|
105
107
|
/**
|
|
106
108
|
* An element used internally by `<vaadin-crud>`. Not intended to be used separately.
|
|
@@ -149,4 +151,4 @@ class CrudDialog extends DialogBaseMixin(OverlayClassMixin(ThemePropertyMixin(Po
|
|
|
149
151
|
}
|
|
150
152
|
}
|
|
151
153
|
|
|
152
|
-
|
|
154
|
+
defineCustomElement(CrudDialog);
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* license.
|
|
10
10
|
*/
|
|
11
11
|
import './vaadin-crud-edit.js';
|
|
12
|
+
import { defineCustomElement } from '@vaadin/component-base/src/define.js';
|
|
12
13
|
import { GridColumn } from '@vaadin/grid/src/vaadin-grid-column.js';
|
|
13
14
|
|
|
14
15
|
/**
|
|
@@ -26,6 +27,7 @@ import { GridColumn } from '@vaadin/grid/src/vaadin-grid-column.js';
|
|
|
26
27
|
* ...
|
|
27
28
|
* ```
|
|
28
29
|
*
|
|
30
|
+
* @customElement
|
|
29
31
|
* @extends GridColumn
|
|
30
32
|
*/
|
|
31
33
|
class CrudEditColumn extends GridColumn {
|
|
@@ -85,6 +87,6 @@ class CrudEditColumn extends GridColumn {
|
|
|
85
87
|
}
|
|
86
88
|
}
|
|
87
89
|
|
|
88
|
-
|
|
90
|
+
defineCustomElement(CrudEditColumn);
|
|
89
91
|
|
|
90
92
|
export { CrudEditColumn };
|
package/src/vaadin-crud-edit.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { html } from '@polymer/polymer/polymer-element.js';
|
|
12
12
|
import { Button } from '@vaadin/button/src/vaadin-button.js';
|
|
13
|
+
import { defineCustomElement } from '@vaadin/component-base/src/define.js';
|
|
13
14
|
import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
14
15
|
|
|
15
16
|
/**
|
|
@@ -34,6 +35,7 @@ registerStyles(
|
|
|
34
35
|
* Typical usage is in a `<vaadin-grid-column>` of a custom `<vaadin-grid>` inside
|
|
35
36
|
* a `<vaadin-crud>` to enable editing.
|
|
36
37
|
*
|
|
38
|
+
* @customElement
|
|
37
39
|
* @extends HTMLElement
|
|
38
40
|
* @mixes ThemableMixin
|
|
39
41
|
*/
|
|
@@ -73,4 +75,4 @@ class CrudEdit extends Button {
|
|
|
73
75
|
*/
|
|
74
76
|
}
|
|
75
77
|
|
|
76
|
-
|
|
78
|
+
defineCustomElement(CrudEdit);
|
package/src/vaadin-crud-form.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* license.
|
|
10
10
|
*/
|
|
11
11
|
import '@vaadin/text-field/src/vaadin-text-field.js';
|
|
12
|
+
import { defineCustomElement } from '@vaadin/component-base/src/define.js';
|
|
12
13
|
import { FormLayout } from '@vaadin/form-layout/src/vaadin-form-layout.js';
|
|
13
14
|
import { capitalize } from './vaadin-crud-helpers.js';
|
|
14
15
|
import { IncludedMixin } from './vaadin-crud-include-mixin.js';
|
|
@@ -16,6 +17,7 @@ import { IncludedMixin } from './vaadin-crud-include-mixin.js';
|
|
|
16
17
|
/**
|
|
17
18
|
* An element used internally by `<vaadin-crud>`. Not intended to be used separately.
|
|
18
19
|
*
|
|
20
|
+
* @customElement
|
|
19
21
|
* @extends FormLayout
|
|
20
22
|
* @mixes IncludedMixin
|
|
21
23
|
* @private
|
|
@@ -90,6 +92,6 @@ class CrudForm extends IncludedMixin(FormLayout) {
|
|
|
90
92
|
}
|
|
91
93
|
}
|
|
92
94
|
|
|
93
|
-
|
|
95
|
+
defineCustomElement(CrudForm);
|
|
94
96
|
|
|
95
97
|
export { CrudForm };
|
package/src/vaadin-crud-grid.js
CHANGED
|
@@ -8,11 +8,12 @@
|
|
|
8
8
|
* See https://vaadin.com/commercial-license-and-service-terms for the full
|
|
9
9
|
* license.
|
|
10
10
|
*/
|
|
11
|
-
import '@vaadin/grid/src/vaadin-grid-column.js';
|
|
12
11
|
import '@vaadin/grid/src/vaadin-grid-column-group.js';
|
|
13
|
-
import '@vaadin/grid/src/vaadin-grid-
|
|
12
|
+
import '@vaadin/grid/src/vaadin-grid-column.js';
|
|
14
13
|
import '@vaadin/grid/src/vaadin-grid-filter.js';
|
|
14
|
+
import '@vaadin/grid/src/vaadin-grid-sorter.js';
|
|
15
15
|
import './vaadin-crud-edit-column.js';
|
|
16
|
+
import { defineCustomElement } from '@vaadin/component-base/src/define.js';
|
|
16
17
|
import { Grid } from '@vaadin/grid/src/vaadin-grid.js';
|
|
17
18
|
import { capitalize, getProperty } from './vaadin-crud-helpers.js';
|
|
18
19
|
import { IncludedMixin } from './vaadin-crud-include-mixin.js';
|
|
@@ -275,6 +276,6 @@ class CrudGrid extends IncludedMixin(Grid) {
|
|
|
275
276
|
}
|
|
276
277
|
}
|
|
277
278
|
|
|
278
|
-
|
|
279
|
+
defineCustomElement(CrudGrid);
|
|
279
280
|
|
|
280
281
|
export { CrudGrid };
|
package/src/vaadin-crud.js
CHANGED
|
@@ -18,6 +18,7 @@ import { afterNextRender } from '@polymer/polymer/lib/utils/render-status.js';
|
|
|
18
18
|
import { html, PolymerElement } from '@polymer/polymer/polymer-element.js';
|
|
19
19
|
import { FocusRestorationController } from '@vaadin/a11y-base/src/focus-restoration-controller.js';
|
|
20
20
|
import { ControllerMixin } from '@vaadin/component-base/src/controller-mixin.js';
|
|
21
|
+
import { defineCustomElement } from '@vaadin/component-base/src/define.js';
|
|
21
22
|
import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
|
|
22
23
|
import { MediaQueryController } from '@vaadin/component-base/src/media-query-controller.js';
|
|
23
24
|
import { SlotController } from '@vaadin/component-base/src/slot-controller.js';
|
|
@@ -167,6 +168,7 @@ import { getProperty, setProperty } from './vaadin-crud-helpers.js';
|
|
|
167
168
|
* @fires {CustomEvent} save - Fired when user wants to save a new or an existing item.
|
|
168
169
|
* @fires {CustomEvent} cancel - Fired when user discards edition.
|
|
169
170
|
*
|
|
171
|
+
* @customElement
|
|
170
172
|
* @extends HTMLElement
|
|
171
173
|
* @mixes ControllerMixin
|
|
172
174
|
* @mixes ElementMixin
|
|
@@ -1357,6 +1359,6 @@ class Crud extends ControllerMixin(ElementMixin(ThemableMixin(PolymerElement)))
|
|
|
1357
1359
|
*/
|
|
1358
1360
|
}
|
|
1359
1361
|
|
|
1360
|
-
|
|
1362
|
+
defineCustomElement(Crud);
|
|
1361
1363
|
|
|
1362
1364
|
export { Crud };
|
package/web-types.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/web-types",
|
|
3
3
|
"name": "@vaadin/crud",
|
|
4
|
-
"version": "24.2.0-
|
|
4
|
+
"version": "24.2.0-beta2",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
@@ -313,7 +313,7 @@
|
|
|
313
313
|
},
|
|
314
314
|
{
|
|
315
315
|
"name": "vaadin-crud",
|
|
316
|
-
"description": "`<vaadin-crud>` is a Web Component for [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) operations.\n\n### Quick Start\n\nAssign an array to the [`items`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-
|
|
316
|
+
"description": "`<vaadin-crud>` is a Web Component for [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) operations.\n\n### Quick Start\n\nAssign an array to the [`items`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-crud#property-items) property.\n\nA grid and an editor will be automatically generated and configured based on the data structure provided.\n\n```html\n<vaadin-crud></vaadin-crud>\n```\n```js\nconst crud = document.querySelector('vaadin-crud');\n\ncrud.items = [\n { name: 'John', surname: 'Lennon', role: 'singer' },\n { name: 'Ringo', surname: 'Starr', role: 'drums' },\n // ... more items\n];\n```\n\n### Data Provider Function\n\nOtherwise, you can provide a [`dataProvider`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-crud#property-dataProvider) function.\n\n```js\nconst crud = document.querySelector('vaadin-crud');\n\nconst users = [\n { name: 'John', surname: 'Lennon', role: 'singer' },\n { name: 'Ringo', surname: 'Starr', role: 'drums' },\n // ... more items\n];\n\ncrud.dataProvider = (params, callback) => {\n const chunk = users.slice(params.page * params.pageSize, params.page * params.pageSize + params.pageSize);\n callback(chunk, people.length);\n};\n```\n\nNOTE: The auto-generated editor only supports string types. If you need to handle special cases\ncustomizing the editor is discussed below.\n\n### Customization\n\nAlternatively you can fully configure the component by using `slot` names.\n\nSlot name | Description\n---------------|----------------\n`grid` | To replace the auto-generated grid with a custom one.\n`form` | To replace the auto-generated form.\n`save-button` | To replace the \"Save\" button.\n`cancel-button`| To replace the \"Cancel\" button.\n`delete-button`| To replace the \"Delete\" button.\n`toolbar` | To provide the toolbar content (by default, it's empty).\n`new-button` | To replace the \"New item\" button.\n\n#### Example:\n\n```html\n<vaadin-crud id=\"crud\">\n <vaadin-grid slot=\"grid\">\n <vaadin-crud-edit-column></vaadin-crud-edit-column>\n <vaadin-grid-column id=\"column1\"></vaadin-grid-column>\n <vaadin-grid-column id=\"column2\"></vaadin-grid-column>\n </vaadin-grid>\n\n <vaadin-form-layout slot=\"form\">\n <vaadin-text-field label=\"First\" path=\"name\"></vaadin-text-field>\n <vaadin-text-field label=\"Surname\" path=\"surname\"></vaadin-text-field>\n </vaadin-form-layout>\n\n <div slot=\"toolbar\">Total singers: 2</div>\n <button slot=\"new-button\">New singer</button>\n\n <button slot=\"save-button\">Save changes</button>\n <button slot=\"cancel-button\">Discard changes</button>\n <button slot=\"delete-button\">Delete singer</button>\n</vaadin-crud>\n```\n```js\nconst crud = document.querySelector('#crud');\n\nconst column1 = document.querySelector('#column1');\ncolumn1.headerRenderer = (root, column) => {\n root.textContent = 'Name';\n};\ncolumn1.renderer = (root, column, model) => {\n root.textContent = model.item.name;\n};\n\nconst column2 = document.querySelector('#column2');\ncolumn2.headerRenderer = (root, column) => {\n root.textContent = 'Surname';\n};\ncolumn2.renderer = (root, column, model) => {\n root.textContent = model.item.surname;\n};\n\ncrud.items = [\n { name: 'John', surname: 'Lennon', role: 'singer' },\n { name: 'Ringo', surname: 'Starr', role: 'drums' },\n // ... more items\n];\n```\n\n### Helpers\n\nThe following elements are used to auto-configure the grid and the editor\n- [`<vaadin-crud-edit-column>`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-crud-edit-column)\n- `<vaadin-crud-grid>` - can be replaced with custom [`<vaadin-grid>`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-grid)\n- `<vaadin-crud-form>` - can be replaced with custom [`<vaadin-form-layout>`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-form-layout)\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n----------------|----------------\n`toolbar` | Toolbar container at the bottom. By default it contains the the `new` button\n\nThe following custom properties are available:\n\nCustom Property | Description | Default\n----------------|----------------\n--vaadin-crud-editor-max-height | max height of editor when opened on the bottom | 40%\n--vaadin-crud-editor-max-width | max width of editor when opened on the side | 40%\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
|
|
317
317
|
"attributes": [
|
|
318
318
|
{
|
|
319
319
|
"name": "editor-position",
|
|
@@ -368,7 +368,7 @@
|
|
|
368
368
|
},
|
|
369
369
|
{
|
|
370
370
|
"name": "include",
|
|
371
|
-
"description": "A comma-separated list of fields to include in the generated grid and the generated editor.\n\nIt can be used to explicitly define the field order.\n\nWhen it is defined [`exclude`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-
|
|
371
|
+
"description": "A comma-separated list of fields to include in the generated grid and the generated editor.\n\nIt can be used to explicitly define the field order.\n\nWhen it is defined [`exclude`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-crud#property-exclude) is ignored.\n\nDefault is undefined meaning that all properties in the object should be mapped to fields.",
|
|
372
372
|
"value": {
|
|
373
373
|
"type": [
|
|
374
374
|
"string",
|
|
@@ -379,7 +379,7 @@
|
|
|
379
379
|
},
|
|
380
380
|
{
|
|
381
381
|
"name": "exclude",
|
|
382
|
-
"description": "A comma-separated list of fields to be excluded from the generated grid and the generated editor.\n\nWhen [`include`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-
|
|
382
|
+
"description": "A comma-separated list of fields to be excluded from the generated grid and the generated editor.\n\nWhen [`include`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-crud#property-include) is defined, this parameter is ignored.\n\nDefault is to exclude all private fields (those properties starting with underscore)",
|
|
383
383
|
"value": {
|
|
384
384
|
"type": [
|
|
385
385
|
"string",
|
|
@@ -506,7 +506,7 @@
|
|
|
506
506
|
},
|
|
507
507
|
{
|
|
508
508
|
"name": "include",
|
|
509
|
-
"description": "A comma-separated list of fields to include in the generated grid and the generated editor.\n\nIt can be used to explicitly define the field order.\n\nWhen it is defined [`exclude`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-
|
|
509
|
+
"description": "A comma-separated list of fields to include in the generated grid and the generated editor.\n\nIt can be used to explicitly define the field order.\n\nWhen it is defined [`exclude`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-crud#property-exclude) is ignored.\n\nDefault is undefined meaning that all properties in the object should be mapped to fields.",
|
|
510
510
|
"value": {
|
|
511
511
|
"type": [
|
|
512
512
|
"string",
|
|
@@ -517,7 +517,7 @@
|
|
|
517
517
|
},
|
|
518
518
|
{
|
|
519
519
|
"name": "exclude",
|
|
520
|
-
"description": "A comma-separated list of fields to be excluded from the generated grid and the generated editor.\n\nWhen [`include`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-
|
|
520
|
+
"description": "A comma-separated list of fields to be excluded from the generated grid and the generated editor.\n\nWhen [`include`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-crud#property-include) is defined, this parameter is ignored.\n\nDefault is to exclude all private fields (those properties starting with underscore)",
|
|
521
521
|
"value": {
|
|
522
522
|
"type": [
|
|
523
523
|
"string",
|
package/web-types.lit.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/web-types",
|
|
3
3
|
"name": "@vaadin/crud",
|
|
4
|
-
"version": "24.2.0-
|
|
4
|
+
"version": "24.2.0-beta2",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"framework": "lit",
|
|
7
7
|
"framework-config": {
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
},
|
|
129
129
|
{
|
|
130
130
|
"name": "vaadin-crud",
|
|
131
|
-
"description": "`<vaadin-crud>` is a Web Component for [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) operations.\n\n### Quick Start\n\nAssign an array to the [`items`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-
|
|
131
|
+
"description": "`<vaadin-crud>` is a Web Component for [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) operations.\n\n### Quick Start\n\nAssign an array to the [`items`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-crud#property-items) property.\n\nA grid and an editor will be automatically generated and configured based on the data structure provided.\n\n```html\n<vaadin-crud></vaadin-crud>\n```\n```js\nconst crud = document.querySelector('vaadin-crud');\n\ncrud.items = [\n { name: 'John', surname: 'Lennon', role: 'singer' },\n { name: 'Ringo', surname: 'Starr', role: 'drums' },\n // ... more items\n];\n```\n\n### Data Provider Function\n\nOtherwise, you can provide a [`dataProvider`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-crud#property-dataProvider) function.\n\n```js\nconst crud = document.querySelector('vaadin-crud');\n\nconst users = [\n { name: 'John', surname: 'Lennon', role: 'singer' },\n { name: 'Ringo', surname: 'Starr', role: 'drums' },\n // ... more items\n];\n\ncrud.dataProvider = (params, callback) => {\n const chunk = users.slice(params.page * params.pageSize, params.page * params.pageSize + params.pageSize);\n callback(chunk, people.length);\n};\n```\n\nNOTE: The auto-generated editor only supports string types. If you need to handle special cases\ncustomizing the editor is discussed below.\n\n### Customization\n\nAlternatively you can fully configure the component by using `slot` names.\n\nSlot name | Description\n---------------|----------------\n`grid` | To replace the auto-generated grid with a custom one.\n`form` | To replace the auto-generated form.\n`save-button` | To replace the \"Save\" button.\n`cancel-button`| To replace the \"Cancel\" button.\n`delete-button`| To replace the \"Delete\" button.\n`toolbar` | To provide the toolbar content (by default, it's empty).\n`new-button` | To replace the \"New item\" button.\n\n#### Example:\n\n```html\n<vaadin-crud id=\"crud\">\n <vaadin-grid slot=\"grid\">\n <vaadin-crud-edit-column></vaadin-crud-edit-column>\n <vaadin-grid-column id=\"column1\"></vaadin-grid-column>\n <vaadin-grid-column id=\"column2\"></vaadin-grid-column>\n </vaadin-grid>\n\n <vaadin-form-layout slot=\"form\">\n <vaadin-text-field label=\"First\" path=\"name\"></vaadin-text-field>\n <vaadin-text-field label=\"Surname\" path=\"surname\"></vaadin-text-field>\n </vaadin-form-layout>\n\n <div slot=\"toolbar\">Total singers: 2</div>\n <button slot=\"new-button\">New singer</button>\n\n <button slot=\"save-button\">Save changes</button>\n <button slot=\"cancel-button\">Discard changes</button>\n <button slot=\"delete-button\">Delete singer</button>\n</vaadin-crud>\n```\n```js\nconst crud = document.querySelector('#crud');\n\nconst column1 = document.querySelector('#column1');\ncolumn1.headerRenderer = (root, column) => {\n root.textContent = 'Name';\n};\ncolumn1.renderer = (root, column, model) => {\n root.textContent = model.item.name;\n};\n\nconst column2 = document.querySelector('#column2');\ncolumn2.headerRenderer = (root, column) => {\n root.textContent = 'Surname';\n};\ncolumn2.renderer = (root, column, model) => {\n root.textContent = model.item.surname;\n};\n\ncrud.items = [\n { name: 'John', surname: 'Lennon', role: 'singer' },\n { name: 'Ringo', surname: 'Starr', role: 'drums' },\n // ... more items\n];\n```\n\n### Helpers\n\nThe following elements are used to auto-configure the grid and the editor\n- [`<vaadin-crud-edit-column>`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-crud-edit-column)\n- `<vaadin-crud-grid>` - can be replaced with custom [`<vaadin-grid>`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-grid)\n- `<vaadin-crud-form>` - can be replaced with custom [`<vaadin-form-layout>`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-form-layout)\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n----------------|----------------\n`toolbar` | Toolbar container at the bottom. By default it contains the the `new` button\n\nThe following custom properties are available:\n\nCustom Property | Description | Default\n----------------|----------------\n--vaadin-crud-editor-max-height | max height of editor when opened on the bottom | 40%\n--vaadin-crud-editor-max-width | max width of editor when opened on the side | 40%\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
|
|
132
132
|
"extension": true,
|
|
133
133
|
"attributes": [
|
|
134
134
|
{
|
|
@@ -203,14 +203,14 @@
|
|
|
203
203
|
},
|
|
204
204
|
{
|
|
205
205
|
"name": ".include",
|
|
206
|
-
"description": "A comma-separated list of fields to include in the generated grid and the generated editor.\n\nIt can be used to explicitly define the field order.\n\nWhen it is defined [`exclude`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-
|
|
206
|
+
"description": "A comma-separated list of fields to include in the generated grid and the generated editor.\n\nIt can be used to explicitly define the field order.\n\nWhen it is defined [`exclude`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-crud#property-exclude) is ignored.\n\nDefault is undefined meaning that all properties in the object should be mapped to fields.",
|
|
207
207
|
"value": {
|
|
208
208
|
"kind": "expression"
|
|
209
209
|
}
|
|
210
210
|
},
|
|
211
211
|
{
|
|
212
212
|
"name": ".exclude",
|
|
213
|
-
"description": "A comma-separated list of fields to be excluded from the generated grid and the generated editor.\n\nWhen [`include`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-
|
|
213
|
+
"description": "A comma-separated list of fields to be excluded from the generated grid and the generated editor.\n\nWhen [`include`](https://cdn.vaadin.com/vaadin-web-components/24.2.0-beta2/#/elements/vaadin-crud#property-include) is defined, this parameter is ignored.\n\nDefault is to exclude all private fields (those properties starting with underscore)",
|
|
214
214
|
"value": {
|
|
215
215
|
"kind": "expression"
|
|
216
216
|
}
|