Skip to content

Commit e4b740a

Browse files
committed
fix: don't hide rows in the grid logic
1 parent 878a254 commit e4b740a

File tree

3 files changed

+41
-3
lines changed

3 files changed

+41
-3
lines changed

packages/vaadin-grid/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
"devDependencies": {
4444
"@esm-bundle/chai": "^4.1.5",
4545
"@vaadin/testing-helpers": "^0.2.1",
46+
"lit": "^2.0.0-rc.1",
4647
"sinon": "^9.2.0"
4748
},
4849
"publishConfig": {

packages/vaadin-grid/src/vaadin-grid.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -694,9 +694,7 @@ class GridElement extends ElementMixin(
694694

695695
Array.from(row.children).forEach((cell) => (cell._vacant = true));
696696
row.innerHTML = '';
697-
if (row.id !== 'sizer') {
698-
row.hidden = true;
699-
}
697+
700698
columns
701699
.filter((column) => !column.hidden)
702700
.forEach((column, index, cols) => {
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import { expect } from '@esm-bundle/chai';
2+
import { aTimeout, fixtureSync } from '@vaadin/testing-helpers';
3+
import { render, html } from 'lit';
4+
import '../vaadin-grid.js';
5+
import { getPhysicalItems } from './helpers.js';
6+
7+
describe('renderig with lit', () => {
8+
let wrapper;
9+
10+
beforeEach(() => {
11+
wrapper = fixtureSync(`<div></div>`);
12+
});
13+
14+
it('should render items after dynamically adding more columns', async () => {
15+
function renderGrid(columnPaths, items) {
16+
render(
17+
html`
18+
<vaadin-grid .items=${items}>
19+
${columnPaths.map((columnPath) => {
20+
return html`<vaadin-grid-column path=${columnPath}></vaadin-grid-column>`;
21+
})}
22+
</vaadin-grid>
23+
`,
24+
wrapper
25+
);
26+
}
27+
28+
// First render with just one column and 0 items
29+
renderGrid(['first'], []);
30+
31+
await aTimeout(0);
32+
// Then render with more than one column and more than 0 items
33+
renderGrid(['first', 'second'], [{ first: 'foo', second: 'bar' }]);
34+
35+
await aTimeout(0);
36+
const grid = wrapper.firstElementChild;
37+
expect(getPhysicalItems(grid).length).to.equal(1);
38+
});
39+
});

0 commit comments

Comments
 (0)