Skip to content

[Dashboard] Top Nav Save Menu#237211

Merged
cqliu1 merged 32 commits intoelastic:mainfrom
cqliu1:dashboard/top-nav-save-menu
Nov 4, 2025
Merged

[Dashboard] Top Nav Save Menu#237211
cqliu1 merged 32 commits intoelastic:mainfrom
cqliu1:dashboard/top-nav-save-menu

Conversation

@cqliu1
Copy link
Contributor

@cqliu1 cqliu1 commented Oct 1, 2025

Summary

Closes #192630.
Closes #237210.

This moves the Save as and Reset top nav actions into a split button menu next to the Save button in edit mode.

Screenshot 2025-10-29 at 10 18 39 AM

With unsaved changes

Screenshot 2025-10-29 at 10 20 33 AM

View mode

The duplicate and reset actions remain in the top nav in view mode.

Screenshot 2025-10-29 at 10 21 29 AM

Editing a new dashboard

The save button returns to a normal button with no additional save options.
Screenshot 2025-10-29 at 10 22 13 AM

I also cleaned up styles for the add menu

Screenshot 2025-10-29 at 10 12 57 AM

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.

@cqliu1 cqliu1 requested review from a team as code owners October 1, 2025 23:45
@cqliu1 cqliu1 added Feature:Dashboard Dashboard related features Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas t// labels Oct 1, 2025
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-presentation (Team:Presentation)

@kowalczyk-krzysztof
Copy link
Member

@cqliu1
Do you think this will have an impact on write-restricted dashboards? Could you please check that PR and see if your PR won't break any functionality needed in there?

@cqliu1
Copy link
Contributor Author

cqliu1 commented Oct 7, 2025

@cqliu1
Do you think this will have an impact on write-restricted dashboards? Could you please check that PR and see if your PR won't break any functionality needed in there?

@kowalczyk-krzysztof It shouldn't break your write-restricted dashboards functionality, but I am moving the Save as button into a menu. We'll just need to be careful when resolving merge conflicts.

@cqliu1 cqliu1 marked this pull request as draft October 7, 2025 16:40
@kowalczyk-krzysztof
Copy link
Member

@cqliu1
Do you think this will have an impact on write-restricted dashboards? Could you please check that PR and see if your PR won't break any functionality needed in there?

@kowalczyk-krzysztof It shouldn't break your write-restricted dashboards functionality, but I am moving the Save as button into a menu. We'll just need to be careful when resolving merge conflicts.

Thanks for looking into this @cqliu1!

@SiddharthMantri @jeramysoucy This PR will most likely get merged first but not before I go on PTO. Please make sure to reach out to @cqliu1 if you run into any issues with resolving conflicts.

@cqliu1 cqliu1 added release_note:enhancement backport:skip This PR does not require backporting loe:medium Medium Level of Effort impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. v9.3.0 labels Oct 8, 2025
@cqliu1 cqliu1 force-pushed the dashboard/top-nav-save-menu branch from 173730d to b0cbc86 Compare October 13, 2025 16:33
@cqliu1 cqliu1 force-pushed the dashboard/top-nav-save-menu branch from f3f2b7c to 3372080 Compare October 29, 2025 16:45
@cqliu1 cqliu1 added the ci:cloud-deploy Create or update a Cloud deployment label Oct 29, 2025
@cqliu1 cqliu1 force-pushed the dashboard/top-nav-save-menu branch from ddfeb82 to 189659b Compare October 29, 2025 17:26
@cqliu1 cqliu1 marked this pull request as ready for review October 29, 2025 20:07
@cqliu1 cqliu1 requested review from a team as code owners October 29, 2025 20:07
Copy link
Contributor

@davismcphee davismcphee left a comment

Choose a reason for hiding this comment

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

Code-only review, Data Discovery changes LGTM 👍 Just minor changes to the split button package.

Copy link
Member

@kowalczyk-krzysztof kowalczyk-krzysztof left a comment

Choose a reason for hiding this comment

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

SharedUX code changes LGTM 🚀
I also tried integrating this into my write-restricted dashboards PR and it went surprisingly smoothly.

@cqliu1 cqliu1 requested a review from andreadelrio October 30, 2025 16:43
Copy link
Contributor

@andreadelrio andreadelrio left a comment

Choose a reason for hiding this comment

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

@cqliu1 Design changes LGTM! Nicely done!

Copy link
Contributor

@nreese nreese left a comment

Choose a reason for hiding this comment

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

kibana-presentation changes LGTM
code review and tested in chrome

@cqliu1
Copy link
Contributor Author

cqliu1 commented Nov 3, 2025

@elasticmachine merge upstream

@cqliu1 cqliu1 enabled auto-merge (squash) November 3, 2025 17:24
@elasticmachine
Copy link
Contributor

⏳ Build in-progress

History

@cqliu1 cqliu1 merged commit 247d386 into elastic:main Nov 4, 2025
12 checks passed
wildemat pushed a commit to wildemat/kibana that referenced this pull request Nov 5, 2025
## Summary

Closes elastic#192630.
Closes [elastic#237210](elastic#237210).

This moves the `Save as` and `Reset` top nav actions into a split button
menu next to the `Save` button in edit mode.

<img width="1188" height="777" alt="Screenshot 2025-10-29 at 10 18
39 AM"
src="https://github.com/user-attachments/assets/06ac1310-e3f7-4251-ade0-3b94eeb5d8d2"
/>

#### With unsaved changes
<img width="624" height="164" alt="Screenshot 2025-10-29 at 10 20 33 AM"
src="https://github.com/user-attachments/assets/4e42212f-b7f1-4b29-9525-6b2b6ee6f207"
/>

#### View mode
The duplicate and reset actions remain in the top nav in view mode.

<img width="428" height="168" alt="Screenshot 2025-10-29 at 10 21 29 AM"
src="https://github.com/user-attachments/assets/3d70796f-c2f6-4312-b017-3dc5f0461388"
/>

#### Editing a new dashboard
The save button returns to a normal button with no additional save
options.
<img width="456" height="124" alt="Screenshot 2025-10-29 at 10 22 13 AM"
src="https://github.com/user-attachments/assets/7c0ca3e6-e567-43d2-9a4e-6c25fd9e03f2"
/>

I also cleaned up styles for the add menu

<img width="440" height="526" alt="Screenshot 2025-10-29 at 10 12 57 AM"
src="https://github.com/user-attachments/assets/e8117793-14da-472a-9aaf-ebc3d55e94f0"
/>


### 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](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
- [ ] [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.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) 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](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] 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)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip This PR does not require backporting ci:cloud-deploy Create or update a Cloud deployment Feature:Dashboard Dashboard related features impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. loe:medium Medium Level of Effort needs_docs release_note:enhancement Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas t// v9.3.0

9 participants