Skip to content

Commit 2393329

Browse files
elastic-jasperppisljar
authored andcommitted
visualizations emit 'renderComplete' event when done rendering (elastic#9113)
Backports PR elastic#8914 **Commit 1:** visualize emits renderComplete event once its done rendering * Original sha: 2195692 * Authored by ppisljar <peter.pisljar@gmail.com> on 2016-11-04T09:32:29Z **Commit 2:** fixing test * Original sha: 97a390a * Authored by ppisljar <peter.pisljar@gmail.com> on 2016-11-04T09:48:23Z **Commit 3:** adding renderComplete event to timelion * Original sha: b833873 * Authored by ppisljar <peter.pisljar@gmail.com> on 2016-11-10T15:14:16Z **Commit 4:** adding renderComplete event to timelion * Original sha: ab94eef * Authored by ppisljar <peter.pisljar@gmail.com> on 2016-11-11T09:20:32Z **Commit 5:** adding implementsRenderComplete property to vis * Original sha: b2ff874 * Authored by ppisljar <peter.pisljar@gmail.com> on 2016-11-16T06:50:19Z **Commit 6:** adding helper method on vis * Original sha: fc78562 * Authored by ppisljar <peter.pisljar@gmail.com> on 2016-11-16T18:21:46Z **Commit 7:** adding onRenderComplete method * Original sha: 451ab9a * Authored by ppisljar <peter.pisljar@gmail.com> on 2016-11-16T18:48:48Z
1 parent ece1272 commit 2393329

18 files changed

Lines changed: 78 additions & 20 deletions

File tree

src/core_plugins/markdown_vis/public/__tests__/markdown_vis_controller.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,17 @@ describe('markdown vis controller', function () {
88
beforeEach(ngMock.module('kibana/markdown_vis'));
99
beforeEach(ngMock.inject(function ($rootScope, $controller) {
1010
$scope = $rootScope.$new();
11+
$scope.vis = {
12+
emit: function () {}
13+
};
1114
$controller('KbnMarkdownVisController', {$scope: $scope});
1215
$scope.$digest();
1316
}));
1417

1518
it('should set html from markdown params', function () {
1619
expect($scope).to.not.have.property('html');
17-
$scope.vis = {
18-
params: {
19-
markdown: 'This is a test of the [markdown](http://daringfireball.net/projects/markdown) vis.'
20-
}
20+
$scope.vis.params = {
21+
markdown: 'This is a test of the [markdown](http://daringfireball.net/projects/markdown) vis.'
2122
};
2223
$scope.$digest();
2324

src/core_plugins/markdown_vis/public/markdown_vis.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ function MarkdownVisProvider(Private) {
2424
params: {
2525
editor: markdownVisParamsTemplate
2626
},
27-
requiresSearch: false
27+
requiresSearch: false,
28+
implementsRenderComplete: true,
2829
});
2930
}
3031

src/core_plugins/markdown_vis/public/markdown_vis_controller.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ marked.setOptions({
1111
const module = uiModules.get('kibana/markdown_vis', ['kibana', 'ngSanitize']);
1212
module.controller('KbnMarkdownVisController', function ($scope) {
1313
$scope.$watch('vis.params.markdown', function (html) {
14-
if (!html) return;
15-
$scope.html = marked(html);
14+
if (html) {
15+
$scope.html = marked(html);
16+
}
17+
$scope.vis.emit('renderComplete');
1618
});
1719
});

src/core_plugins/metric_vis/public/metric_vis.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ function MetricVisProvider(Private) {
3131
},
3232
editor: metricVisParamsTemplate
3333
},
34+
implementsRenderComplete: true,
3435
schemas: new Schemas([
3536
{
3637
group: 'metrics',

src/core_plugins/metric_vis/public/metric_vis_controller.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ module.controller('KbnMetricVisController', function ($scope, Private) {
3434
if (resp) {
3535
metrics.length = 0;
3636
$scope.processTableGroups(tabifyAggResponse($scope.vis, resp));
37+
$scope.vis.emit('renderComplete');
3738
}
3839
});
3940
});

src/core_plugins/table_vis/public/table_vis.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ function TableVisTypeProvider(Private) {
4848
},
4949
editor: '<table-vis-params></table-vis-params>'
5050
},
51+
implementsRenderComplete: true,
5152
hierarchicalData: function (vis) {
5253
return Boolean(vis.params.showPartialRows || vis.params.showMeticsAtAllLevels);
5354
},

src/core_plugins/table_vis/public/table_vis_controller.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ module.controller('KbnTableVisController', function ($scope, Private) {
4343
if (table.tables) return table.tables.some(haveRows);
4444
return table.rows.length > 0;
4545
});
46+
47+
$scope.vis.emit('renderComplete');
4648
}
4749

4850
$scope.hasSomeRows = hasSomeRows;

src/core_plugins/timelion/public/panels/timechart/schema.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,10 @@ module.exports = function timechartFn(Private, config, $rootScope, timefilter, $
229229
setTimeout(drawPlot, 500);
230230
}
231231

232+
if ($scope.plot) {
233+
$scope.$emit('renderComplete');
234+
}
235+
232236
legendScope.$destroy();
233237
legendScope = $scope.$new();
234238
// Used to toggle the series, and for displaying values on hover

src/core_plugins/timelion/public/vis/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ define(function (require) {
2424
params: {
2525
editor: require('plugins/timelion/vis/timelion_vis_params.html')
2626
},
27-
requiresSearch: false
27+
requiresSearch: false,
28+
implementsRenderComplete: true,
2829
});
2930
}
3031

src/core_plugins/timelion/public/vis/timelion_vis_controller.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,10 @@ define(function (require) {
5959

6060
$scope.$on('fetch', $scope.search);
6161

62+
$scope.$on('renderComplete', event => {
63+
event.stopPropagation();
64+
$scope.vis.emit('renderComplete');
65+
});
66+
6267
});
6368
});

0 commit comments

Comments
 (0)