Skip to content

Commit

Permalink
visualize should wait for visualization to finish initialization (ela…
Browse files Browse the repository at this point in the history
…stic#13742)

* visualize should wait for visualization to finish initialization

* clear timeout on destroy

* fixing based on stacey's review
  • Loading branch information
ppisljar authored and chrisronline committed Dec 1, 2017
1 parent cdf0d5d commit ca02208
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 4 deletions.
8 changes: 7 additions & 1 deletion src/ui/public/visualize/visualization.js
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,12 @@ uiModules
const Visualization = $scope.vis.type.visualization;
const visualization = new Visualization(getVisEl()[0], $scope.vis);

if (visualization.init) {
visualization.init().then(() => { $scope.vis.initialized = true; });
} else {
$scope.vis.initialized = true;
}

const renderFunction = _.debounce(() => {
$scope.vis.size = [$el.width(), $el.height()];
const status = getUpdateStatus($scope);
Expand All @@ -115,7 +121,7 @@ uiModules
}, 100);

$scope.$on('render', () => {
if (!$scope.vis || ($scope.vis.type.requiresSearch && !$scope.visData)) {
if (!$scope.vis || !$scope.vis.initialized || ($scope.vis.type.requiresSearch && !$scope.visData)) {
return;
}
renderFunction();
Expand Down
3 changes: 2 additions & 1 deletion src/ui/public/visualize/visualization_editor.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { getUpdateStatus } from 'ui/vis/update_status';

uiModules
.get('kibana/directive', ['ngSanitize'])
.directive('visualizationEditor', function (Private) {
.directive('visualizationEditor', function (Private, $timeout) {
const editorTypes = Private(VisEditorTypesRegistryProvider);

return {
Expand Down Expand Up @@ -43,6 +43,7 @@ uiModules
editor.destroy();
});

$timeout(() => { renderFunction(); });
}
};
});
6 changes: 4 additions & 2 deletions src/ui/public/visualize/visualize.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ uiModules
const responseHandler = getHandler(responseHandlers, $scope.vis.type.responseHandler);

$scope.fetch = _.debounce(function () {

// searchSource is only there for courier request handler
if (!$scope.vis.initialized) return;
// searchSource is only there for courier request handler
requestHandler($scope.vis, $scope.appState, $scope.uiState, queryFilter, $scope.savedObj.searchSource)
.then(requestHandlerResponse => {

Expand Down Expand Up @@ -151,6 +151,8 @@ uiModules
resizeChecker.destroy();
});

$scope.$watch('vis.initialized', $scope.fetch);

$scope.fetch();
$scope.$root.$broadcast('ready:vis');
}
Expand Down

0 comments on commit ca02208

Please sign in to comment.