@vaadin/grid 23.1.0-beta4 → 23.1.0-rc3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/grid",
3
- "version": "23.1.0-beta4",
3
+ "version": "23.1.0-rc3",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -43,20 +43,20 @@
43
43
  "dependencies": {
44
44
  "@open-wc/dedupe-mixin": "^1.3.0",
45
45
  "@polymer/polymer": "^3.0.0",
46
- "@vaadin/checkbox": "23.1.0-beta4",
47
- "@vaadin/component-base": "23.1.0-beta4",
48
- "@vaadin/lit-renderer": "23.1.0-beta4",
49
- "@vaadin/text-field": "23.1.0-beta4",
50
- "@vaadin/vaadin-lumo-styles": "23.1.0-beta4",
51
- "@vaadin/vaadin-material-styles": "23.1.0-beta4",
52
- "@vaadin/vaadin-themable-mixin": "23.1.0-beta4"
46
+ "@vaadin/checkbox": "23.1.0-rc3",
47
+ "@vaadin/component-base": "23.1.0-rc3",
48
+ "@vaadin/lit-renderer": "23.1.0-rc3",
49
+ "@vaadin/text-field": "23.1.0-rc3",
50
+ "@vaadin/vaadin-lumo-styles": "23.1.0-rc3",
51
+ "@vaadin/vaadin-material-styles": "23.1.0-rc3",
52
+ "@vaadin/vaadin-themable-mixin": "23.1.0-rc3"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@esm-bundle/chai": "^4.3.4",
56
- "@vaadin/polymer-legacy-adapter": "23.1.0-beta4",
56
+ "@vaadin/polymer-legacy-adapter": "23.1.0-rc3",
57
57
  "@vaadin/testing-helpers": "^0.3.2",
58
58
  "lit": "^2.0.0",
59
59
  "sinon": "^13.0.2"
60
60
  },
61
- "gitHead": "06e283473964ecb3085aacf3eddb5333d052a045"
61
+ "gitHead": "49c312fbe0228adb559296d45655bbfd4eac6235"
62
62
  }
@@ -16,7 +16,9 @@ class AbstractGridColumnRendererDirective extends LitRendererDirective {
16
16
  *
17
17
  * @abstract
18
18
  */
19
- rendererProperty;
19
+ get rendererProperty() {
20
+ throw new Error('The `rendererProperty` getter must be implemented.');
21
+ }
20
22
 
21
23
  /**
22
24
  * Adds the renderer callback to the grid column.
@@ -47,7 +49,9 @@ class AbstractGridColumnRendererDirective extends LitRendererDirective {
47
49
  }
48
50
 
49
51
  export class GridColumnBodyRendererDirective extends AbstractGridColumnRendererDirective {
50
- rendererProperty = 'renderer';
52
+ get rendererProperty() {
53
+ return 'renderer';
54
+ }
51
55
 
52
56
  addRenderer() {
53
57
  this.element[this.rendererProperty] = (root, column, model) => {
@@ -57,11 +61,15 @@ export class GridColumnBodyRendererDirective extends AbstractGridColumnRendererD
57
61
  }
58
62
 
59
63
  export class GridColumnHeaderRendererDirective extends AbstractGridColumnRendererDirective {
60
- rendererProperty = 'headerRenderer';
64
+ get rendererProperty() {
65
+ return 'headerRenderer';
66
+ }
61
67
  }
62
68
 
63
69
  export class GridColumnFooterRendererDirective extends AbstractGridColumnRendererDirective {
64
- rendererProperty = 'footerRenderer';
70
+ get rendererProperty() {
71
+ return 'footerRenderer';
72
+ }
65
73
  }
66
74
 
67
75
  /**
@@ -18,13 +18,13 @@ export interface GridSorterDefinition {
18
18
  direction: GridSorterDirection;
19
19
  }
20
20
 
21
- export type GridDataProviderCallback<TItem> = (items: Array<TItem>, size?: number) => void;
21
+ export type GridDataProviderCallback<TItem> = (items: TItem[], size?: number) => void;
22
22
 
23
23
  export type GridDataProviderParams<TItem> = {
24
24
  page: number;
25
25
  pageSize: number;
26
- filters: Array<GridFilterDefinition>;
27
- sortOrders: Array<GridSorterDefinition>;
26
+ filters: GridFilterDefinition[];
27
+ sortOrders: GridSorterDefinition[];
28
28
  parentItem?: TItem;
29
29
  };
30
30
 
@@ -219,13 +219,13 @@ export const DataProviderMixin = (superClass) =>
219
219
  */
220
220
  __expandedKeys: {
221
221
  type: Object,
222
- value: () => new Set(),
222
+ computed: '__computeExpandedKeys(itemIdPath, expandedItems.*)',
223
223
  },
224
224
  };
225
225
  }
226
226
 
227
227
  static get observers() {
228
- return ['_sizeChanged(size)', '_itemIdPathChanged(itemIdPath)', '_expandedItemsChanged(expandedItems.*)'];
228
+ return ['_sizeChanged(size)', '_expandedItemsChanged(expandedItems.*)'];
229
229
  }
230
230
 
231
231
  /** @private */
@@ -282,25 +282,20 @@ export const DataProviderMixin = (superClass) =>
282
282
 
283
283
  /** @private */
284
284
  _expandedItemsChanged() {
285
- this.__cacheExpandedKeys();
286
285
  this._cache.updateSize();
287
286
  this._effectiveSize = this._cache.effectiveSize;
288
287
  this.__updateVisibleRows();
289
288
  }
290
289
 
291
290
  /** @private */
292
- _itemIdPathChanged() {
293
- this.__cacheExpandedKeys();
294
- }
291
+ __computeExpandedKeys(itemIdPath, expandedItems) {
292
+ const expanded = expandedItems.base || [];
293
+ const expandedKeys = new Set();
294
+ expanded.forEach((item) => {
295
+ expandedKeys.add(this.getItemId(item));
296
+ });
295
297
 
296
- /** @private */
297
- __cacheExpandedKeys() {
298
- if (this.expandedItems) {
299
- this.__expandedKeys = new Set();
300
- this.expandedItems.forEach((item) => {
301
- this.__expandedKeys.add(this.getItemId(item));
302
- });
303
- }
298
+ return expandedKeys;
304
299
  }
305
300
 
306
301
  /**
@@ -20,7 +20,7 @@ export declare class RowDetailsMixinClass<TItem> {
20
20
  /**
21
21
  * An array containing references to items with open row details.
22
22
  */
23
- detailsOpenedItems: Array<TItem>;
23
+ detailsOpenedItems: TItem[];
24
24
 
25
25
  /**
26
26
  * Custom function for rendering the content of the row details.
@@ -13,7 +13,7 @@ export declare class SelectionMixinClass<TItem> {
13
13
  /**
14
14
  * An array that contains the selected items.
15
15
  */
16
- selectedItems: Array<TItem>;
16
+ selectedItems: TItem[];
17
17
 
18
18
  /**
19
19
  * Selects the given item.
@@ -27,13 +27,13 @@ export const SelectionMixin = (superClass) =>
27
27
  */
28
28
  __selectedKeys: {
29
29
  type: Object,
30
- value: () => new Set(),
30
+ computed: '__computeSelectedKeys(itemIdPath, selectedItems.*)',
31
31
  },
32
32
  };
33
33
  }
34
34
 
35
35
  static get observers() {
36
- return ['_updateSelectedKeys(itemIdPath, selectedItems.*)'];
36
+ return ['__selectedItemsChanged(itemIdPath, selectedItems.*)'];
37
37
  }
38
38
 
39
39
  /**
@@ -85,14 +85,19 @@ export const SelectionMixin = (superClass) =>
85
85
  }
86
86
 
87
87
  /** @private */
88
- _updateSelectedKeys() {
89
- const selectedItems = this.selectedItems || [];
90
- this.__selectedKeys = new Set();
91
- selectedItems.forEach((item) => {
92
- this.__selectedKeys.add(this.getItemId(item));
88
+ __selectedItemsChanged() {
89
+ this.requestContentUpdate();
90
+ }
91
+
92
+ /** @private */
93
+ __computeSelectedKeys(itemIdPath, selectedItems) {
94
+ const selected = selectedItems.base || [];
95
+ const selectedKeys = new Set();
96
+ selected.forEach((item) => {
97
+ selectedKeys.add(this.getItemId(item));
93
98
  });
94
99
 
95
- this.requestContentUpdate();
100
+ return selectedKeys;
96
101
  }
97
102
 
98
103
  /**
@@ -78,7 +78,7 @@ export type GridCellFocusEvent<TItem> = CustomEvent<{ context: GridEventContext<
78
78
  /**
79
79
  * Fired when the columns in the grid are reordered.
80
80
  */
81
- export type GridColumnReorderEvent<TItem> = CustomEvent<{ columns: GridColumn<TItem>[] }>;
81
+ export type GridColumnReorderEvent<TItem> = CustomEvent<{ columns: Array<GridColumn<TItem>> }>;
82
82
 
83
83
  /**
84
84
  * Fired when the grid column resize is finished.