@vaadin/grid 22.0.12 → 22.0.15
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 +9 -9
- package/src/vaadin-grid-a11y-mixin.js +5 -5
- package/src/vaadin-grid-active-item-mixin.d.ts +1 -1
- package/src/vaadin-grid-active-item-mixin.js +7 -7
- package/src/vaadin-grid-array-data-provider-mixin.d.ts +1 -1
- package/src/vaadin-grid-array-data-provider-mixin.js +4 -4
- package/src/vaadin-grid-column-group.js +41 -38
- package/src/vaadin-grid-column-reordering-mixin.d.ts +1 -1
- package/src/vaadin-grid-column-reordering-mixin.js +10 -10
- package/src/vaadin-grid-column-resizing-mixin.js +4 -4
- package/src/vaadin-grid-column.d.ts +2 -2
- package/src/vaadin-grid-column.js +19 -19
- package/src/vaadin-grid-data-provider-mixin.d.ts +2 -2
- package/src/vaadin-grid-data-provider-mixin.js +14 -14
- package/src/vaadin-grid-drag-and-drop-mixin.d.ts +1 -1
- package/src/vaadin-grid-drag-and-drop-mixin.js +9 -9
- package/src/vaadin-grid-dynamic-columns-mixin.js +3 -3
- package/src/vaadin-grid-event-context-mixin.d.ts +1 -1
- package/src/vaadin-grid-event-context-mixin.js +1 -1
- package/src/vaadin-grid-filter-column.js +1 -1
- package/src/vaadin-grid-filter-mixin.js +3 -3
- package/src/vaadin-grid-filter.d.ts +2 -2
- package/src/vaadin-grid-filter.js +2 -2
- package/src/vaadin-grid-keyboard-navigation-mixin.js +21 -16
- package/src/vaadin-grid-row-details-mixin.d.ts +2 -2
- package/src/vaadin-grid-row-details-mixin.js +4 -4
- package/src/vaadin-grid-scroll-mixin.js +3 -3
- package/src/vaadin-grid-selection-column.d.ts +2 -2
- package/src/vaadin-grid-selection-column.js +7 -7
- package/src/vaadin-grid-selection-mixin.d.ts +1 -1
- package/src/vaadin-grid-selection-mixin.js +21 -7
- package/src/vaadin-grid-sort-column.d.ts +2 -2
- package/src/vaadin-grid-sort-column.js +2 -2
- package/src/vaadin-grid-sort-mixin.js +5 -5
- package/src/vaadin-grid-sorter.d.ts +2 -2
- package/src/vaadin-grid-sorter.js +4 -4
- package/src/vaadin-grid-styles.js +1 -1
- package/src/vaadin-grid-styling-mixin.d.ts +1 -1
- package/src/vaadin-grid-styling-mixin.js +1 -1
- package/src/vaadin-grid-tree-column.js +2 -2
- package/src/vaadin-grid-tree-toggle.d.ts +2 -2
- package/src/vaadin-grid-tree-toggle.js +4 -4
- package/src/vaadin-grid.d.ts +5 -5
- package/src/vaadin-grid.js +36 -35
- package/theme/lumo/vaadin-grid-sorter-styles.js +1 -1
- package/theme/lumo/vaadin-grid-styles.js +2 -2
- package/theme/lumo/vaadin-grid-tree-toggle-styles.js +1 -1
- package/theme/material/vaadin-grid-sorter-styles.js +1 -1
- package/theme/material/vaadin-grid-styles.js +1 -1
- package/theme/material/vaadin-grid-tree-toggle-styles.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/grid",
|
|
3
|
-
"version": "22.0.
|
|
3
|
+
"version": "22.0.15",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -40,19 +40,19 @@
|
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@open-wc/dedupe-mixin": "^1.3.0",
|
|
42
42
|
"@polymer/polymer": "^3.0.0",
|
|
43
|
-
"@vaadin/checkbox": "^22.0.
|
|
44
|
-
"@vaadin/component-base": "^22.0.
|
|
45
|
-
"@vaadin/text-field": "^22.0.
|
|
46
|
-
"@vaadin/vaadin-lumo-styles": "^22.0.
|
|
47
|
-
"@vaadin/vaadin-material-styles": "^22.0.
|
|
48
|
-
"@vaadin/vaadin-themable-mixin": "^22.0.
|
|
43
|
+
"@vaadin/checkbox": "^22.0.15",
|
|
44
|
+
"@vaadin/component-base": "^22.0.15",
|
|
45
|
+
"@vaadin/text-field": "^22.0.15",
|
|
46
|
+
"@vaadin/vaadin-lumo-styles": "^22.0.15",
|
|
47
|
+
"@vaadin/vaadin-material-styles": "^22.0.15",
|
|
48
|
+
"@vaadin/vaadin-themable-mixin": "^22.0.15"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@esm-bundle/chai": "^4.3.4",
|
|
52
|
-
"@vaadin/polymer-legacy-adapter": "^22.0.
|
|
52
|
+
"@vaadin/polymer-legacy-adapter": "^22.0.15",
|
|
53
53
|
"@vaadin/testing-helpers": "^0.3.2",
|
|
54
54
|
"lit": "^2.0.0",
|
|
55
55
|
"sinon": "^9.2.0"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "bba021b56ba45da93d2bb980242956ad929ecfe2"
|
|
58
58
|
}
|
|
@@ -32,7 +32,7 @@ export const A11yMixin = (superClass) =>
|
|
|
32
32
|
const bodyColumns = _columnTree[_columnTree.length - 1];
|
|
33
33
|
this.$.table.setAttribute(
|
|
34
34
|
'aria-rowcount',
|
|
35
|
-
size + this._a11yGetHeaderRowCount(_columnTree) + this._a11yGetFooterRowCount(_columnTree)
|
|
35
|
+
size + this._a11yGetHeaderRowCount(_columnTree) + this._a11yGetFooterRowCount(_columnTree),
|
|
36
36
|
);
|
|
37
37
|
this.$.table.setAttribute('aria-colcount', (bodyColumns && bodyColumns.length) || 0);
|
|
38
38
|
|
|
@@ -43,14 +43,14 @@ export const A11yMixin = (superClass) =>
|
|
|
43
43
|
/** @protected */
|
|
44
44
|
_a11yUpdateHeaderRows() {
|
|
45
45
|
Array.from(this.$.header.children).forEach((headerRow, index) =>
|
|
46
|
-
headerRow.setAttribute('aria-rowindex', index + 1)
|
|
46
|
+
headerRow.setAttribute('aria-rowindex', index + 1),
|
|
47
47
|
);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
/** @protected */
|
|
51
51
|
_a11yUpdateFooterRows() {
|
|
52
52
|
Array.from(this.$.footer.children).forEach((footerRow, index) =>
|
|
53
|
-
footerRow.setAttribute('aria-rowindex', this._a11yGetHeaderRowCount(this._columnTree) + this.size + index + 1)
|
|
53
|
+
footerRow.setAttribute('aria-rowindex', this._a11yGetHeaderRowCount(this._columnTree) + this.size + index + 1),
|
|
54
54
|
);
|
|
55
55
|
}
|
|
56
56
|
|
|
@@ -137,8 +137,8 @@ export const A11yMixin = (superClass) =>
|
|
|
137
137
|
'aria-sort',
|
|
138
138
|
{
|
|
139
139
|
asc: 'ascending',
|
|
140
|
-
desc: 'descending'
|
|
141
|
-
}[String(sorter.direction)] || 'none'
|
|
140
|
+
desc: 'descending',
|
|
141
|
+
}[String(sorter.direction)] || 'none',
|
|
142
142
|
);
|
|
143
143
|
}
|
|
144
144
|
});
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { Constructor } from '@open-wc/dedupe-mixin';
|
|
7
7
|
|
|
8
8
|
export declare function ActiveItemMixin<TItem, T extends Constructor<HTMLElement>>(
|
|
9
|
-
base: T
|
|
9
|
+
base: T,
|
|
10
10
|
): T & Constructor<ActiveItemMixinClass<TItem>>;
|
|
11
11
|
|
|
12
12
|
export declare class ActiveItemMixinClass<TItem> {
|
|
@@ -19,8 +19,8 @@ export const ActiveItemMixin = (superClass) =>
|
|
|
19
19
|
activeItem: {
|
|
20
20
|
type: Object,
|
|
21
21
|
notify: true,
|
|
22
|
-
value: null
|
|
23
|
-
}
|
|
22
|
+
value: null,
|
|
23
|
+
},
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -68,9 +68,9 @@ export const ActiveItemMixin = (superClass) =>
|
|
|
68
68
|
this.dispatchEvent(
|
|
69
69
|
new CustomEvent('cell-activate', {
|
|
70
70
|
detail: {
|
|
71
|
-
model: this.__getRowModel(cell.parentElement)
|
|
72
|
-
}
|
|
73
|
-
})
|
|
71
|
+
model: this.__getRowModel(cell.parentElement),
|
|
72
|
+
},
|
|
73
|
+
}),
|
|
74
74
|
);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
@@ -108,8 +108,8 @@ export const isFocusable = (target) => {
|
|
|
108
108
|
}
|
|
109
109
|
const focusables = Array.from(
|
|
110
110
|
target.parentNode.querySelectorAll(
|
|
111
|
-
'[tabindex], button, input, select, textarea, object, iframe, label, a[href], area[href]'
|
|
112
|
-
)
|
|
111
|
+
'[tabindex], button, input, select, textarea, object, iframe, label, a[href], area[href]',
|
|
112
|
+
),
|
|
113
113
|
).filter((element) => element.getAttribute('part') !== 'cell body-cell');
|
|
114
114
|
|
|
115
115
|
const isFocusableElement = focusables.indexOf(target) !== -1;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { Constructor } from '@open-wc/dedupe-mixin';
|
|
7
7
|
|
|
8
8
|
export declare function ArrayDataProviderMixin<TItem, T extends Constructor<HTMLElement>>(
|
|
9
|
-
base: T
|
|
9
|
+
base: T,
|
|
10
10
|
): T & Constructor<ArrayDataProviderMixinClass<TItem>>;
|
|
11
11
|
|
|
12
12
|
export declare class ArrayDataProviderMixinClass<TItem> {
|
|
@@ -17,7 +17,7 @@ export const ArrayDataProviderMixin = (superClass) =>
|
|
|
17
17
|
*
|
|
18
18
|
* @type {Array<!GridItem> | undefined}
|
|
19
19
|
*/
|
|
20
|
-
items: Array
|
|
20
|
+
items: Array,
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
|
|
@@ -32,7 +32,7 @@ export const ArrayDataProviderMixin = (superClass) =>
|
|
|
32
32
|
this.setProperties({
|
|
33
33
|
_arrayDataProvider: arrayDataProvider,
|
|
34
34
|
size: items.length,
|
|
35
|
-
dataProvider: arrayDataProvider
|
|
35
|
+
dataProvider: arrayDataProvider,
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -49,14 +49,14 @@ export const ArrayDataProviderMixin = (superClass) =>
|
|
|
49
49
|
// A custom data provider was set externally
|
|
50
50
|
this.setProperties({
|
|
51
51
|
_arrayDataProvider: undefined,
|
|
52
|
-
items: undefined
|
|
52
|
+
items: undefined,
|
|
53
53
|
});
|
|
54
54
|
} else if (!items) {
|
|
55
55
|
// The items array was unset
|
|
56
56
|
this.setProperties({
|
|
57
57
|
_arrayDataProvider: undefined,
|
|
58
58
|
dataProvider: undefined,
|
|
59
|
-
size: 0
|
|
59
|
+
size: 0,
|
|
60
60
|
});
|
|
61
61
|
this.clearCache();
|
|
62
62
|
} else if (this._arrayDataProvider.__items === items) {
|
|
@@ -52,7 +52,7 @@ class GridColumnGroup extends ColumnBaseMixin(PolymerElement) {
|
|
|
52
52
|
_childColumns: {
|
|
53
53
|
value: function () {
|
|
54
54
|
return this._getChildColumns(this);
|
|
55
|
-
}
|
|
55
|
+
},
|
|
56
56
|
},
|
|
57
57
|
|
|
58
58
|
/**
|
|
@@ -61,7 +61,7 @@ class GridColumnGroup extends ColumnBaseMixin(PolymerElement) {
|
|
|
61
61
|
*/
|
|
62
62
|
flexGrow: {
|
|
63
63
|
type: Number,
|
|
64
|
-
readOnly: true
|
|
64
|
+
readOnly: true,
|
|
65
65
|
},
|
|
66
66
|
|
|
67
67
|
/**
|
|
@@ -69,7 +69,7 @@ class GridColumnGroup extends ColumnBaseMixin(PolymerElement) {
|
|
|
69
69
|
*/
|
|
70
70
|
width: {
|
|
71
71
|
type: String,
|
|
72
|
-
readOnly: true
|
|
72
|
+
readOnly: true,
|
|
73
73
|
},
|
|
74
74
|
|
|
75
75
|
/** @private */
|
|
@@ -79,21 +79,18 @@ class GridColumnGroup extends ColumnBaseMixin(PolymerElement) {
|
|
|
79
79
|
_colSpan: Number,
|
|
80
80
|
|
|
81
81
|
/** @private */
|
|
82
|
-
_rootColumns: Array
|
|
82
|
+
_rootColumns: Array,
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
static get observers() {
|
|
87
87
|
return [
|
|
88
|
-
'_updateVisibleChildColumns(_childColumns)',
|
|
89
|
-
'_childColumnsChanged(_childColumns)',
|
|
90
88
|
'_groupFrozenChanged(frozen, _rootColumns)',
|
|
91
|
-
'_groupHiddenChanged(hidden
|
|
92
|
-
'_visibleChildColumnsChanged(_visibleChildColumns)',
|
|
89
|
+
'_groupHiddenChanged(hidden)',
|
|
93
90
|
'_colSpanChanged(_colSpan, _headerCell, _footerCell)',
|
|
94
91
|
'_groupOrderChanged(_order, _rootColumns)',
|
|
95
92
|
'_groupReorderStatusChanged(_reorderStatus, _rootColumns)',
|
|
96
|
-
'_groupResizableChanged(resizable, _rootColumns)'
|
|
93
|
+
'_groupResizableChanged(resizable, _rootColumns)',
|
|
97
94
|
];
|
|
98
95
|
}
|
|
99
96
|
|
|
@@ -117,9 +114,12 @@ class GridColumnGroup extends ColumnBaseMixin(PolymerElement) {
|
|
|
117
114
|
*/
|
|
118
115
|
_columnPropChanged(path, value) {
|
|
119
116
|
if (path === 'hidden') {
|
|
120
|
-
|
|
117
|
+
// Prevent synchronization of the hidden state to child columns.
|
|
118
|
+
// If the group is currently auto-hidden, and one column is made visible,
|
|
119
|
+
// we don't want the other columns to become visible as well.
|
|
120
|
+
this._preventHiddenSynchronization = true;
|
|
121
121
|
this._updateVisibleChildColumns(this._childColumns);
|
|
122
|
-
this.
|
|
122
|
+
this._preventHiddenSynchronization = false;
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
if (/flexGrow|width|hidden|_childColumns/.test(path)) {
|
|
@@ -192,14 +192,8 @@ class GridColumnGroup extends ColumnBaseMixin(PolymerElement) {
|
|
|
192
192
|
/** @private */
|
|
193
193
|
_updateVisibleChildColumns(childColumns) {
|
|
194
194
|
this._visibleChildColumns = Array.prototype.filter.call(childColumns, (col) => !col.hidden);
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
/** @private */
|
|
198
|
-
_childColumnsChanged(childColumns) {
|
|
199
|
-
if (!this._autoHidden && this.hidden) {
|
|
200
|
-
Array.prototype.forEach.call(childColumns, (column) => (column.hidden = true));
|
|
201
|
-
this._updateVisibleChildColumns(childColumns);
|
|
202
|
-
}
|
|
195
|
+
this._colSpan = this._visibleChildColumns.length;
|
|
196
|
+
this._updateAutoHidden();
|
|
203
197
|
}
|
|
204
198
|
|
|
205
199
|
/** @protected */
|
|
@@ -215,10 +209,10 @@ class GridColumnGroup extends ColumnBaseMixin(PolymerElement) {
|
|
|
215
209
|
.call(
|
|
216
210
|
this._visibleChildColumns,
|
|
217
211
|
(prev, curr) => (prev += ' + ' + (curr.width || '0px').replace('calc', '')),
|
|
218
|
-
''
|
|
212
|
+
'',
|
|
219
213
|
)
|
|
220
214
|
.substring(3) +
|
|
221
|
-
')'
|
|
215
|
+
')',
|
|
222
216
|
);
|
|
223
217
|
} else {
|
|
224
218
|
this._setWidth('0px');
|
|
@@ -240,26 +234,31 @@ class GridColumnGroup extends ColumnBaseMixin(PolymerElement) {
|
|
|
240
234
|
}
|
|
241
235
|
|
|
242
236
|
/** @private */
|
|
243
|
-
_groupHiddenChanged(hidden
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
237
|
+
_groupHiddenChanged(hidden) {
|
|
238
|
+
// When initializing the hidden property, only sync hidden state to columns
|
|
239
|
+
// if group is actually hidden. Otherwise, we could override a hidden column
|
|
240
|
+
// to be visible.
|
|
241
|
+
// We always want to run this though if the property is actually changed.
|
|
242
|
+
if (hidden || this.__groupHiddenInitialized) {
|
|
243
|
+
this._synchronizeHidden();
|
|
248
244
|
}
|
|
245
|
+
this.__groupHiddenInitialized = true;
|
|
246
|
+
}
|
|
249
247
|
|
|
250
|
-
|
|
248
|
+
/** @private */
|
|
249
|
+
_updateAutoHidden() {
|
|
250
|
+
const wasAutoHidden = this._autoHidden;
|
|
251
|
+
this._autoHidden = (this._visibleChildColumns || []).length === 0;
|
|
252
|
+
// Only modify hidden state if group was auto-hidden, or becomes auto-hidden
|
|
253
|
+
if (wasAutoHidden || this._autoHidden) {
|
|
254
|
+
this.hidden = this._autoHidden;
|
|
255
|
+
}
|
|
251
256
|
}
|
|
252
257
|
|
|
253
258
|
/** @private */
|
|
254
|
-
|
|
255
|
-
this.
|
|
256
|
-
|
|
257
|
-
if (!this._ignoreVisibleChildColumns) {
|
|
258
|
-
if (visibleChildColumns.length === 0) {
|
|
259
|
-
this._autoHidden = this.hidden = true;
|
|
260
|
-
} else if (this.hidden && this._autoHidden) {
|
|
261
|
-
this._autoHidden = this.hidden = false;
|
|
262
|
-
}
|
|
259
|
+
_synchronizeHidden() {
|
|
260
|
+
if (this._childColumns && !this._preventHiddenSynchronization) {
|
|
261
|
+
this._childColumns.forEach((column) => (column.hidden = this.hidden));
|
|
263
262
|
}
|
|
264
263
|
}
|
|
265
264
|
|
|
@@ -291,10 +290,14 @@ class GridColumnGroup extends ColumnBaseMixin(PolymerElement) {
|
|
|
291
290
|
info.addedNodes.filter(this._isColumnElement).length > 0 ||
|
|
292
291
|
info.removedNodes.filter(this._isColumnElement).length > 0
|
|
293
292
|
) {
|
|
294
|
-
|
|
293
|
+
// Prevent synchronization of the hidden state to child columns.
|
|
294
|
+
// If the group is currently auto-hidden, and a visible column is added,
|
|
295
|
+
// we don't want the other columns to become visible as well.
|
|
296
|
+
this._preventHiddenSynchronization = true;
|
|
295
297
|
this._rootColumns = this._getChildColumns(this);
|
|
296
298
|
this._childColumns = this._rootColumns;
|
|
297
|
-
this.
|
|
299
|
+
this._updateVisibleChildColumns(this._childColumns);
|
|
300
|
+
this._preventHiddenSynchronization = false;
|
|
298
301
|
|
|
299
302
|
// Update the column tree with microtask timing to avoid shady style scope issues
|
|
300
303
|
microTask.run(() => {
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { Constructor } from '@open-wc/dedupe-mixin';
|
|
7
7
|
|
|
8
8
|
export declare function ColumnReorderingMixin<T extends Constructor<HTMLElement>>(
|
|
9
|
-
base: T
|
|
9
|
+
base: T,
|
|
10
10
|
): T & Constructor<ColumnReorderingMixinClass>;
|
|
11
11
|
|
|
12
12
|
export declare class ColumnReorderingMixinClass {
|
|
@@ -21,14 +21,14 @@ export const ColumnReorderingMixin = (superClass) =>
|
|
|
21
21
|
*/
|
|
22
22
|
columnReorderingAllowed: {
|
|
23
23
|
type: Boolean,
|
|
24
|
-
value: false
|
|
24
|
+
value: false,
|
|
25
25
|
},
|
|
26
26
|
|
|
27
27
|
/** @private */
|
|
28
28
|
_orderBaseScope: {
|
|
29
29
|
type: Number,
|
|
30
|
-
value: 10000000
|
|
31
|
-
}
|
|
30
|
+
value: 10000000,
|
|
31
|
+
},
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
|
|
@@ -61,8 +61,8 @@ export const ColumnReorderingMixin = (superClass) =>
|
|
|
61
61
|
this._onTrackStart({
|
|
62
62
|
detail: {
|
|
63
63
|
x: e.touches[0].clientX,
|
|
64
|
-
y: e.touches[0].clientY
|
|
65
|
-
}
|
|
64
|
+
y: e.touches[0].clientY,
|
|
65
|
+
},
|
|
66
66
|
});
|
|
67
67
|
}, 100);
|
|
68
68
|
}
|
|
@@ -185,9 +185,9 @@ export const ColumnReorderingMixin = (superClass) =>
|
|
|
185
185
|
this.dispatchEvent(
|
|
186
186
|
new CustomEvent('column-reorder', {
|
|
187
187
|
detail: {
|
|
188
|
-
columns: this._getColumnsInOrder()
|
|
189
|
-
}
|
|
190
|
-
})
|
|
188
|
+
columns: this._getColumnsInOrder(),
|
|
189
|
+
},
|
|
190
|
+
}),
|
|
191
191
|
);
|
|
192
192
|
}
|
|
193
193
|
|
|
@@ -262,7 +262,7 @@ export const ColumnReorderingMixin = (superClass) =>
|
|
|
262
262
|
'padding',
|
|
263
263
|
'border',
|
|
264
264
|
'flex-direction',
|
|
265
|
-
'overflow'
|
|
265
|
+
'overflow',
|
|
266
266
|
].forEach((propertyName) => (ghost.style[propertyName] = style[propertyName]));
|
|
267
267
|
return ghost;
|
|
268
268
|
}
|
|
@@ -331,7 +331,7 @@ export const ColumnReorderingMixin = (superClass) =>
|
|
|
331
331
|
*/
|
|
332
332
|
_isSwappableByPosition(targetColumn, clientX) {
|
|
333
333
|
const targetCell = Array.from(this.$.header.querySelectorAll('tr:not([hidden]) [part~="cell"]')).filter((cell) =>
|
|
334
|
-
targetColumn.contains(cell._column)
|
|
334
|
+
targetColumn.contains(cell._column),
|
|
335
335
|
)[0];
|
|
336
336
|
const sourceCellRect = this.$.header
|
|
337
337
|
.querySelector('tr:not([hidden]) [reorder-status=dragging]')
|
|
@@ -22,13 +22,13 @@ export const ColumnResizingMixin = (superClass) =>
|
|
|
22
22
|
// Disable contextmenu on any resize separator.
|
|
23
23
|
scroller.addEventListener(
|
|
24
24
|
'contextmenu',
|
|
25
|
-
(e) => e.target.getAttribute('part') == 'resize-handle' && e.preventDefault()
|
|
25
|
+
(e) => e.target.getAttribute('part') == 'resize-handle' && e.preventDefault(),
|
|
26
26
|
);
|
|
27
27
|
|
|
28
28
|
// Disable native cell focus when resizing
|
|
29
29
|
scroller.addEventListener(
|
|
30
30
|
'mousedown',
|
|
31
|
-
(e) => e.target.getAttribute('part') === 'resize-handle' && e.preventDefault()
|
|
31
|
+
(e) => e.target.getAttribute('part') === 'resize-handle' && e.preventDefault(),
|
|
32
32
|
);
|
|
33
33
|
}
|
|
34
34
|
|
|
@@ -91,8 +91,8 @@ export const ColumnResizingMixin = (superClass) =>
|
|
|
91
91
|
this.$.scroller.toggleAttribute('column-resizing', false);
|
|
92
92
|
this.dispatchEvent(
|
|
93
93
|
new CustomEvent('column-resize', {
|
|
94
|
-
detail: { resizedColumn: column }
|
|
95
|
-
})
|
|
94
|
+
detail: { resizedColumn: column },
|
|
95
|
+
}),
|
|
96
96
|
);
|
|
97
97
|
}
|
|
98
98
|
|
|
@@ -9,7 +9,7 @@ import { GridDefaultItem, GridItemModel } from './vaadin-grid.js';
|
|
|
9
9
|
export type GridBodyRenderer<TItem> = (
|
|
10
10
|
root: HTMLElement,
|
|
11
11
|
column: GridColumn<TItem>,
|
|
12
|
-
model: GridItemModel<TItem
|
|
12
|
+
model: GridItemModel<TItem>,
|
|
13
13
|
) => void;
|
|
14
14
|
|
|
15
15
|
export type GridColumnTextAlign = 'start' | 'center' | 'end' | null;
|
|
@@ -17,7 +17,7 @@ export type GridColumnTextAlign = 'start' | 'center' | 'end' | null;
|
|
|
17
17
|
export type GridHeaderFooterRenderer<TItem> = (root: HTMLElement, column: GridColumn<TItem>) => void;
|
|
18
18
|
|
|
19
19
|
export declare function ColumnBaseMixin<TItem, T extends Constructor<HTMLElement>>(
|
|
20
|
-
base: T
|
|
20
|
+
base: T,
|
|
21
21
|
): T & Constructor<ColumnBaseMixinClass<TItem>>;
|
|
22
22
|
|
|
23
23
|
export declare class ColumnBaseMixinClass<TItem> {
|
|
@@ -33,7 +33,7 @@ export const ColumnBaseMixin = (superClass) =>
|
|
|
33
33
|
} else {
|
|
34
34
|
return false;
|
|
35
35
|
}
|
|
36
|
-
}
|
|
36
|
+
},
|
|
37
37
|
},
|
|
38
38
|
|
|
39
39
|
/**
|
|
@@ -43,7 +43,7 @@ export const ColumnBaseMixin = (superClass) =>
|
|
|
43
43
|
*/
|
|
44
44
|
frozen: {
|
|
45
45
|
type: Boolean,
|
|
46
|
-
value: false
|
|
46
|
+
value: false,
|
|
47
47
|
},
|
|
48
48
|
|
|
49
49
|
/**
|
|
@@ -51,14 +51,14 @@ export const ColumnBaseMixin = (superClass) =>
|
|
|
51
51
|
*/
|
|
52
52
|
hidden: {
|
|
53
53
|
type: Boolean,
|
|
54
|
-
value: false
|
|
54
|
+
value: false,
|
|
55
55
|
},
|
|
56
56
|
|
|
57
57
|
/**
|
|
58
58
|
* Text content to display in the header cell of the column.
|
|
59
59
|
*/
|
|
60
60
|
header: {
|
|
61
|
-
type: String
|
|
61
|
+
type: String,
|
|
62
62
|
},
|
|
63
63
|
|
|
64
64
|
/**
|
|
@@ -68,7 +68,7 @@ export const ColumnBaseMixin = (superClass) =>
|
|
|
68
68
|
* @type {GridColumnTextAlign | null | undefined}
|
|
69
69
|
*/
|
|
70
70
|
textAlign: {
|
|
71
|
-
type: String
|
|
71
|
+
type: String,
|
|
72
72
|
},
|
|
73
73
|
|
|
74
74
|
/**
|
|
@@ -77,7 +77,7 @@ export const ColumnBaseMixin = (superClass) =>
|
|
|
77
77
|
*/
|
|
78
78
|
_lastFrozen: {
|
|
79
79
|
type: Boolean,
|
|
80
|
-
value: false
|
|
80
|
+
value: false,
|
|
81
81
|
},
|
|
82
82
|
|
|
83
83
|
/** @protected */
|
|
@@ -111,7 +111,7 @@ export const ColumnBaseMixin = (superClass) =>
|
|
|
111
111
|
*/
|
|
112
112
|
__initialized: {
|
|
113
113
|
type: Boolean,
|
|
114
|
-
value: true
|
|
114
|
+
value: true,
|
|
115
115
|
},
|
|
116
116
|
|
|
117
117
|
/**
|
|
@@ -134,7 +134,7 @@ export const ColumnBaseMixin = (superClass) =>
|
|
|
134
134
|
*/
|
|
135
135
|
_headerRenderer: {
|
|
136
136
|
type: Function,
|
|
137
|
-
computed: '_computeHeaderRenderer(headerRenderer, header, __initialized)'
|
|
137
|
+
computed: '_computeHeaderRenderer(headerRenderer, header, __initialized)',
|
|
138
138
|
},
|
|
139
139
|
|
|
140
140
|
/**
|
|
@@ -157,7 +157,7 @@ export const ColumnBaseMixin = (superClass) =>
|
|
|
157
157
|
*/
|
|
158
158
|
_footerRenderer: {
|
|
159
159
|
type: Function,
|
|
160
|
-
computed: '_computeFooterRenderer(footerRenderer, __initialized)'
|
|
160
|
+
computed: '_computeFooterRenderer(footerRenderer, __initialized)',
|
|
161
161
|
},
|
|
162
162
|
|
|
163
163
|
/**
|
|
@@ -168,8 +168,8 @@ export const ColumnBaseMixin = (superClass) =>
|
|
|
168
168
|
*/
|
|
169
169
|
__gridColumnElement: {
|
|
170
170
|
type: Boolean,
|
|
171
|
-
value: true
|
|
172
|
-
}
|
|
171
|
+
value: true,
|
|
172
|
+
},
|
|
173
173
|
};
|
|
174
174
|
}
|
|
175
175
|
|
|
@@ -186,7 +186,7 @@ export const ColumnBaseMixin = (superClass) =>
|
|
|
186
186
|
'_onFooterRendererOrBindingChanged(_footerRenderer, _footerCell)',
|
|
187
187
|
'_resizableChanged(resizable, _headerCell)',
|
|
188
188
|
'_reorderStatusChanged(_reorderStatus, _headerCell, _footerCell, _cells.*)',
|
|
189
|
-
'_hiddenChanged(hidden, _headerCell, _footerCell, _cells.*)'
|
|
189
|
+
'_hiddenChanged(hidden, _headerCell, _footerCell, _cells.*)',
|
|
190
190
|
];
|
|
191
191
|
}
|
|
192
192
|
|
|
@@ -417,7 +417,7 @@ export const ColumnBaseMixin = (superClass) =>
|
|
|
417
417
|
if (this._grid && this._grid._renderColumnTree) {
|
|
418
418
|
this._grid._renderColumnTree(this._grid._columnTree);
|
|
419
419
|
}
|
|
420
|
-
}
|
|
420
|
+
},
|
|
421
421
|
);
|
|
422
422
|
|
|
423
423
|
this._grid._updateLastFrozen && this._grid._updateLastFrozen();
|
|
@@ -665,7 +665,7 @@ class GridColumn extends ColumnBaseMixin(DirMixin(PolymerElement)) {
|
|
|
665
665
|
*/
|
|
666
666
|
width: {
|
|
667
667
|
type: String,
|
|
668
|
-
value: '100px'
|
|
668
|
+
value: '100px',
|
|
669
669
|
},
|
|
670
670
|
|
|
671
671
|
/**
|
|
@@ -675,7 +675,7 @@ class GridColumn extends ColumnBaseMixin(DirMixin(PolymerElement)) {
|
|
|
675
675
|
*/
|
|
676
676
|
flexGrow: {
|
|
677
677
|
type: Number,
|
|
678
|
-
value: 1
|
|
678
|
+
value: 1,
|
|
679
679
|
},
|
|
680
680
|
|
|
681
681
|
/**
|
|
@@ -706,7 +706,7 @@ class GridColumn extends ColumnBaseMixin(DirMixin(PolymerElement)) {
|
|
|
706
706
|
*/
|
|
707
707
|
_renderer: {
|
|
708
708
|
type: Function,
|
|
709
|
-
computed: '_computeRenderer(renderer, __initialized)'
|
|
709
|
+
computed: '_computeRenderer(renderer, __initialized)',
|
|
710
710
|
},
|
|
711
711
|
|
|
712
712
|
/**
|
|
@@ -714,7 +714,7 @@ class GridColumn extends ColumnBaseMixin(DirMixin(PolymerElement)) {
|
|
|
714
714
|
* The property name is also shown in the column header if an explicit header or renderer isn't defined.
|
|
715
715
|
*/
|
|
716
716
|
path: {
|
|
717
|
-
type: String
|
|
717
|
+
type: String,
|
|
718
718
|
},
|
|
719
719
|
|
|
720
720
|
/**
|
|
@@ -736,14 +736,14 @@ class GridColumn extends ColumnBaseMixin(DirMixin(PolymerElement)) {
|
|
|
736
736
|
*/
|
|
737
737
|
autoWidth: {
|
|
738
738
|
type: Boolean,
|
|
739
|
-
value: false
|
|
739
|
+
value: false,
|
|
740
740
|
},
|
|
741
741
|
|
|
742
742
|
/**
|
|
743
743
|
* @type {Array<!HTMLElement>}
|
|
744
744
|
* @protected
|
|
745
745
|
*/
|
|
746
|
-
_cells: Array
|
|
746
|
+
_cells: Array,
|
|
747
747
|
};
|
|
748
748
|
}
|
|
749
749
|
}
|
|
@@ -30,7 +30,7 @@ export type GridDataProviderParams<TItem> = {
|
|
|
30
30
|
|
|
31
31
|
export type GridDataProvider<TItem> = (
|
|
32
32
|
params: GridDataProviderParams<TItem>,
|
|
33
|
-
callback: GridDataProviderCallback<TItem
|
|
33
|
+
callback: GridDataProviderCallback<TItem>,
|
|
34
34
|
) => void;
|
|
35
35
|
|
|
36
36
|
export declare class ItemCache<TItem> {
|
|
@@ -57,7 +57,7 @@ export declare class ItemCache<TItem> {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
export declare function DataProviderMixin<TItem, T extends Constructor<HTMLElement>>(
|
|
60
|
-
base: T
|
|
60
|
+
base: T,
|
|
61
61
|
): T & Constructor<DataProviderMixinClass<TItem>>;
|
|
62
62
|
|
|
63
63
|
export declare class DataProviderMixinClass<TItem> {
|