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 de32d060b6cdb..b03f09c165650 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 @@ -497,7 +497,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 8a6570781e87d..e517b2a02a31c 100644 --- a/src/legacy/core_plugins/kibana/public/discover/controllers/discover.js +++ b/src/legacy/core_plugins/kibana/public/discover/controllers/discover.js @@ -220,7 +220,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) => { @@ -549,6 +548,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') @@ -980,7 +984,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 85604448dc8d0..2b6636165169f 100644 --- a/src/legacy/core_plugins/kibana/public/visualize/editor/editor.js +++ b/src/legacy/core_plugins/kibana/public/visualize/editor/editor.js @@ -547,7 +547,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;