Skip to content

Commit ab7926f

Browse files
authored
fix!: update vaadin-grid-selection-column to use autoWidth: true (#7232)
1 parent 7254cc0 commit ab7926f

20 files changed

+65
-0
lines changed

packages/grid/src/vaadin-grid-selection-column-base-mixin.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,14 @@ export const GridSelectionColumnBaseMixin = (superClass) =>
3131
sync: true,
3232
},
3333

34+
/**
35+
* Override `autoWidth` to enable auto-width
36+
*/
37+
autoWidth: {
38+
type: Boolean,
39+
value: true,
40+
},
41+
3442
/**
3543
* Flex grow ratio for the cell widths. When set to 0, cell width is fixed.
3644
* @attr {number} flex-grow

packages/grid/test/visual/grid.common.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,61 @@ describe('grid', () => {
189189
});
190190
});
191191

192+
describe('selection', () => {
193+
let selectionColumn;
194+
195+
describe('start', () => {
196+
beforeEach(async () => {
197+
element = fixtureSync(`
198+
<vaadin-grid style="height: 250px; max-width: 260px">
199+
<vaadin-grid-selection-column auto-select></vaadin-grid-selection-column>
200+
<vaadin-grid-column path="name.first" header="First name"></vaadin-grid-column>
201+
<vaadin-grid-column path="name.last" header="Last name"></vaadin-grid-column>
202+
</vaadin-grid>
203+
`);
204+
element.items = users;
205+
flushGrid(element);
206+
await nextRender(element);
207+
selectionColumn = element.querySelector('vaadin-grid-selection-column');
208+
});
209+
210+
it('initial', async () => {
211+
await visualDiff(element, `${dir}-selection-start-initial`);
212+
});
213+
214+
it('frozen', async () => {
215+
selectionColumn.frozen = true;
216+
element.$.table.scrollLeft = element.__isRTL ? -20 : 20;
217+
await visualDiff(element, `${dir}-selection-start-frozen`);
218+
});
219+
});
220+
221+
describe('end', () => {
222+
beforeEach(async () => {
223+
element = fixtureSync(`
224+
<vaadin-grid style="height: 250px; max-width: 260px">
225+
<vaadin-grid-column path="name.first" header="First name"></vaadin-grid-column>
226+
<vaadin-grid-column path="name.last" header="Last name"></vaadin-grid-column>
227+
<vaadin-grid-selection-column auto-select></vaadin-grid-selection-column>
228+
</vaadin-grid>
229+
`);
230+
element.items = users;
231+
flushGrid(element);
232+
await nextRender(element);
233+
selectionColumn = element.querySelector('vaadin-grid-selection-column');
234+
});
235+
236+
it('initial', async () => {
237+
await visualDiff(element, `${dir}-selection-end-initial`);
238+
});
239+
240+
it('frozen', async () => {
241+
selectionColumn.frozenToEnd = true;
242+
await visualDiff(element, `${dir}-selection-end-frozen`);
243+
});
244+
});
245+
});
246+
192247
describe('row focus', () => {
193248
beforeEach(async () => {
194249
element = fixtureSync(`

packages/grid/test/visual/lumo/grid.test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { fixtureSync, nextRender } from '@vaadin/testing-helpers';
22
import { visualDiff } from '@web/test-runner-visual-regression';
33
import '../../../theme/lumo/vaadin-grid.js';
44
import '../../../theme/lumo/vaadin-grid-column-group.js';
5+
import '../../../theme/lumo/vaadin-grid-selection-column.js';
56
import '../../../theme/lumo/vaadin-grid-sorter.js';
67
import '../../../theme/lumo/vaadin-grid-sort-column.js';
78
import '../../../theme/lumo/vaadin-grid-tree-column.js';
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

packages/grid/test/visual/material/grid.test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import '../../../theme/material/vaadin-grid.js';
22
import '../../../theme/material/vaadin-grid-column-group.js';
3+
import '../../../theme/material/vaadin-grid-selection-column.js';
34
import '../../../theme/material/vaadin-grid-sorter.js';
45
import '../../../theme/material/vaadin-grid-sort-column.js';
56
import '../../../theme/material/vaadin-grid-tree-column.js';
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)