Skip to content

[Search][Dev Console Improvements] Export as x language#242487

Merged
saikatsarkar056 merged 93 commits intoelastic:mainfrom
saikatsarkar056:export-as-x-language
Nov 26, 2025
Merged

[Search][Dev Console Improvements] Export as x language#242487
saikatsarkar056 merged 93 commits intoelastic:mainfrom
saikatsarkar056:export-as-x-language

Conversation

@saikatsarkar056
Copy link
Contributor

@saikatsarkar056 saikatsarkar056 commented Nov 10, 2025

Summary

When users open the Dev Console, it’s not immediately clear how to select a programming language for a given Query DSL. Currently, they need to select a query, open the ellipsis menu, and then choose a language — a workflow that isn’t very discoverable.

Similarly, the Play button used to run queries is easy to overlook, making it harder for users to understand how to execute requests.

This PR introduces the following improvements:

  • Enlarges the Play button and adds a background to make it more prominent.
  • Adds a Copy as X Language button next to the Play button for quicker access
  • Updates the context menu so users can set the default language through the Language Clients option

These changes aim to make both query execution and language selection more intuitive and discoverable for Dev Console users.

Screen.Recording.2025-11-23.at.8.14.37.PM.mov

Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

  • Any text added follows EUI's writing guidelines, uses sentence case text and includes i18n support
  • Documentation was added for features that require explanation or tutorials
  • Unit or functional tests were updated or added to match the most common scenarios
  • If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the docker list
  • 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.

Identify risks

Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging.

Release note

Improves the Console UI to make key actions more intuitive. The Play button is now more prominent, a new "Copy to language" button provides quick access to export the selected command in the user's preferred coding language, and the context menu has been updated to allow users to set a default language preference. These enhancements improve the discoverability of both query execution and export.

@saikatsarkar056 saikatsarkar056 self-assigned this Nov 10, 2025
@saikatsarkar056 saikatsarkar056 requested a review from a team as a code owner November 10, 2025 23:23
@saikatsarkar056 saikatsarkar056 marked this pull request as draft November 10, 2025 23:24
@saikatsarkar056 saikatsarkar056 added backport:skip This PR does not require backporting release_note:skip Skip the PR/issue when compiling release notes Team:Search v9.3.0 labels Nov 14, 2025
@saikatsarkar056 saikatsarkar056 marked this pull request as ready for review November 14, 2025 02:01
@saikatsarkar056 saikatsarkar056 changed the title Export as x language Nov 14, 2025
@elastic-vault-github-plugin-prod elastic-vault-github-plugin-prod bot requested a review from a team as a code owner November 24, 2025 23:54
@jbudz jbudz removed the request for review from a team November 25, 2025 20:17
@mdefazio
Copy link
Contributor

#242487 (review)

Let's keep the play button size as is. If we find this to be a pain point for many users we can tweak it, but part of the desired outcome was to have this easier to click and be visible.

Copy link
Contributor

@ElenaStoeva ElenaStoeva left a comment

Choose a reason for hiding this comment

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

Latest lgtm with one comment. Thanks for your work on this!

@kibanamachine
Copy link
Contributor

Flaky Test Runner Stats

🟠 Some tests failed. - kibana-flaky-test-suite-runner#9920

[❌] src/platform/test/functional/apps/console/config.ts: 175/200 tests passed.

see run history

@kibanamachine
Copy link
Contributor

Flaky Test Runner Stats

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

[✅] src/platform/test/functional/apps/console/config.ts: 25/25 tests passed.

see run history

@saikatsarkar056 saikatsarkar056 enabled auto-merge (squash) November 26, 2025 16:59
@saikatsarkar056 saikatsarkar056 merged commit 2617783 into elastic:main Nov 26, 2025
12 checks passed
@elasticmachine
Copy link
Contributor

💚 Build Succeeded

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
console 197.8KB 198.9KB +1.1KB

History

cc @saikatsarkar056

seanrathier pushed a commit to seanrathier/kibana that referenced this pull request Nov 27, 2025
## Summary

When users open the Dev Console, it’s not immediately clear how to
select a programming language for a given Query DSL. Currently, they
need to select a query, open the ellipsis menu, and then choose a
language — a workflow that isn’t very discoverable.

Similarly, the Play button used to run queries is easy to overlook,
making it harder for users to understand how to execute requests.

This PR introduces the following improvements:
- Enlarges the Play button and adds a background to make it more
prominent.
- Adds a Copy as X Language button next to the Play button for quicker
access
- Updates the context menu so users can set the default language through
the Language Clients option

These changes aim to make both query execution and language selection
more intuitive and discoverable for Dev Console users.




https://github.com/user-attachments/assets/c6b72ead-da3d-47c8-ad3d-e9703cab7a7d







### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [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
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] 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.
- [x] [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.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...


## Release note

Improves the Console UI to make key actions more intuitive. The Play
button is now more prominent, a new "Copy to language" button provides
quick access to export the selected command in the user's preferred
coding language, and the context menu has been updated to allow users to
set a default language preference. These enhancements improve the
discoverability of both query execution and export.

---------

Co-authored-by: Damian Polewski <125268832+damian-polewski@users.noreply.github.com>
Co-authored-by: Rodney Norris <rodney@tattdcodemonkey.com>
Co-authored-by: Liam Thompson <leemthompo@gmail.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
eokoneyo pushed a commit to eokoneyo/kibana that referenced this pull request Dec 2, 2025
## Summary

When users open the Dev Console, it’s not immediately clear how to
select a programming language for a given Query DSL. Currently, they
need to select a query, open the ellipsis menu, and then choose a
language — a workflow that isn’t very discoverable.

Similarly, the Play button used to run queries is easy to overlook,
making it harder for users to understand how to execute requests.

This PR introduces the following improvements:
- Enlarges the Play button and adds a background to make it more
prominent.
- Adds a Copy as X Language button next to the Play button for quicker
access
- Updates the context menu so users can set the default language through
the Language Clients option

These changes aim to make both query execution and language selection
more intuitive and discoverable for Dev Console users.




https://github.com/user-attachments/assets/c6b72ead-da3d-47c8-ad3d-e9703cab7a7d







### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [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
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] 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.
- [x] [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.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...


## Release note

Improves the Console UI to make key actions more intuitive. The Play
button is now more prominent, a new "Copy to language" button provides
quick access to export the selected command in the user's preferred
coding language, and the context menu has been updated to allow users to
set a default language preference. These enhancements improve the
discoverability of both query execution and export.

---------

Co-authored-by: Damian Polewski <125268832+damian-polewski@users.noreply.github.com>
Co-authored-by: Rodney Norris <rodney@tattdcodemonkey.com>
Co-authored-by: Liam Thompson <leemthompo@gmail.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
JordanSh pushed a commit to JordanSh/kibana that referenced this pull request Dec 9, 2025
## Summary

When users open the Dev Console, it’s not immediately clear how to
select a programming language for a given Query DSL. Currently, they
need to select a query, open the ellipsis menu, and then choose a
language — a workflow that isn’t very discoverable.

Similarly, the Play button used to run queries is easy to overlook,
making it harder for users to understand how to execute requests.

This PR introduces the following improvements:
- Enlarges the Play button and adds a background to make it more
prominent.
- Adds a Copy as X Language button next to the Play button for quicker
access
- Updates the context menu so users can set the default language through
the Language Clients option

These changes aim to make both query execution and language selection
more intuitive and discoverable for Dev Console users.




https://github.com/user-attachments/assets/c6b72ead-da3d-47c8-ad3d-e9703cab7a7d







### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [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
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] 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.
- [x] [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.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...


## Release note

Improves the Console UI to make key actions more intuitive. The Play
button is now more prominent, a new "Copy to language" button provides
quick access to export the selected command in the user's preferred
coding language, and the context menu has been updated to allow users to
set a default language preference. These enhancements improve the
discoverability of both query execution and export.

---------

Co-authored-by: Damian Polewski <125268832+damian-polewski@users.noreply.github.com>
Co-authored-by: Rodney Norris <rodney@tattdcodemonkey.com>
Co-authored-by: Liam Thompson <leemthompo@gmail.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment