charts/src/js/objects/ChartComponent.js
2018-01-03 16:23:05 +05:30

42 lines
708 B
JavaScript

import { makeSVGGroup } from '../utils/draw';
export class ChartComponent {
constructor({
layerClass = '',
layerTransform = '',
make,
animate
}) {
this.layerClass = layerClass;
this.layerTransform = layerTransform;
this.make = make;
this.animate = animate;
this.layer = undefined;
this.store = [];
}
refresh(args) {}
render() {
this.store = this.make();
this.layer.textContent = '';
this.store.forEach(element => {
this.layer.appendChild(element);
});
}
setupParent(parent) {
this.parent = parent;
}
loadAnimatedComponents() {
this.animate(this.store);
}
makeLayer() {
this.layer = makeSVGGroup(this.parent, this.layerClass, this.layerTransform);
}
}