d3-visualize
Version:
d3-view components for data visualization
29 lines (23 loc) • 752 B
JavaScript
import createVisual, {visuals} from './base';
import warn from '../utils/warn';
export default createVisual('container', {
initialise () {
this.live = [];
if (this.visualParent) this.visualParent.live.push(this);
},
draw (fetchData) {
if (this.drawing) {
warn(`${this.toString()} already drawing`);
return this.drawing;
}
var self = this;
visuals.events.call('before-draw', undefined, self);
return Promise.all(this.live.map(visual => visual.redraw(fetchData))).then(() => {
delete self.drawing;
visuals.events.call('after-draw', undefined, self);
});
},
destroy () {
this.pop(this.visualParent);
}
});