Commit c0f4e780 authored by Almouhannad Hafez's avatar Almouhannad Hafez

Fix chartConfiguration usage in chart.ts

parent a379d8c4
......@@ -2,12 +2,7 @@ import * as d3 from 'd3';
import { ChartConfiguration } from './chart-configuration';
export abstract class Chart {
protected config: {
parentSVGElement: string;
containerWidth: number;
containerHeight: number;
margin: { top: number; right: number; bottom: number; left: number; };
};
protected config: ChartConfiguration;
public data: any[];
protected width: number;
protected height: number;
......@@ -24,13 +19,10 @@ export abstract class Chart {
const vis = this;
// Configuration object with defaults
const { width, height } = _config.containerSize || vis.getDefaultContainerSize();
vis.config = {
parentSVGElement: _config.parentSVGElement,
containerWidth: width,
containerHeight: height,
margin: _config.margin || vis.getDefaultMargins()
};
vis.config = new ChartConfiguration(_config.parentSVGElement,
_config.containerSize || vis.getDefaultContainerSize(),
_config.margin || vis.getDefaultMargins());
vis.data = _data || [];
vis.initChart();
}
......@@ -52,18 +44,18 @@ export abstract class Chart {
const vis = this;
// Calculate inner chart size.
vis.width = vis.config.containerWidth - vis.config.margin.left - vis.config.margin.right;
vis.height = vis.config.containerHeight - vis.config.margin.top - vis.config.margin.bottom;
vis.width = vis.config.containerSize!.width - vis.config.margin!.left - vis.config.margin!.right;
vis.height = vis.config.containerSize!.height - vis.config.margin!.top - vis.config.margin!.bottom;
// Define size of SVG drawing area
vis.svg = d3.select(vis.config.parentSVGElement)
.attr('width', vis.config.containerWidth)
.attr('height', vis.config.containerHeight);
.attr('width', vis.config.containerSize!.width)
.attr('height', vis.config.containerSize!.height);
// Append group element that will contain our actual chart
// and position it according to the given margin config
vis.chart = vis.svg.append('g')
.attr('transform', `translate(${vis.config.margin.left},${vis.config.margin.top})`);
.attr('transform', `translate(${vis.config.margin!.left},${vis.config.margin!.top})`);
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment