From 41b81a1011ee260d312e4ccaa55fc86b41444851 Mon Sep 17 00:00:00 2001 From: Devon Thomson Date: Tue, 2 Mar 2021 11:03:27 -0500 Subject: [PATCH] [Time to Visualize] Disable Visualize URL Tracker When Linked to OriginatingApp (#92917) * changed url tracker for visualize to not save when linked to originating app --- src/plugins/visualize/public/plugin.ts | 5 +---- .../dashboard/create_and_add_embeddables.ts | 4 ++-- .../apps/dashboard/edit_visualizations.js | 18 ++++++++++++++++++ 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/plugins/visualize/public/plugin.ts b/src/plugins/visualize/public/plugin.ts index 300afd69c84ccd..4b369e8be86eee 100644 --- a/src/plugins/visualize/public/plugin.ts +++ b/src/plugins/visualize/public/plugin.ts @@ -116,10 +116,7 @@ export class VisualizePlugin ], getHistory: () => this.currentHistory!, onBeforeNavLinkSaved: (urlToSave: string) => { - if ( - !urlToSave.includes(`${VisualizeConstants.EDIT_PATH}/`) && - this.isLinkedToOriginatingApp?.() - ) { + if (this.isLinkedToOriginatingApp?.()) { return core.http.basePath.prepend(VisualizeConstants.VISUALIZE_BASE_PATH); } return urlToSave; diff --git a/test/functional/apps/dashboard/create_and_add_embeddables.ts b/test/functional/apps/dashboard/create_and_add_embeddables.ts index c26b375a37b8f5..f4ee4e99047686 100644 --- a/test/functional/apps/dashboard/create_and_add_embeddables.ts +++ b/test/functional/apps/dashboard/create_and_add_embeddables.ts @@ -69,10 +69,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.dashboard.waitForRenderComplete(); }); - it('saves the saved visualization url to the app link', async () => { + it('saves the listing page instead of the visualization to the app link', async () => { await PageObjects.header.clickVisualize(true); const currentUrl = await browser.getCurrentUrl(); - expect(currentUrl).to.contain(VisualizeConstants.EDIT_PATH); + expect(currentUrl).not.to.contain(VisualizeConstants.EDIT_PATH); }); after(async () => { diff --git a/test/functional/apps/dashboard/edit_visualizations.js b/test/functional/apps/dashboard/edit_visualizations.js index a918c017bd88f8..d5df97881a1d3b 100644 --- a/test/functional/apps/dashboard/edit_visualizations.js +++ b/test/functional/apps/dashboard/edit_visualizations.js @@ -109,6 +109,24 @@ export default function ({ getService, getPageObjects }) { expect(await testSubjects.exists('visualizationLandingPage')).to.be(true); }); + it('visualize app menu navigates to the visualize listing page if the last opened visualization was linked to dashboard', async () => { + await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.gotoDashboardLandingPage(); + await PageObjects.dashboard.clickNewDashboard(); + + // Create markdown by reference. + await createMarkdownVis('by reference'); + + // Edit then save and return + await editMarkdownVis(); + await PageObjects.visualize.saveVisualizationAndReturn(); + + await PageObjects.header.waitUntilLoadingHasFinished(); + await appsMenu.clickLink('Visualize Library'); + await PageObjects.common.clickConfirmOnModal(); + expect(await testSubjects.exists('visualizationLandingPage')).to.be(true); + }); + describe('by value', () => { it('save and return button returns to dashboard after editing visualization with changes saved', async () => { await PageObjects.common.navigateToApp('dashboard');