---------

**Commit 1:**
adding mapLoaded event to tile_map visualization

* Original sha: e198f4129f
* Authored by ppisljar <peter.pisljar@gmail.com> on 2016-09-20T10:22:43Z

**Commit 2:**
adding rendered event to each chart and renderComplete to vis

* Original sha: 8324f5a83e
* Authored by ppisljar <peter.pisljar@gmail.com> on 2016-09-20T17:54:52Z

**Commit 3:**
fixing based on Spencers comments

* Original sha: b4780fe04b
* Authored by ppisljar <peter.pisljar@gmail.com> on 2016-09-22T07:24:19Z
This commit is contained in:
Elastic Jasper 2016-09-22 11:59:13 -04:00
parent 8d733f118a
commit 9de65665cc
6 changed files with 38 additions and 2 deletions

View file

@ -116,14 +116,23 @@ export default function HandlerBaseClass(Private) {
});
// render the chart(s)
selection.selectAll('.chart')
.each(function (chartData) {
let loadedCount = 0;
const chartSelection = selection.selectAll('.chart');
chartSelection.each(function (chartData) {
const chart = new self.ChartClass(self, this, chartData);
self.vis.activeEvents().forEach(function (event) {
self.enable(event, chart);
});
chart.events.on('rendered', () => {
loadedCount++;
if (loadedCount === chartSelection.length) {
// events from all charts are propagated to vis, we only need to fire renderComplete on one (first)
charts[0].events.emit('renderComplete');
}
});
charts.push(chart);
chart.render();
});

View file

@ -211,6 +211,17 @@ export default function MapFactory(Private, tilemap, $sanitize) {
this._tileLayer.on('tileload', saturateTiles);
this._tileLayer.on('load', () => {
if (!self._events) return;
self._events.emit('rendered', {
chart: self._chartData,
map: self.map,
center: self._mapCenter,
zoom: self._mapZoom,
});
});
this.map.on('unload', function () {
self._tileLayer.off('tileload', saturateTiles);
});

View file

@ -365,6 +365,10 @@ export default function AreaChartFactory(Private) {
timeMarker.render(svg);
}
self.events.emit('rendered', {
chart: data
});
return svg;
});
};

View file

@ -315,6 +315,10 @@ export default function ColumnChartFactory(Private) {
timeMarker.render(svg);
}
self.events.emit('rendered', {
chart: data
});
return svg;
});
};

View file

@ -339,6 +339,10 @@ export default function LineChartFactory(Private) {
timeMarker.render(svg);
}
self.events.emit('rendered', {
chart: data
});
return svg;
});
};

View file

@ -202,6 +202,10 @@ export default function PieChartFactory(Private) {
const path = self.addPath(width, height, svg, slices);
self.addPathEvents(path);
self.events.emit('rendered', {
chart: data
});
return svg;
});
};