diff --git a/src/legacy/core_plugins/kibana/public/dashboard/dashboard_app_controller.tsx b/src/legacy/core_plugins/kibana/public/dashboard/dashboard_app_controller.tsx index 60004374eb33e..eb49277fbc7b4 100644 --- a/src/legacy/core_plugins/kibana/public/dashboard/dashboard_app_controller.tsx +++ b/src/legacy/core_plugins/kibana/public/dashboard/dashboard_app_controller.tsx @@ -503,7 +503,7 @@ export class DashboardAppController { $scope.savedQuery = undefined; return; } - if ($scope.savedQuery && newSavedQueryId !== $scope.savedQuery.id) { + if (!$scope.savedQuery || newSavedQueryId !== $scope.savedQuery.id) { savedQueryService.getSavedQuery(newSavedQueryId).then((savedQuery: SavedQuery) => { $scope.$evalAsync(() => { $scope.savedQuery = savedQuery; diff --git a/src/legacy/core_plugins/kibana/public/discover/controllers/discover.js b/src/legacy/core_plugins/kibana/public/discover/controllers/discover.js index 199d2be24c0d3..62ab934ae07b6 100644 --- a/src/legacy/core_plugins/kibana/public/discover/controllers/discover.js +++ b/src/legacy/core_plugins/kibana/public/discover/controllers/discover.js @@ -219,7 +219,6 @@ function discoverController( $scope.minimumVisibleRows = 50; $scope.fetchStatus = fetchStatuses.UNINITIALIZED; $scope.refreshInterval = timefilter.getRefreshInterval(); - $scope.savedQuery = $route.current.locals.savedQuery; $scope.showSaveQuery = uiCapabilities.discover.saveQuery; $scope.$watch(() => uiCapabilities.discover.saveQuery, (newCapability) => { @@ -548,6 +547,11 @@ function discoverController( }; const shouldSearchOnPageLoad = () => { + // If a saved query is referenced in the app state, omit the initial load because the saved query will + // be fetched separately and trigger a reload + if ($scope.state.savedQuery) { + return false; + } // A saved search is created on every page load, so we check the ID to see if we're loading a // previously saved search or if it is just transient return config.get('discover:searchOnPageLoad') @@ -979,7 +983,7 @@ function discoverController( return; } - if ($scope.savedQuery && newSavedQueryId !== $scope.savedQuery.id) { + if (!$scope.savedQuery || newSavedQueryId !== $scope.savedQuery.id) { savedQueryService.getSavedQuery(newSavedQueryId).then((savedQuery) => { $scope.$evalAsync(() => { $scope.savedQuery = savedQuery; diff --git a/src/legacy/core_plugins/kibana/public/visualize/editor/editor.js b/src/legacy/core_plugins/kibana/public/visualize/editor/editor.js index dbaadc24b0621..4c5771ecb5f4b 100644 --- a/src/legacy/core_plugins/kibana/public/visualize/editor/editor.js +++ b/src/legacy/core_plugins/kibana/public/visualize/editor/editor.js @@ -546,7 +546,7 @@ function VisEditor( $scope.savedQuery = undefined; return; } - if ($scope.savedQuery && newSavedQueryId !== $scope.savedQuery.id) { + if (!$scope.savedQuery || newSavedQueryId !== $scope.savedQuery.id) { savedQueryService.getSavedQuery(newSavedQueryId).then((savedQuery) => { $scope.$evalAsync(() => { $scope.savedQuery = savedQuery;