diff --git a/src/app/pages/dashboard/lineChart/lineChart.component.ts b/src/app/pages/dashboard/lineChart/lineChart.component.ts
index 42bf0e6d..04282d87 100644
--- a/src/app/pages/dashboard/lineChart/lineChart.component.ts
+++ b/src/app/pages/dashboard/lineChart/lineChart.component.ts
@@ -2,36 +2,34 @@ import {Component, ViewEncapsulation} from 'angular2/core';
import './lineChart.loader.ts';
import {LineChartService} from './lineChart.service';
+import {BaAmChart} from '../../../theme/components';
@Component({
selector: 'line-chart',
encapsulation: ViewEncapsulation.None,
providers: [LineChartService],
+ directives: [BaAmChart],
styles: [require('./lineChart.scss')],
template: require('./lineChart.html')
})
export class LineChart {
+ chartData:Object;
+
constructor(private _lineChartService:LineChartService) {
+ this.chartData = this._lineChartService.getData();
}
- ngAfterViewInit() {
- this._loadLineChart();
- }
-
- // TODO: load proper AmCharts theme
- private _loadLineChart() {
- let chart = AmCharts.makeChart('amchart', this._lineChartService.getData());
-
+ initChart(chart:any) {
let zoomChart = () => {
chart.zoomToDates(new Date(2013, 3), new Date(2014, 0));
};
chart.addListener('rendered', zoomChart);
- zoomChart();
-
- if (chart.zoomChart) {
- chart.zoomChart();
- }
+ // zoomChart();
+ //
+ // if (chart.zoomChart) {
+ // chart.zoomChart();
+ // }
}
}
diff --git a/src/app/pages/dashboard/lineChart/lineChart.html b/src/app/pages/dashboard/lineChart/lineChart.html
index 0ba3a7a0..143e219e 100644
--- a/src/app/pages/dashboard/lineChart/lineChart.html
+++ b/src/app/pages/dashboard/lineChart/lineChart.html
@@ -1 +1 @@
-
+
diff --git a/src/app/theme/components/baAmChart/baAmChart.component.ts b/src/app/theme/components/baAmChart/baAmChart.component.ts
new file mode 100644
index 00000000..51348442
--- /dev/null
+++ b/src/app/theme/components/baAmChart/baAmChart.component.ts
@@ -0,0 +1,27 @@
+import {Component, ViewEncapsulation, Input, Output, ElementRef, EventEmitter} from 'angular2/core';
+
+import './baAmChart.loader.ts';
+import {DOM} from "angular2/src/platform/dom/dom_adapter";
+
+@Component({
+ selector: 'ba-am-chart',
+ styles: [require('./baAmChart.scss')],
+ template: require('./baAmChart.html'),
+ encapsulation: ViewEncapsulation.None
+})
+export class BaAmChart {
+
+ @Input() baAmChartConfiguration:Object;
+ @Input() baAmChartClass:string;
+ @Output() onChartReady = new EventEmitter();
+
+ constructor (private _elementRef:ElementRef) {
+ }
+
+ ngAfterViewInit() {
+ let el = DOM.querySelector(this._elementRef.nativeElement, '.ba-am-chart');
+
+ let chart = AmCharts.makeChart(el, this.baAmChartConfiguration);
+ this.onChartReady.emit(chart);
+ }
+}
diff --git a/src/app/theme/components/baAmChart/baAmChart.html b/src/app/theme/components/baAmChart/baAmChart.html
new file mode 100644
index 00000000..f8fb2873
--- /dev/null
+++ b/src/app/theme/components/baAmChart/baAmChart.html
@@ -0,0 +1 @@
+
diff --git a/src/app/theme/components/baAmChart/baAmChart.loader.ts b/src/app/theme/components/baAmChart/baAmChart.loader.ts
new file mode 100644
index 00000000..4d7df3f6
--- /dev/null
+++ b/src/app/theme/components/baAmChart/baAmChart.loader.ts
@@ -0,0 +1,6 @@
+require('amcharts3');
+require('amcharts3/amcharts/plugins/responsive/responsive.js');
+require('amcharts3/amcharts/serial.js');
+
+require('ammap3');
+require('ammap3/ammap/maps/js/worldLow');
diff --git a/src/app/theme/components/baAmChart/baAmChart.scss b/src/app/theme/components/baAmChart/baAmChart.scss
new file mode 100644
index 00000000..e69de29b
diff --git a/src/app/theme/components/baAmChart/index.ts b/src/app/theme/components/baAmChart/index.ts
new file mode 100644
index 00000000..9a979834
--- /dev/null
+++ b/src/app/theme/components/baAmChart/index.ts
@@ -0,0 +1 @@
+export * from './baAmChart.component.ts';
diff --git a/src/app/theme/components/index.ts b/src/app/theme/components/index.ts
index 859510c7..0a862979 100644
--- a/src/app/theme/components/index.ts
+++ b/src/app/theme/components/index.ts
@@ -3,3 +3,4 @@ export * from './msgCenter';
export * from './sidebar';
export * from './contentTop';
export * from './baCard';
+export * from './baAmChart';