@vaadin/grid 23.1.0-beta2 → 23.1.0-rc1
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 +10 -10
- package/src/lit/column-renderer-directives.js +2 -2
- package/src/vaadin-grid-data-provider-mixin.d.ts +3 -3
- package/src/vaadin-grid-data-provider-mixin.js +9 -14
- package/src/vaadin-grid-row-details-mixin.d.ts +1 -1
- package/src/vaadin-grid-selection-mixin.d.ts +1 -1
- package/src/vaadin-grid-selection-mixin.js +24 -5
- package/src/vaadin-grid.d.ts +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/grid",
|
|
3
|
-
"version": "23.1.0-
|
|
3
|
+
"version": "23.1.0-rc1",
|
|
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-
|
|
47
|
-
"@vaadin/component-base": "23.1.0-
|
|
48
|
-
"@vaadin/lit-renderer": "23.1.0-
|
|
49
|
-
"@vaadin/text-field": "23.1.0-
|
|
50
|
-
"@vaadin/vaadin-lumo-styles": "23.1.0-
|
|
51
|
-
"@vaadin/vaadin-material-styles": "23.1.0-
|
|
52
|
-
"@vaadin/vaadin-themable-mixin": "23.1.0-
|
|
46
|
+
"@vaadin/checkbox": "23.1.0-rc1",
|
|
47
|
+
"@vaadin/component-base": "23.1.0-rc1",
|
|
48
|
+
"@vaadin/lit-renderer": "23.1.0-rc1",
|
|
49
|
+
"@vaadin/text-field": "23.1.0-rc1",
|
|
50
|
+
"@vaadin/vaadin-lumo-styles": "23.1.0-rc1",
|
|
51
|
+
"@vaadin/vaadin-material-styles": "23.1.0-rc1",
|
|
52
|
+
"@vaadin/vaadin-themable-mixin": "23.1.0-rc1"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@esm-bundle/chai": "^4.3.4",
|
|
56
|
-
"@vaadin/polymer-legacy-adapter": "23.1.0-
|
|
56
|
+
"@vaadin/polymer-legacy-adapter": "23.1.0-rc1",
|
|
57
57
|
"@vaadin/testing-helpers": "^0.3.2",
|
|
58
58
|
"lit": "^2.0.0",
|
|
59
59
|
"sinon": "^13.0.2"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "5ecb85e16e938df827fefca4bd2a665a1e29913e"
|
|
62
62
|
}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
/* eslint-disable max-classes-per-file */
|
|
7
7
|
import { directive } from 'lit/directive.js';
|
|
8
|
-
import { microTask } from '@vaadin/component-base/src/async';
|
|
9
|
-
import { Debouncer } from '@vaadin/component-base/src/debounce';
|
|
8
|
+
import { microTask } from '@vaadin/component-base/src/async.js';
|
|
9
|
+
import { Debouncer } from '@vaadin/component-base/src/debounce.js';
|
|
10
10
|
import { LitRendererDirective } from '@vaadin/lit-renderer';
|
|
11
11
|
import { CONTENT_UPDATE_DEBOUNCER } from './renderer-directives.js';
|
|
12
12
|
|
|
@@ -18,13 +18,13 @@ export interface GridSorterDefinition {
|
|
|
18
18
|
direction: GridSorterDirection;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
export type GridDataProviderCallback<TItem> = (items:
|
|
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:
|
|
27
|
-
sortOrders:
|
|
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
|
-
|
|
222
|
+
computed: '__computeExpandedKeys(itemIdPath, expandedItems.*)',
|
|
223
223
|
},
|
|
224
224
|
};
|
|
225
225
|
}
|
|
226
226
|
|
|
227
227
|
static get observers() {
|
|
228
|
-
return ['_sizeChanged(size)', '
|
|
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
|
-
|
|
293
|
-
|
|
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
|
-
|
|
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:
|
|
23
|
+
detailsOpenedItems: TItem[];
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* Custom function for rendering the content of the row details.
|
|
@@ -20,11 +20,20 @@ export const SelectionMixin = (superClass) =>
|
|
|
20
20
|
notify: true,
|
|
21
21
|
value: () => [],
|
|
22
22
|
},
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Set of selected item ids
|
|
26
|
+
* @private
|
|
27
|
+
*/
|
|
28
|
+
__selectedKeys: {
|
|
29
|
+
type: Object,
|
|
30
|
+
computed: '__computeSelectedKeys(itemIdPath, selectedItems.*)',
|
|
31
|
+
},
|
|
23
32
|
};
|
|
24
33
|
}
|
|
25
34
|
|
|
26
35
|
static get observers() {
|
|
27
|
-
return ['
|
|
36
|
+
return ['__selectedItemsChanged(itemIdPath, selectedItems.*)'];
|
|
28
37
|
}
|
|
29
38
|
|
|
30
39
|
/**
|
|
@@ -33,7 +42,7 @@ export const SelectionMixin = (superClass) =>
|
|
|
33
42
|
* @protected
|
|
34
43
|
*/
|
|
35
44
|
_isSelected(item) {
|
|
36
|
-
return this.
|
|
45
|
+
return this.__selectedKeys.has(this.getItemId(item));
|
|
37
46
|
}
|
|
38
47
|
|
|
39
48
|
/**
|
|
@@ -68,8 +77,7 @@ export const SelectionMixin = (superClass) =>
|
|
|
68
77
|
* @protected
|
|
69
78
|
*/
|
|
70
79
|
_toggleItem(item) {
|
|
71
|
-
|
|
72
|
-
if (index === -1) {
|
|
80
|
+
if (!this._isSelected(item)) {
|
|
73
81
|
this.selectItem(item);
|
|
74
82
|
} else {
|
|
75
83
|
this.deselectItem(item);
|
|
@@ -77,10 +85,21 @@ export const SelectionMixin = (superClass) =>
|
|
|
77
85
|
}
|
|
78
86
|
|
|
79
87
|
/** @private */
|
|
80
|
-
|
|
88
|
+
__selectedItemsChanged() {
|
|
81
89
|
this.requestContentUpdate();
|
|
82
90
|
}
|
|
83
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));
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
return selectedKeys;
|
|
101
|
+
}
|
|
102
|
+
|
|
84
103
|
/**
|
|
85
104
|
* Fired when the `selectedItems` property changes.
|
|
86
105
|
*
|
package/src/vaadin-grid.d.ts
CHANGED
|
@@ -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.
|