Skip to content

[Lens] Fix layer editor scrolling in full lens editor#253247

Merged
walterra merged 14 commits intoelastic:mainfrom
walterra:lens-fix-layer-editor-scrolling
Feb 17, 2026
Merged

[Lens] Fix layer editor scrolling in full lens editor#253247
walterra merged 14 commits intoelastic:mainfrom
walterra:lens-fix-layer-editor-scrolling

Conversation

@walterra
Copy link
Contributor

@walterra walterra commented Feb 16, 2026

Summary

Fixes #244198 (flaky layer config tests). Fixes #253050 (layer config not scrollable in full lens editor).

  • Restructured the config panel layout in editor_frame.tsx to use a flex container with overflow handling
  • Extracted inline CSS into componentStyles object in editor_frame.tsx for consistency across the file
  • Fixed flaky layer_actions FTR test by improving the logic to make layer tabs visible

How to test

  • Open full lens editor and reduce the height of the browser window
  • Add some dimension configs so the config panel grows beyond the visible area
  • Check the config panel is scrollable so you can reach the bottom element like the breakdown form
  • Check it works for single layer charts (no tabs) and multi layer charts (visible tabs)

FTR tests

  • Server: node scripts/functional_tests_server --config x-pack/platform/test/functional/apps/lens/group2/config.ts
  • Runner (layer config no longer flaky): node scripts/functional_test_runner --config x-pack/platform/test/functional/apps/lens/group2/config.ts --grep "lens layer actions tests"
  • Runner (scroll test): node scripts/functional_test_runner --config x-pack/platform/test/functional/apps/lens/group2/config.ts --grep "lens config panel scroll"

Checklist

  • Unit or functional tests were updated or added to match the most common scenarios
  • This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The release_note:breaking label should be applied in these situations.
  • Flaky Test Runner was used on any tests changed
  • The PR description includes the appropriate Release Notes section, and the correct release_note:* label is applied per the guidelines
  • Review the backport guidelines and apply applicable backport:* labels.

Release notes

Fixes config panel scrolling in the Lens editor. Previously, when the config panel content exceeded the available height (e.g., with multiple dimensions or small viewport), users could not scroll to access all configuration options.

@walterra walterra added release_note:fix Team:Visualizations Team label for Lens, elastic-charts, Graph, legacy editors (TSVB, Visualize, Timelion) t// Feature:Lens backport:version Backport to applied version labels v9.4.0 v9.3.1 labels Feb 16, 2026
@walterra walterra self-assigned this Feb 16, 2026
@walterra walterra changed the title Lens fix layer editor scrolling Feb 16, 2026
@elasticmachine
Copy link
Contributor

💛 Build succeeded, but was flaky

Failed CI Steps

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
lens 2.0MB 2.0MB +331.0B

cc @walterra

@walterra walterra marked this pull request as ready for review February 16, 2026 16:46
@walterra walterra requested a review from a team as a code owner February 16, 2026 16:46
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-visualizations (Team:Visualizations)

@mariairiartef mariairiartef self-requested a review February 17, 2026 08:01
Copy link
Contributor

@mariairiartef mariairiartef left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested locally and I didn't find any issue! 🚀 (a part from the issue we already discussed offline, that it will fixed in a followup PR)

Image
Copy link
Contributor

@markov00 markov00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested locally on Firefox, Safari and Chrome, the scroll to work fine

@walterra walterra merged commit 1fd818b into elastic:main Feb 17, 2026
16 checks passed
@walterra walterra deleted the lens-fix-layer-editor-scrolling branch February 17, 2026 10:15
@kibanamachine
Copy link
Contributor

Starting backport for target branches: 9.3

https://github.com/elastic/kibana/actions/runs/22094470944

@kibanamachine
Copy link
Contributor

💔 All backports failed

Status Branch Result
9.3 Backport failed because of merge conflicts

Manual backport

To create the backport manually run:

node scripts/backport --pr 253247

Questions ?

Please refer to the Backport tool documentation

@walterra
Copy link
Contributor Author

💚 All backports created successfully

Status Branch Result
9.3

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

walterra added a commit to walterra/kibana that referenced this pull request Feb 17, 2026
## Summary

Fixes elastic#244198 (flaky layer config tests). Fixes elastic#253050 (layer config
not scrollable in full lens editor).

- Restructured the config panel layout in `editor_frame.tsx` to use a
flex container with overflow handling
- Extracted inline CSS into `componentStyles` object in
`editor_frame.tsx` for consistency across the file
- Fixed flaky layer_actions FTR test by improving the logic to make
layer tabs visible

### How to test

- Open full lens editor and reduce the height of the browser window
- Add some dimension configs so the config panel grows beyond the
visible area
- Check the config panel is scrollable so you can reach the bottom
element like the breakdown form
- Check it works for single layer charts (no tabs) and multi layer
charts (visible tabs)

### FTR tests

- Server: `node scripts/functional_tests_server --config
x-pack/platform/test/functional/apps/lens/group2/config.ts`
- Runner (layer config no longer flaky): `node
scripts/functional_test_runner --config
x-pack/platform/test/functional/apps/lens/group2/config.ts --grep "lens
layer actions tests"`
- Runner (scroll test): `node scripts/functional_test_runner --config
x-pack/platform/test/functional/apps/lens/group2/config.ts --grep "lens
config panel scroll"`

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [x] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Release notes

Fixes config panel scrolling in the Lens editor. Previously, when the
config panel content exceeded the available height (e.g., with multiple
dimensions or small viewport), users could not scroll to access all
configuration options.

(cherry picked from commit 1fd818b)

# Conflicts:
#	src/platform/packages/shared/kbn-lens-common/index.ts
#	x-pack/platform/plugins/shared/lens/public/app_plugin/shared/edit_on_the_fly/lens_configuration_flyout.tsx
#	x-pack/platform/plugins/shared/lens/public/editor_frame_service/editor_frame/config_panel/config_panel.tsx
walterra added a commit that referenced this pull request Feb 17, 2026
…#253410)

# Backport

This will backport the following commits from `main` to `9.3`:
- [[Lens] Fix layer editor scrolling in full lens editor
(#253247)](#253247)

<!--- Backport version: 10.2.0 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Walter M.
Rafelsberger","email":"walter.rafelsberger@elastic.co"},"sourceCommit":{"committedDate":"2026-02-17T10:15:35Z","message":"[Lens]
Fix layer editor scrolling in full lens editor (#253247)\n\n##
Summary\n\nFixes #244198 (flaky layer config tests). Fixes #253050
(layer config\nnot scrollable in full lens editor).\n\n- Restructured
the config panel layout in `editor_frame.tsx` to use a\nflex container
with overflow handling\n- Extracted inline CSS into `componentStyles`
object in\n`editor_frame.tsx` for consistency across the file\n- Fixed
flaky layer_actions FTR test by improving the logic to make\nlayer tabs
visible\n\n### How to test\n\n- Open full lens editor and reduce the
height of the browser window\n- Add some dimension configs so the config
panel grows beyond the\nvisible area\n- Check the config panel is
scrollable so you can reach the bottom\nelement like the breakdown
form\n- Check it works for single layer charts (no tabs) and multi
layer\ncharts (visible tabs)\n\n### FTR tests\n\n- Server: `node
scripts/functional_tests_server
--config\nx-pack/platform/test/functional/apps/lens/group2/config.ts`\n-
Runner (layer config no longer flaky):
`node\nscripts/functional_test_runner
--config\nx-pack/platform/test/functional/apps/lens/group2/config.ts
--grep \"lens\nlayer actions tests\"`\n- Runner (scroll test): `node
scripts/functional_test_runner
--config\nx-pack/platform/test/functional/apps/lens/group2/config.ts
--grep \"lens\nconfig panel scroll\"`\n\n### Checklist\n\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] This was
checked for breaking HTTP API changes, and any breaking\nchanges have
been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [x] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[x] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Release notes\n\nFixes
config panel scrolling in the Lens editor. Previously, when the\nconfig
panel content exceeded the available height (e.g., with
multiple\ndimensions or small viewport), users could not scroll to
access all\nconfiguration
options.","sha":"1fd818b36c9f0dc132e3b32f6c43546640c6ba78","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Visualizations","Feature:Lens","backport:version","v9.4.0","v9.3.1"],"title":"[Lens]
Fix layer editor scrolling in full lens
editor","number":253247,"url":"https://github.com/elastic/kibana/pull/253247","mergeCommit":{"message":"[Lens]
Fix layer editor scrolling in full lens editor (#253247)\n\n##
Summary\n\nFixes #244198 (flaky layer config tests). Fixes #253050
(layer config\nnot scrollable in full lens editor).\n\n- Restructured
the config panel layout in `editor_frame.tsx` to use a\nflex container
with overflow handling\n- Extracted inline CSS into `componentStyles`
object in\n`editor_frame.tsx` for consistency across the file\n- Fixed
flaky layer_actions FTR test by improving the logic to make\nlayer tabs
visible\n\n### How to test\n\n- Open full lens editor and reduce the
height of the browser window\n- Add some dimension configs so the config
panel grows beyond the\nvisible area\n- Check the config panel is
scrollable so you can reach the bottom\nelement like the breakdown
form\n- Check it works for single layer charts (no tabs) and multi
layer\ncharts (visible tabs)\n\n### FTR tests\n\n- Server: `node
scripts/functional_tests_server
--config\nx-pack/platform/test/functional/apps/lens/group2/config.ts`\n-
Runner (layer config no longer flaky):
`node\nscripts/functional_test_runner
--config\nx-pack/platform/test/functional/apps/lens/group2/config.ts
--grep \"lens\nlayer actions tests\"`\n- Runner (scroll test): `node
scripts/functional_test_runner
--config\nx-pack/platform/test/functional/apps/lens/group2/config.ts
--grep \"lens\nconfig panel scroll\"`\n\n### Checklist\n\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] This was
checked for breaking HTTP API changes, and any breaking\nchanges have
been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [x] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[x] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Release notes\n\nFixes
config panel scrolling in the Lens editor. Previously, when the\nconfig
panel content exceeded the available height (e.g., with
multiple\ndimensions or small viewport), users could not scroll to
access all\nconfiguration
options.","sha":"1fd818b36c9f0dc132e3b32f6c43546640c6ba78"}},"sourceBranch":"main","suggestedTargetBranches":["9.3"],"targetPullRequestStates":[{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/253247","number":253247,"mergeCommit":{"message":"[Lens]
Fix layer editor scrolling in full lens editor (#253247)\n\n##
Summary\n\nFixes #244198 (flaky layer config tests). Fixes #253050
(layer config\nnot scrollable in full lens editor).\n\n- Restructured
the config panel layout in `editor_frame.tsx` to use a\nflex container
with overflow handling\n- Extracted inline CSS into `componentStyles`
object in\n`editor_frame.tsx` for consistency across the file\n- Fixed
flaky layer_actions FTR test by improving the logic to make\nlayer tabs
visible\n\n### How to test\n\n- Open full lens editor and reduce the
height of the browser window\n- Add some dimension configs so the config
panel grows beyond the\nvisible area\n- Check the config panel is
scrollable so you can reach the bottom\nelement like the breakdown
form\n- Check it works for single layer charts (no tabs) and multi
layer\ncharts (visible tabs)\n\n### FTR tests\n\n- Server: `node
scripts/functional_tests_server
--config\nx-pack/platform/test/functional/apps/lens/group2/config.ts`\n-
Runner (layer config no longer flaky):
`node\nscripts/functional_test_runner
--config\nx-pack/platform/test/functional/apps/lens/group2/config.ts
--grep \"lens\nlayer actions tests\"`\n- Runner (scroll test): `node
scripts/functional_test_runner
--config\nx-pack/platform/test/functional/apps/lens/group2/config.ts
--grep \"lens\nconfig panel scroll\"`\n\n### Checklist\n\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] This was
checked for breaking HTTP API changes, and any breaking\nchanges have
been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [x] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[x] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Release notes\n\nFixes
config panel scrolling in the Lens editor. Previously, when the\nconfig
panel content exceeded the available height (e.g., with
multiple\ndimensions or small viewport), users could not scroll to
access all\nconfiguration
options.","sha":"1fd818b36c9f0dc132e3b32f6c43546640c6ba78"}},{"branch":"9.3","label":"v9.3.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
@walterra
Copy link
Contributor Author

Created a follow up issue to document the cut off drag'n'drop extra item found testing this PR: #253469

paulinashakirova pushed a commit to paulinashakirova/kibana that referenced this pull request Feb 17, 2026
## Summary

Fixes elastic#244198 (flaky layer config tests). Fixes elastic#253050 (layer config
not scrollable in full lens editor).

- Restructured the config panel layout in `editor_frame.tsx` to use a
flex container with overflow handling
- Extracted inline CSS into `componentStyles` object in
`editor_frame.tsx` for consistency across the file
- Fixed flaky layer_actions FTR test by improving the logic to make
layer tabs visible

### How to test

- Open full lens editor and reduce the height of the browser window
- Add some dimension configs so the config panel grows beyond the
visible area
- Check the config panel is scrollable so you can reach the bottom
element like the breakdown form
- Check it works for single layer charts (no tabs) and multi layer
charts (visible tabs)

### FTR tests

- Server: `node scripts/functional_tests_server --config
x-pack/platform/test/functional/apps/lens/group2/config.ts`
- Runner (layer config no longer flaky): `node
scripts/functional_test_runner --config
x-pack/platform/test/functional/apps/lens/group2/config.ts --grep "lens
layer actions tests"`
- Runner (scroll test): `node scripts/functional_test_runner --config
x-pack/platform/test/functional/apps/lens/group2/config.ts --grep "lens
config panel scroll"`

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [x] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Release notes

Fixes config panel scrolling in the Lens editor. Previously, when the
config panel content exceeded the available height (e.g., with multiple
dimensions or small viewport), users could not scroll to access all
configuration options.
@kibanamachine
Copy link
Contributor

Flaky Test Runner Stats

🎉 All tests passed! - kibana-flaky-test-suite-runner#10775

[✅] x-pack/platform/test/functional/apps/lens/group2/config.ts: 25/25 tests passed.

see run history

patrykkopycinski pushed a commit to patrykkopycinski/kibana that referenced this pull request Feb 19, 2026
## Summary

Fixes elastic#244198 (flaky layer config tests). Fixes elastic#253050 (layer config
not scrollable in full lens editor).

- Restructured the config panel layout in `editor_frame.tsx` to use a
flex container with overflow handling
- Extracted inline CSS into `componentStyles` object in
`editor_frame.tsx` for consistency across the file
- Fixed flaky layer_actions FTR test by improving the logic to make
layer tabs visible

### How to test

- Open full lens editor and reduce the height of the browser window
- Add some dimension configs so the config panel grows beyond the
visible area
- Check the config panel is scrollable so you can reach the bottom
element like the breakdown form
- Check it works for single layer charts (no tabs) and multi layer
charts (visible tabs)

### FTR tests

- Server: `node scripts/functional_tests_server --config
x-pack/platform/test/functional/apps/lens/group2/config.ts`
- Runner (layer config no longer flaky): `node
scripts/functional_test_runner --config
x-pack/platform/test/functional/apps/lens/group2/config.ts --grep "lens
layer actions tests"`
- Runner (scroll test): `node scripts/functional_test_runner --config
x-pack/platform/test/functional/apps/lens/group2/config.ts --grep "lens
config panel scroll"`

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [x] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Release notes

Fixes config panel scrolling in the Lens editor. Previously, when the
config panel content exceeded the available height (e.g., with multiple
dimensions or small viewport), users could not scroll to access all
configuration options.
ersin-erdal pushed a commit to ersin-erdal/kibana that referenced this pull request Feb 19, 2026
## Summary

Fixes elastic#244198 (flaky layer config tests). Fixes elastic#253050 (layer config
not scrollable in full lens editor).

- Restructured the config panel layout in `editor_frame.tsx` to use a
flex container with overflow handling
- Extracted inline CSS into `componentStyles` object in
`editor_frame.tsx` for consistency across the file
- Fixed flaky layer_actions FTR test by improving the logic to make
layer tabs visible

### How to test

- Open full lens editor and reduce the height of the browser window
- Add some dimension configs so the config panel grows beyond the
visible area
- Check the config panel is scrollable so you can reach the bottom
element like the breakdown form
- Check it works for single layer charts (no tabs) and multi layer
charts (visible tabs)

### FTR tests

- Server: `node scripts/functional_tests_server --config
x-pack/platform/test/functional/apps/lens/group2/config.ts`
- Runner (layer config no longer flaky): `node
scripts/functional_test_runner --config
x-pack/platform/test/functional/apps/lens/group2/config.ts --grep "lens
layer actions tests"`
- Runner (scroll test): `node scripts/functional_test_runner --config
x-pack/platform/test/functional/apps/lens/group2/config.ts --grep "lens
config panel scroll"`

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [x] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Release notes

Fixes config panel scrolling in the Lens editor. Previously, when the
config panel content exceeded the available height (e.g., with multiple
dimensions or small viewport), users could not scroll to access all
configuration options.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:version Backport to applied version labels Feature:Lens release_note:fix Team:Visualizations Team label for Lens, elastic-charts, Graph, legacy editors (TSVB, Visualize, Timelion) t// v9.3.1 v9.4.0

5 participants