import 'zone.js';
import 'reflect-metadata';
import { Component, enableProdMode, NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { ViserModule } from 'viser-ng';
import * as $ from 'jquery';
const DataSet = require('@antv/data-set');
@Component({
selector: '#mount',
template: `
`
})
class AppComponent {
forceFit: boolean = true;
height: number = 400;
data = [];
scale = [{
dataKey: 'date',
type: 'time',
nice: false,
mask: 'MM-DD',
tickCount: 10,
}, {
dataKey: 'range',
min: 20,
max: 35,
nice: false,
tickInterval: 2,
}, {
dataKey: 'mean',
min: 20,
max: 35,
nice: false,
}, {
dataKey: 'stockRange',
min: 20,
max: 35,
nice: false,
}];
tooltip = {
crosshairs: {
type: 'line',
},
};
color = ['trend', val => {
if (val === 'up') {
return '#f04864';
}
if (val === 'down') {
return '#2fc25b';
}
}];
constructor() {
$.getJSON('/assets/data/stock-2.json', (sourceData) => {
const dv = new DataSet.View().source(sourceData);
dv.transform({
type: 'map',
callback: (obj: any) => {
obj.stockRange = [obj.start, obj.end, obj.highest, obj.lowest];
return obj;
}
});
this.data = dv.rows;
});
}
}
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
ViserModule
],
providers: [],
bootstrap: [
AppComponent
]
})
export default class AppModule { }