Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[dashboard] panel disappears from dashboard when canceling edit after dashboard save #193905

Closed
nreese opened this issue Sep 24, 2024 · 2 comments
Assignees
Labels
bug Fixes for quality problems that affect the customer experience regression Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas

Comments

@nreese
Copy link
Contributor

nreese commented Sep 24, 2024

Steps

  1. create new dashboard
  2. Click "Add panel" (problem also exists when using "Add from library")
  3. Select "Maps" or "Aggregation based"
  4. In editor, click "Save and return"
  5. Save dashboard
  6. Click "Edit" in panel context menu
  7. In editor, click "Cancel"
  8. Notice how panel disappears, and dashboard takes the user back to editing a new dashboard.

Cause

The transfer service originating path is still #/create instead of #/view/<savedObjectId> after the save

@nreese nreese added bug Fixes for quality problems that affect the customer experience regression Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas labels Sep 24, 2024
@elasticmachine
Copy link
Contributor

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

@nreese nreese changed the title [dashboard] panel disappears from dashboard when canceling edit [dashboard] panel disappears from dashboard when canceling edit after dashboard save Sep 24, 2024
@nreese nreese self-assigned this Sep 24, 2024
nreese added a commit that referenced this issue Sep 24, 2024
…dit after dashboard save (#193911)

Part of #193905. Broke work into
separate PRs to backport map embeddable changes to 8.15.

Resolves issue for Map embeddable. The problem is that Map embeddable is
using a stale result from `parentApi.getAppContext`. Dashboard's
`getAppContext` changes the `getCurrentPath` when the dashboard has a
saved object id. By using the stale results, `getCurrentPath` returned
`#/create` instead of `#/view/`.

### Test steps
1. create new dashboard
2. Click "Add panel" (problem also exists when using "Add from library")
3. Select "Maps"
4.  In editor, click "Save and return"
5. Save dashboard
6. Click "Edit" in panel context menu
7. In editor, click "Cancel"
8. Ensure map panel is still displayed in dashboard
kibanamachine pushed a commit to kibanamachine/kibana that referenced this issue Sep 24, 2024
…dit after dashboard save (elastic#193911)

Part of elastic#193905. Broke work into
separate PRs to backport map embeddable changes to 8.15.

Resolves issue for Map embeddable. The problem is that Map embeddable is
using a stale result from `parentApi.getAppContext`. Dashboard's
`getAppContext` changes the `getCurrentPath` when the dashboard has a
saved object id. By using the stale results, `getCurrentPath` returned
`#/create` instead of `#/view/`.

### Test steps
1. create new dashboard
2. Click "Add panel" (problem also exists when using "Add from library")
3. Select "Maps"
4.  In editor, click "Save and return"
5. Save dashboard
6. Click "Edit" in panel context menu
7. In editor, click "Cancel"
8. Ensure map panel is still displayed in dashboard

(cherry picked from commit 882b6fb)
kibanamachine pushed a commit to kibanamachine/kibana that referenced this issue Sep 24, 2024
…dit after dashboard save (elastic#193911)

Part of elastic#193905. Broke work into
separate PRs to backport map embeddable changes to 8.15.

Resolves issue for Map embeddable. The problem is that Map embeddable is
using a stale result from `parentApi.getAppContext`. Dashboard's
`getAppContext` changes the `getCurrentPath` when the dashboard has a
saved object id. By using the stale results, `getCurrentPath` returned
`#/create` instead of `#/view/`.

### Test steps
1. create new dashboard
2. Click "Add panel" (problem also exists when using "Add from library")
3. Select "Maps"
4.  In editor, click "Save and return"
5. Save dashboard
6. Click "Edit" in panel context menu
7. In editor, click "Cancel"
8. Ensure map panel is still displayed in dashboard

(cherry picked from commit 882b6fb)
kibanamachine added a commit that referenced this issue Sep 24, 2024
…ling edit after dashboard save (#193911) (#193929)

# Backport

This will backport the following commits from `main` to `8.x`:
- [[map embeddable] fix panel disappears from dashboard when canceling
edit after dashboard save
(#193911)](#193911)

<!--- Backport version: 9.4.3 -->

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

<!--BACKPORT [{"author":{"name":"Nathan
Reese","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-09-24T22:13:10Z","message":"[map
embeddable] fix panel disappears from dashboard when canceling edit
after dashboard save (#193911)\n\nPart of
#193905. Broke work
into\r\nseparate PRs to backport map embeddable changes to
8.15.\r\n\r\nResolves issue for Map embeddable. The problem is that Map
embeddable is\r\nusing a stale result from `parentApi.getAppContext`.
Dashboard's\r\n`getAppContext` changes the `getCurrentPath` when the
dashboard has a\r\nsaved object id. By using the stale results,
`getCurrentPath` returned\r\n`#/create` instead of `#/view/`.\r\n\r\n###
Test steps\r\n1. create new dashboard\r\n2. Click \"Add panel\" (problem
also exists when using \"Add from library\")\r\n3. Select \"Maps\"\r\n4.
In editor, click \"Save and return\"\r\n5. Save dashboard\r\n6. Click
\"Edit\" in panel context menu\r\n7. In editor, click \"Cancel\"\r\n8.
Ensure map panel is still displayed in
dashboard","sha":"882b6fb2f5ebef289dcbbf487ce42f83b95cc58e","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Presentation","v9.0.0","v8.16.0","backport:version","v8.15.3"],"title":"[map
embeddable] fix panel disappears from dashboard when canceling edit
after dashboard
save","number":193911,"url":"https://github.com/elastic/kibana/pull/193911","mergeCommit":{"message":"[map
embeddable] fix panel disappears from dashboard when canceling edit
after dashboard save (#193911)\n\nPart of
#193905. Broke work
into\r\nseparate PRs to backport map embeddable changes to
8.15.\r\n\r\nResolves issue for Map embeddable. The problem is that Map
embeddable is\r\nusing a stale result from `parentApi.getAppContext`.
Dashboard's\r\n`getAppContext` changes the `getCurrentPath` when the
dashboard has a\r\nsaved object id. By using the stale results,
`getCurrentPath` returned\r\n`#/create` instead of `#/view/`.\r\n\r\n###
Test steps\r\n1. create new dashboard\r\n2. Click \"Add panel\" (problem
also exists when using \"Add from library\")\r\n3. Select \"Maps\"\r\n4.
In editor, click \"Save and return\"\r\n5. Save dashboard\r\n6. Click
\"Edit\" in panel context menu\r\n7. In editor, click \"Cancel\"\r\n8.
Ensure map panel is still displayed in
dashboard","sha":"882b6fb2f5ebef289dcbbf487ce42f83b95cc58e"}},"sourceBranch":"main","suggestedTargetBranches":["8.x","8.15"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/193911","number":193911,"mergeCommit":{"message":"[map
embeddable] fix panel disappears from dashboard when canceling edit
after dashboard save (#193911)\n\nPart of
#193905. Broke work
into\r\nseparate PRs to backport map embeddable changes to
8.15.\r\n\r\nResolves issue for Map embeddable. The problem is that Map
embeddable is\r\nusing a stale result from `parentApi.getAppContext`.
Dashboard's\r\n`getAppContext` changes the `getCurrentPath` when the
dashboard has a\r\nsaved object id. By using the stale results,
`getCurrentPath` returned\r\n`#/create` instead of `#/view/`.\r\n\r\n###
Test steps\r\n1. create new dashboard\r\n2. Click \"Add panel\" (problem
also exists when using \"Add from library\")\r\n3. Select \"Maps\"\r\n4.
In editor, click \"Save and return\"\r\n5. Save dashboard\r\n6. Click
\"Edit\" in panel context menu\r\n7. In editor, click \"Cancel\"\r\n8.
Ensure map panel is still displayed in
dashboard","sha":"882b6fb2f5ebef289dcbbf487ce42f83b95cc58e"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.15","label":"v8.15.3","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Nathan Reese <[email protected]>
kibanamachine added a commit that referenced this issue Sep 24, 2024
…eling edit after dashboard save (#193911) (#193928)

# Backport

This will backport the following commits from `main` to `8.15`:
- [[map embeddable] fix panel disappears from dashboard when canceling
edit after dashboard save
(#193911)](#193911)

<!--- Backport version: 9.4.3 -->

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

<!--BACKPORT [{"author":{"name":"Nathan
Reese","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-09-24T22:13:10Z","message":"[map
embeddable] fix panel disappears from dashboard when canceling edit
after dashboard save (#193911)\n\nPart of
#193905. Broke work
into\r\nseparate PRs to backport map embeddable changes to
8.15.\r\n\r\nResolves issue for Map embeddable. The problem is that Map
embeddable is\r\nusing a stale result from `parentApi.getAppContext`.
Dashboard's\r\n`getAppContext` changes the `getCurrentPath` when the
dashboard has a\r\nsaved object id. By using the stale results,
`getCurrentPath` returned\r\n`#/create` instead of `#/view/`.\r\n\r\n###
Test steps\r\n1. create new dashboard\r\n2. Click \"Add panel\" (problem
also exists when using \"Add from library\")\r\n3. Select \"Maps\"\r\n4.
In editor, click \"Save and return\"\r\n5. Save dashboard\r\n6. Click
\"Edit\" in panel context menu\r\n7. In editor, click \"Cancel\"\r\n8.
Ensure map panel is still displayed in
dashboard","sha":"882b6fb2f5ebef289dcbbf487ce42f83b95cc58e","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Presentation","v9.0.0","v8.16.0","backport:version","v8.15.3"],"title":"[map
embeddable] fix panel disappears from dashboard when canceling edit
after dashboard
save","number":193911,"url":"https://github.com/elastic/kibana/pull/193911","mergeCommit":{"message":"[map
embeddable] fix panel disappears from dashboard when canceling edit
after dashboard save (#193911)\n\nPart of
#193905. Broke work
into\r\nseparate PRs to backport map embeddable changes to
8.15.\r\n\r\nResolves issue for Map embeddable. The problem is that Map
embeddable is\r\nusing a stale result from `parentApi.getAppContext`.
Dashboard's\r\n`getAppContext` changes the `getCurrentPath` when the
dashboard has a\r\nsaved object id. By using the stale results,
`getCurrentPath` returned\r\n`#/create` instead of `#/view/`.\r\n\r\n###
Test steps\r\n1. create new dashboard\r\n2. Click \"Add panel\" (problem
also exists when using \"Add from library\")\r\n3. Select \"Maps\"\r\n4.
In editor, click \"Save and return\"\r\n5. Save dashboard\r\n6. Click
\"Edit\" in panel context menu\r\n7. In editor, click \"Cancel\"\r\n8.
Ensure map panel is still displayed in
dashboard","sha":"882b6fb2f5ebef289dcbbf487ce42f83b95cc58e"}},"sourceBranch":"main","suggestedTargetBranches":["8.x","8.15"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/193911","number":193911,"mergeCommit":{"message":"[map
embeddable] fix panel disappears from dashboard when canceling edit
after dashboard save (#193911)\n\nPart of
#193905. Broke work
into\r\nseparate PRs to backport map embeddable changes to
8.15.\r\n\r\nResolves issue for Map embeddable. The problem is that Map
embeddable is\r\nusing a stale result from `parentApi.getAppContext`.
Dashboard's\r\n`getAppContext` changes the `getCurrentPath` when the
dashboard has a\r\nsaved object id. By using the stale results,
`getCurrentPath` returned\r\n`#/create` instead of `#/view/`.\r\n\r\n###
Test steps\r\n1. create new dashboard\r\n2. Click \"Add panel\" (problem
also exists when using \"Add from library\")\r\n3. Select \"Maps\"\r\n4.
In editor, click \"Save and return\"\r\n5. Save dashboard\r\n6. Click
\"Edit\" in panel context menu\r\n7. In editor, click \"Cancel\"\r\n8.
Ensure map panel is still displayed in
dashboard","sha":"882b6fb2f5ebef289dcbbf487ce42f83b95cc58e"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.15","label":"v8.15.3","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Nathan Reese <[email protected]>
nreese added a commit that referenced this issue Sep 26, 2024
…ling edit after dashboard save (#193914)

Part of #193905. Broke work into
separate PRs to backport map embeddable changes to 8.15.

Resolves issue for Visualize embeddable and dashboard empty screen. The
problem is that Visualize embeddable is using a stale result from
`parentApi.getAppContext`. Dashboard's `getAppContext` changes the
`getCurrentPath` when the dashboard has a saved object id. By using the
stale results, `getCurrentPath` returned `#/create` instead of
`#/view/`. The fix is to get a current version of `getAppContext` when
required.

### Test steps
1. create new dashboard
2. Click "Add panel" (problem also exists when using "Add from library")
3. Select "Aggregation based"
4.  In editor, click "Save and return"
5. Save dashboard
6. Click "Edit" in panel context menu
7. In editor, click "Cancel"
8. Ensure visualize panel is still displayed in dashboard
@nreese
Copy link
Contributor Author

nreese commented Sep 26, 2024

Closed by #193914 and #193911

@nreese nreese closed this as completed Sep 26, 2024
kibanamachine pushed a commit to kibanamachine/kibana that referenced this issue Sep 26, 2024
…ling edit after dashboard save (elastic#193914)

Part of elastic#193905. Broke work into
separate PRs to backport map embeddable changes to 8.15.

Resolves issue for Visualize embeddable and dashboard empty screen. The
problem is that Visualize embeddable is using a stale result from
`parentApi.getAppContext`. Dashboard's `getAppContext` changes the
`getCurrentPath` when the dashboard has a saved object id. By using the
stale results, `getCurrentPath` returned `#/create` instead of
`#/view/`. The fix is to get a current version of `getAppContext` when
required.

### Test steps
1. create new dashboard
2. Click "Add panel" (problem also exists when using "Add from library")
3. Select "Aggregation based"
4.  In editor, click "Save and return"
5. Save dashboard
6. Click "Edit" in panel context menu
7. In editor, click "Cancel"
8. Ensure visualize panel is still displayed in dashboard

(cherry picked from commit d6c8840)
kibanamachine added a commit that referenced this issue Sep 26, 2024
… canceling edit after dashboard save (#193914) (#194152)

# Backport

This will backport the following commits from `main` to `8.x`:
- [[visualize embeddable] fix panel disappears from dashboard when
canceling edit after dashboard save
(#193914)](#193914)

<!--- Backport version: 9.4.3 -->

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

<!--BACKPORT [{"author":{"name":"Nathan
Reese","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-09-26T13:47:04Z","message":"[visualize
embeddable] fix panel disappears from dashboard when canceling edit
after dashboard save (#193914)\n\nPart of
#193905. Broke work
into\r\nseparate PRs to backport map embeddable changes to
8.15.\r\n\r\nResolves issue for Visualize embeddable and dashboard empty
screen. The\r\nproblem is that Visualize embeddable is using a stale
result from\r\n`parentApi.getAppContext`. Dashboard's `getAppContext`
changes the\r\n`getCurrentPath` when the dashboard has a saved object
id. By using the\r\nstale results, `getCurrentPath` returned `#/create`
instead of\r\n`#/view/`. The fix is to get a current version of
`getAppContext` when\r\nrequired.\r\n\r\n### Test steps\r\n1. create new
dashboard\r\n2. Click \"Add panel\" (problem also exists when using
\"Add from library\")\r\n3. Select \"Aggregation based\"\r\n4. In
editor, click \"Save and return\"\r\n5. Save dashboard\r\n6. Click
\"Edit\" in panel context menu\r\n7. In editor, click \"Cancel\"\r\n8.
Ensure visualize panel is still displayed in
dashboard","sha":"d6c8840a561484bee74dbcb335290c879e82d370","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Presentation","v9.0.0","project:embeddableRebuild","v8.16.0","backport:version"],"title":"[visualize
embeddable] fix panel disappears from dashboard when canceling edit
after dashboard
save","number":193914,"url":"https://github.com/elastic/kibana/pull/193914","mergeCommit":{"message":"[visualize
embeddable] fix panel disappears from dashboard when canceling edit
after dashboard save (#193914)\n\nPart of
#193905. Broke work
into\r\nseparate PRs to backport map embeddable changes to
8.15.\r\n\r\nResolves issue for Visualize embeddable and dashboard empty
screen. The\r\nproblem is that Visualize embeddable is using a stale
result from\r\n`parentApi.getAppContext`. Dashboard's `getAppContext`
changes the\r\n`getCurrentPath` when the dashboard has a saved object
id. By using the\r\nstale results, `getCurrentPath` returned `#/create`
instead of\r\n`#/view/`. The fix is to get a current version of
`getAppContext` when\r\nrequired.\r\n\r\n### Test steps\r\n1. create new
dashboard\r\n2. Click \"Add panel\" (problem also exists when using
\"Add from library\")\r\n3. Select \"Aggregation based\"\r\n4. In
editor, click \"Save and return\"\r\n5. Save dashboard\r\n6. Click
\"Edit\" in panel context menu\r\n7. In editor, click \"Cancel\"\r\n8.
Ensure visualize panel is still displayed in
dashboard","sha":"d6c8840a561484bee74dbcb335290c879e82d370"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/193914","number":193914,"mergeCommit":{"message":"[visualize
embeddable] fix panel disappears from dashboard when canceling edit
after dashboard save (#193914)\n\nPart of
#193905. Broke work
into\r\nseparate PRs to backport map embeddable changes to
8.15.\r\n\r\nResolves issue for Visualize embeddable and dashboard empty
screen. The\r\nproblem is that Visualize embeddable is using a stale
result from\r\n`parentApi.getAppContext`. Dashboard's `getAppContext`
changes the\r\n`getCurrentPath` when the dashboard has a saved object
id. By using the\r\nstale results, `getCurrentPath` returned `#/create`
instead of\r\n`#/view/`. The fix is to get a current version of
`getAppContext` when\r\nrequired.\r\n\r\n### Test steps\r\n1. create new
dashboard\r\n2. Click \"Add panel\" (problem also exists when using
\"Add from library\")\r\n3. Select \"Aggregation based\"\r\n4. In
editor, click \"Save and return\"\r\n5. Save dashboard\r\n6. Click
\"Edit\" in panel context menu\r\n7. In editor, click \"Cancel\"\r\n8.
Ensure visualize panel is still displayed in
dashboard","sha":"d6c8840a561484bee74dbcb335290c879e82d370"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Nathan Reese <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Fixes for quality problems that affect the customer experience regression Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas
Projects
None yet
Development

No branches or pull requests

2 participants