Skip to content

Commit 3b9ff4d

Browse files
fix: observe internal layout to avoid problems with fixed height (#8268) (#8280)
Co-authored-by: Serhii Kulykov <iamkulykov@gmail.com>
1 parent c909a4a commit 3b9ff4d

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

packages/form-layout/src/vaadin-form-layout.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ class FormLayout extends ResizeMixin(ElementMixin(ThemableMixin(PolymerElement))
293293
requestAnimationFrame(() => this._updateLayout());
294294

295295
this._observeChildrenColspanChange();
296-
this.__intersectionObserver.observe(this);
296+
this.__intersectionObserver.observe(this.$.layout);
297297
}
298298

299299
/** @protected */

packages/form-layout/test/form-layout.test.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -580,6 +580,42 @@ describe('form layout', () => {
580580
});
581581
});
582582

583+
describe('fixed size parent', () => {
584+
let container, layout;
585+
586+
beforeEach(async () => {
587+
container = fixtureSync(`
588+
<div style="height: 100px; overflow: auto">
589+
<div style="height: 25px">
590+
<vaadin-form-layout style="height: 100%">
591+
<div>1</div>
592+
<div>2</div>
593+
<div>3</div>
594+
<div>4</div>
595+
<div>5</div>
596+
<div>6</div>
597+
<div>7</div>
598+
<div>8</div>
599+
<div>9</div>
600+
<div>10</div>
601+
</vaadin-form-layout>
602+
</div>
603+
</div>
604+
`);
605+
layout = container.querySelector('vaadin-form-layout');
606+
layout.responsiveSteps = [{ columns: 1 }];
607+
await nextRender();
608+
});
609+
610+
it('should not set opacity to 0 when host is scrolled out due to fixed height', async () => {
611+
container.scrollTop = container.scrollHeight;
612+
// Wait for intersection observer
613+
await nextFrame();
614+
await nextFrame();
615+
expect(layout.$.layout.style.opacity).to.equal('');
616+
});
617+
});
618+
583619
describe('mutations', () => {
584620
let container, layout;
585621

0 commit comments

Comments
 (0)