import 'zone.js';
import 'reflect-metadata';
import { Component, enableProdMode, NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { ViserModule } from 'viser-ng';
const data = [
{ time: '10:10', call: 4, waiting: 2, people: 2 },
{ time: '10:15', call: 2, waiting: 6, people: 3 },
{ time: '10:20', call: 13, waiting: 2, people: 5 },
{ time: '10:25', call: 9, waiting: 9, people: 1 },
{ time: '10:30', call: 5, waiting: 2, people: 3 },
{ time: '10:35', call: 8, waiting: 2, people: 1 },
{ time: '10:40', call: 13, waiting: 1, people: 2 }
];
const scale = [{
dataKey: 'call',
min: 0
}, {
dataKey: 'people',
min: 0
}, {
dataKey: 'waiting',
min: 0
}];
@Component({
selector: '#mount',
template: `
`
})
class AppComponent {
forceFit: boolean = true;
height: number = 400;
data = data;
scale = scale;
axisLabel = {
textStyle: {
fill: '#fdae6b'
}
};
axisGrid = null;
gemoSize = 3;
legendCustom = true;
legendAllowAllCanceled = true;
legendItems = [
{ value: 'waiting', marker: { symbol: 'square', fill: '#3182bd', radius: 5 } },
{ value: 'people', marker: { symbol: 'hyphen', stroke: '#fdae6b', radius: 5, lineWidth: 3 } }
];
legendOnClick = (ev, chart) => {
const item = ev.item;
const value = item.value;
const checked = ev.checked;
const geoms = chart.getAllGeoms();
for (let i = 0; i < geoms.length; i++) {
const geom = geoms[i];
if (geom.getYScale().field === value) {
if (checked) {
geom.show();
} else {
geom.hide();
}
}
}
};
}
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
ViserModule
],
providers: [],
bootstrap: [
AppComponent
]
})
export default class AppModule { }