@vaadin/crud 24.0.0-alpha5 → 24.0.0-alpha7

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/README.md CHANGED
@@ -58,7 +58,7 @@ Read the [contributing guide](https://vaadin.com/docs/latest/contributing/overvi
58
58
 
59
59
  ## License
60
60
 
61
- Commercial Vaadin Developer License 4.0 (CVDLv4). For license terms, see LICENSE.
61
+ This program is available under Vaadin Commercial License and Service Terms. For license terms, see LICENSE.
62
62
 
63
63
  Vaadin collects usage statistics at development time to improve this product.
64
64
  For details and to opt-out, see https://github.com/vaadin/vaadin-usage-statistics.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/crud",
3
- "version": "24.0.0-alpha5",
3
+ "version": "24.0.0-alpha7",
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.0.0-alpha5",
41
- "@vaadin/component-base": "24.0.0-alpha5",
42
- "@vaadin/confirm-dialog": "24.0.0-alpha5",
43
- "@vaadin/dialog": "24.0.0-alpha5",
44
- "@vaadin/form-layout": "24.0.0-alpha5",
45
- "@vaadin/grid": "24.0.0-alpha5",
46
- "@vaadin/text-field": "24.0.0-alpha5",
47
- "@vaadin/vaadin-lumo-styles": "24.0.0-alpha5",
48
- "@vaadin/vaadin-material-styles": "24.0.0-alpha5",
49
- "@vaadin/vaadin-themable-mixin": "24.0.0-alpha5"
40
+ "@vaadin/button": "24.0.0-alpha7",
41
+ "@vaadin/component-base": "24.0.0-alpha7",
42
+ "@vaadin/confirm-dialog": "24.0.0-alpha7",
43
+ "@vaadin/dialog": "24.0.0-alpha7",
44
+ "@vaadin/form-layout": "24.0.0-alpha7",
45
+ "@vaadin/grid": "24.0.0-alpha7",
46
+ "@vaadin/text-field": "24.0.0-alpha7",
47
+ "@vaadin/vaadin-lumo-styles": "24.0.0-alpha7",
48
+ "@vaadin/vaadin-material-styles": "24.0.0-alpha7",
49
+ "@vaadin/vaadin-themable-mixin": "24.0.0-alpha7"
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": "fc0b1721eda9e39cb289b239e440fc9e29573a31"
61
+ "gitHead": "aeb4535336813636736759e0a5de148b26bfc3b6"
62
62
  }
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2018 - 2022 Vaadin Ltd.
4
- * This program is available under Commercial Vaadin Developer License 4.0, available at https://vaadin.com/license/cvdl-4.0.
3
+ * Copyright (c) 2000 - 2022 Vaadin Ltd.
4
+ *
5
+ * This program is available under Vaadin Commercial License and Service Terms.
6
+ *
7
+ *
8
+ * See https://vaadin.com/commercial-license-and-service-terms for the full
9
+ * license.
5
10
  */
6
11
  import { html } from '@polymer/polymer/lib/utils/html-tag.js';
7
12
  import { Dialog, DialogOverlay } from '@vaadin/dialog/src/vaadin-dialog.js';
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2018 - 2022 Vaadin Ltd.
4
- * This program is available under Commercial Vaadin Developer License 4.0, available at https://vaadin.com/license/cvdl-4.0.
3
+ * Copyright (c) 2000 - 2022 Vaadin Ltd.
4
+ *
5
+ * This program is available under Vaadin Commercial License and Service Terms.
6
+ *
7
+ *
8
+ * See https://vaadin.com/commercial-license-and-service-terms for the full
9
+ * license.
5
10
  */
6
11
  import { GridColumn } from '@vaadin/grid/src/vaadin-grid-column.js';
7
12
 
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2018 - 2022 Vaadin Ltd.
4
- * This program is available under Commercial Vaadin Developer License 4.0, available at https://vaadin.com/license/cvdl-4.0.
3
+ * Copyright (c) 2000 - 2022 Vaadin Ltd.
4
+ *
5
+ * This program is available under Vaadin Commercial License and Service Terms.
6
+ *
7
+ *
8
+ * See https://vaadin.com/commercial-license-and-service-terms for the full
9
+ * license.
5
10
  */
6
11
  import './vaadin-crud-edit.js';
7
12
  import { GridColumn } from '@vaadin/grid/src/vaadin-grid-column.js';
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2018 - 2022 Vaadin Ltd.
4
- * This program is available under Commercial Vaadin Developer License 4.0, available at https://vaadin.com/license/cvdl-4.0.
3
+ * Copyright (c) 2000 - 2022 Vaadin Ltd.
4
+ *
5
+ * This program is available under Vaadin Commercial License and Service Terms.
6
+ *
7
+ *
8
+ * See https://vaadin.com/commercial-license-and-service-terms for the full
9
+ * license.
5
10
  */
6
11
  import { Button } from '@vaadin/button/src/vaadin-button.js';
7
12
 
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2018 - 2022 Vaadin Ltd.
4
- * This program is available under Commercial Vaadin Developer License 4.0, available at https://vaadin.com/license/cvdl-4.0.
3
+ * Copyright (c) 2000 - 2022 Vaadin Ltd.
4
+ *
5
+ * This program is available under Vaadin Commercial License and Service Terms.
6
+ *
7
+ *
8
+ * See https://vaadin.com/commercial-license-and-service-terms for the full
9
+ * license.
5
10
  */
6
11
  import { html } from '@polymer/polymer/polymer-element.js';
7
12
  import { Button } from '@vaadin/button/src/vaadin-button.js';
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2018 - 2022 Vaadin Ltd.
4
- * This program is available under Commercial Vaadin Developer License 4.0, available at https://vaadin.com/license/cvdl-4.0.
3
+ * Copyright (c) 2000 - 2022 Vaadin Ltd.
4
+ *
5
+ * This program is available under Vaadin Commercial License and Service Terms.
6
+ *
7
+ *
8
+ * See https://vaadin.com/commercial-license-and-service-terms for the full
9
+ * license.
5
10
  */
6
11
  import { FormLayout } from '@vaadin/form-layout/src/vaadin-form-layout.js';
7
12
  import { IncludedMixin } from './vaadin-crud-include-mixin.js';
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2018 - 2022 Vaadin Ltd.
4
- * This program is available under Commercial Vaadin Developer License 4.0, available at https://vaadin.com/license/cvdl-4.0.
3
+ * Copyright (c) 2000 - 2022 Vaadin Ltd.
4
+ *
5
+ * This program is available under Vaadin Commercial License and Service Terms.
6
+ *
7
+ *
8
+ * See https://vaadin.com/commercial-license-and-service-terms for the full
9
+ * license.
5
10
  */
6
11
  import '@vaadin/text-field/src/vaadin-text-field.js';
7
12
  import { FormLayout } from '@vaadin/form-layout/src/vaadin-form-layout.js';
@@ -99,7 +104,7 @@ class CrudForm extends IncludedMixin(FormLayout) {
99
104
  .split('.')
100
105
  .slice(0, -1)
101
106
  .reduce((o, p) => {
102
- o[p] = o[p] || {};
107
+ o[p] ||= {};
103
108
  return o[p];
104
109
  }, obj);
105
110
  this.set(path, val, obj);
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2018 - 2022 Vaadin Ltd.
4
- * This program is available under Commercial Vaadin Developer License 4.0, available at https://vaadin.com/license/cvdl-4.0.
3
+ * Copyright (c) 2000 - 2022 Vaadin Ltd.
4
+ *
5
+ * This program is available under Vaadin Commercial License and Service Terms.
6
+ *
7
+ *
8
+ * See https://vaadin.com/commercial-license-and-service-terms for the full
9
+ * license.
5
10
  */
6
11
  import { Grid } from '@vaadin/grid/src/vaadin-grid.js';
7
12
  import { IncludedMixin } from './vaadin-crud-include-mixin.js';
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2018 - 2022 Vaadin Ltd.
4
- * This program is available under Commercial Vaadin Developer License 4.0, available at https://vaadin.com/license/cvdl-4.0.
3
+ * Copyright (c) 2000 - 2022 Vaadin Ltd.
4
+ *
5
+ * This program is available under Vaadin Commercial License and Service Terms.
6
+ *
7
+ *
8
+ * See https://vaadin.com/commercial-license-and-service-terms for the full
9
+ * license.
5
10
  */
6
11
  import '@vaadin/grid/src/vaadin-grid-column.js';
7
12
  import '@vaadin/grid/src/vaadin-grid-column-group.js';
@@ -284,7 +289,7 @@ class CrudGrid extends IncludedMixin(Grid) {
284
289
  .split('.')
285
290
  .slice(0, -1)
286
291
  .reduce((o, p) => {
287
- o[p] = o[p] || {};
292
+ o[p] ||= {};
288
293
  return o[p];
289
294
  }, obj);
290
295
  this.set(path, val, obj);
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2018 - 2022 Vaadin Ltd.
4
- * This program is available under Commercial Vaadin Developer License 4.0, available at https://vaadin.com/license/cvdl-4.0.
3
+ * Copyright (c) 2000 - 2022 Vaadin Ltd.
4
+ *
5
+ * This program is available under Vaadin Commercial License and Service Terms.
6
+ *
7
+ *
8
+ * See https://vaadin.com/commercial-license-and-service-terms for the full
9
+ * license.
5
10
  */
6
11
  import type { Constructor } from '@open-wc/dedupe-mixin';
7
12
 
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2018 - 2022 Vaadin Ltd.
4
- * This program is available under Commercial Vaadin Developer License 4.0, available at https://vaadin.com/license/cvdl-4.0.
3
+ * Copyright (c) 2000 - 2022 Vaadin Ltd.
4
+ *
5
+ * This program is available under Vaadin Commercial License and Service Terms.
6
+ *
7
+ *
8
+ * See https://vaadin.com/commercial-license-and-service-terms for the full
9
+ * license.
5
10
  */
6
11
 
7
12
  /**
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2018 - 2022 Vaadin Ltd.
4
- * This program is available under Commercial Vaadin Developer License 4.0, available at https://vaadin.com/license/cvdl-4.0.
3
+ * Copyright (c) 2000 - 2022 Vaadin Ltd.
4
+ *
5
+ * This program is available under Vaadin Commercial License and Service Terms.
6
+ *
7
+ *
8
+ * See https://vaadin.com/commercial-license-and-service-terms for the full
9
+ * license.
5
10
  */
6
11
  import { ControllerMixin } from '@vaadin/component-base/src/controller-mixin.js';
7
12
  import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
@@ -124,23 +129,34 @@ export type CrudEventMap<T> = CrudCustomEventMap<T> & HTMLElementEventMap;
124
129
  *
125
130
  * A grid and an editor will be automatically generated and configured based on the data structure provided.
126
131
  *
127
- * #### Example:
128
132
  * ```html
129
- * <vaadin-crud items='[{"name": "John", "surname": "Lennon", "role": "singer"},
130
- * {"name": "Ringo", "surname": "Starr", "role": "drums"}]'></vaadin-crud>
133
+ * <vaadin-crud></vaadin-crud>
134
+ * ```
135
+ *
136
+ * ```js
137
+ * const crud = document.querySelector('vaadin-crud');
138
+ *
139
+ * crud.items = [
140
+ * { name: 'John', surname: 'Lennon', role: 'singer' },
141
+ * { name: 'Ringo', surname: 'Starr', role: 'drums' },
142
+ * // ... more items
143
+ * ];
131
144
  * ```
132
145
  *
133
146
  * ### Data Provider Function
134
147
  *
135
148
  * Otherwise, you can provide a [`dataProvider`](#/elements/vaadin-crud#property-dataProvider) function.
136
- * #### Example:
137
- * ```html
138
- * <vaadin-crud></vaadin-crud>
139
- * ```
149
+ *
140
150
  * ```js
141
151
  * const crud = document.querySelector('vaadin-crud');
142
- * const users = [{'name': 'John', 'surname': 'Lennon', 'role': 'singer'}, ...];
143
- * crud.dataProvider = function(params, callback) {
152
+ *
153
+ * const users = [
154
+ * { name: 'John', surname: 'Lennon', role: 'singer' },
155
+ * { name: 'Ringo', surname: 'Starr', role: 'drums' },
156
+ * // ... more items
157
+ * ];
158
+ *
159
+ * crud.dataProvider = (params, callback) => {
144
160
  * const chunk = users.slice(params.page * params.pageSize, params.page * params.pageSize + params.pageSize);
145
161
  * callback(chunk, people.length);
146
162
  * };
@@ -166,11 +182,7 @@ export type CrudEventMap<T> = CrudCustomEventMap<T> & HTMLElementEventMap;
166
182
  * #### Example:
167
183
  *
168
184
  * ```html
169
- * <vaadin-crud
170
- * id="crud"
171
- * items='[{"name": "John", "surname": "Lennon", "role": "singer"},
172
- * {"name": "Ringo", "surname": "Starr", "role": "drums"}]'
173
- * >
185
+ * <vaadin-crud id="crud">
174
186
  * <vaadin-grid slot="grid">
175
187
  * <vaadin-crud-edit-column></vaadin-crud-edit-column>
176
188
  * <vaadin-grid-column id="column1"></vaadin-grid-column>
@@ -208,6 +220,12 @@ export type CrudEventMap<T> = CrudCustomEventMap<T> & HTMLElementEventMap;
208
220
  * column2.renderer = (root, column, model) => {
209
221
  * root.textContent = model.item.surname;
210
222
  * };
223
+ *
224
+ * crud.items = [
225
+ * { name: 'John', surname: 'Lennon', role: 'singer' },
226
+ * { name: 'Ringo', surname: 'Starr', role: 'drums' },
227
+ * // ... more items
228
+ * ];
211
229
  * ```
212
230
  *
213
231
  * ### Helpers
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * @license
3
- * Copyright (c) 2018 - 2022 Vaadin Ltd.
4
- * This program is available under Commercial Vaadin Developer License 4.0, available at https://vaadin.com/license/cvdl-4.0.
3
+ * Copyright (c) 2000 - 2022 Vaadin Ltd.
4
+ *
5
+ * This program is available under Vaadin Commercial License and Service Terms.
6
+ *
7
+ *
8
+ * See https://vaadin.com/commercial-license-and-service-terms for the full
9
+ * license.
5
10
  */
6
11
  import '@vaadin/button/src/vaadin-button.js';
7
12
  import '@vaadin/dialog/src/vaadin-dialog.js';
@@ -41,23 +46,34 @@ class ButtonSlotController extends SlotController {
41
46
  *
42
47
  * A grid and an editor will be automatically generated and configured based on the data structure provided.
43
48
  *
44
- * #### Example:
45
49
  * ```html
46
- * <vaadin-crud items='[{"name": "John", "surname": "Lennon", "role": "singer"},
47
- * {"name": "Ringo", "surname": "Starr", "role": "drums"}]'></vaadin-crud>
50
+ * <vaadin-crud></vaadin-crud>
51
+ * ```
52
+ *
53
+ * ```js
54
+ * const crud = document.querySelector('vaadin-crud');
55
+ *
56
+ * crud.items = [
57
+ * { name: 'John', surname: 'Lennon', role: 'singer' },
58
+ * { name: 'Ringo', surname: 'Starr', role: 'drums' },
59
+ * // ... more items
60
+ * ];
48
61
  * ```
49
62
  *
50
63
  * ### Data Provider Function
51
64
  *
52
65
  * Otherwise, you can provide a [`dataProvider`](#/elements/vaadin-crud#property-dataProvider) function.
53
- * #### Example:
54
- * ```html
55
- * <vaadin-crud></vaadin-crud>
56
- * ```
66
+ *
57
67
  * ```js
58
68
  * const crud = document.querySelector('vaadin-crud');
59
- * const users = [{'name': 'John', 'surname': 'Lennon', 'role': 'singer'}, ...];
60
- * crud.dataProvider = function(params, callback) {
69
+ *
70
+ * const users = [
71
+ * { name: 'John', surname: 'Lennon', role: 'singer' },
72
+ * { name: 'Ringo', surname: 'Starr', role: 'drums' },
73
+ * // ... more items
74
+ * ];
75
+ *
76
+ * crud.dataProvider = (params, callback) => {
61
77
  * const chunk = users.slice(params.page * params.pageSize, params.page * params.pageSize + params.pageSize);
62
78
  * callback(chunk, people.length);
63
79
  * };
@@ -83,11 +99,7 @@ class ButtonSlotController extends SlotController {
83
99
  * #### Example:
84
100
  *
85
101
  * ```html
86
- * <vaadin-crud
87
- * id="crud"
88
- * items='[{"name": "John", "surname": "Lennon", "role": "singer"},
89
- * {"name": "Ringo", "surname": "Starr", "role": "drums"}]'
90
- * >
102
+ * <vaadin-crud id="crud">
91
103
  * <vaadin-grid slot="grid">
92
104
  * <vaadin-crud-edit-column></vaadin-crud-edit-column>
93
105
  * <vaadin-grid-column id="column1"></vaadin-grid-column>
@@ -125,6 +137,12 @@ class ButtonSlotController extends SlotController {
125
137
  * column2.renderer = (root, column, model) => {
126
138
  * root.textContent = model.item.surname;
127
139
  * };
140
+ *
141
+ * crud.items = [
142
+ * { name: 'John', surname: 'Lennon', role: 'singer' },
143
+ * { name: 'Ringo', surname: 'Starr', role: 'drums' },
144
+ * // ... more items
145
+ * ];
128
146
  * ```
129
147
  *
130
148
  * ### Helpers
@@ -290,7 +308,7 @@ class Crud extends ControllerMixin(ElementMixin(ThemableMixin(PolymerElement)))
290
308
  theme$="[[_theme]]"
291
309
  id="confirmCancel"
292
310
  on-confirm="__confirmCancel"
293
- cancel
311
+ cancel-button-visible
294
312
  confirm-text="[[i18n.confirm.cancel.button.confirm]]"
295
313
  cancel-text="[[i18n.confirm.cancel.button.dismiss]]"
296
314
  header="[[i18n.confirm.cancel.title]]"
@@ -302,7 +320,7 @@ class Crud extends ControllerMixin(ElementMixin(ThemableMixin(PolymerElement)))
302
320
  theme$="[[_theme]]"
303
321
  id="confirmDelete"
304
322
  on-confirm="__confirmDelete"
305
- cancel
323
+ cancel-button-visible
306
324
  confirm-text="[[i18n.confirm.delete.button.confirm]]"
307
325
  cancel-text="[[i18n.confirm.delete.button.dismiss]]"
308
326
  header="[[i18n.confirm.delete.title]]"
@@ -1246,7 +1264,7 @@ class Crud extends ControllerMixin(ElementMixin(ThemableMixin(PolymerElement)))
1246
1264
  this.items.push(item);
1247
1265
  }
1248
1266
  } else {
1249
- this.editedItem = this.editedItem || {};
1267
+ this.editedItem ||= {};
1250
1268
  Object.assign(this.editedItem, item);
1251
1269
  }
1252
1270
  this._grid.clearCache();
@@ -1298,7 +1316,7 @@ class Crud extends ControllerMixin(ElementMixin(ThemableMixin(PolymerElement)))
1298
1316
  .split('.')
1299
1317
  .slice(0, -1)
1300
1318
  .reduce((o, p) => {
1301
- o[p] = o[p] || {};
1319
+ o[p] ||= {};
1302
1320
  return o[p];
1303
1321
  }, obj);
1304
1322
  this.set(path, val, obj);