diff --git a/src/ui/public/visualize/visualization.js b/src/ui/public/visualize/visualization.js index 769da61c07148..96ce3bc7b5f8f 100644 --- a/src/ui/public/visualize/visualization.js +++ b/src/ui/public/visualize/visualization.js @@ -6,6 +6,7 @@ import { uiModules } from 'ui/modules'; import { ResizeCheckerProvider } from 'ui/resize_checker'; import visualizationTemplate from 'ui/visualize/visualization.html'; import { getUpdateStatus } from 'ui/vis/update_status'; +import { PersistedState } from 'ui/persisted_state'; import 'angular-sanitize'; uiModules @@ -35,9 +36,12 @@ uiModules $scope.addLegend = false; + // Set the passed in uiState to the vis object, so we don't require any + // users of the <visualization/> directive to manually set the uiState. + if (!$scope.uiState) $scope.uiState = new PersistedState({}); + $scope.vis.setUiState($scope.uiState); // Whenever the uiState changed, that the visualization should use, - // attach it to the actual Vis class. Thus we don't require any users - // of the <visualization/> directive to manuallay set the uiState. + // attach it to the actual Vis class. $scope.$watch('uiState', (uiState) => { $scope.vis.setUiState(uiState); }); diff --git a/test/functional/apps/dashboard/_dashboard_state.js b/test/functional/apps/dashboard/_dashboard_state.js index ad62cc8af22ca..6ef47a5f17b5e 100644 --- a/test/functional/apps/dashboard/_dashboard_state.js +++ b/test/functional/apps/dashboard/_dashboard_state.js @@ -134,7 +134,7 @@ export default function ({ getService, getPageObjects }) { expect(headers[1]).to.be('agent'); }); - it.skip('Tile map with no changes will update with visualization changes', async () => { + it('Tile map with no changes will update with visualization changes', async () => { await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.dashboard.clickNewDashboard();