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');
const style = {
stroke: '#FFF',
lineWidth: 1,
};
const color = ['value', '#BAE7FF-#1890FF-#0050B3'];
@Component({
selector: '#mount',
template: `
`
})
export class AppComponent {
forceFit: boolean = true;
height: number = 500;
data = [];
style = style;
color = color;
constructor() {
$.getJSON('/assets/data/sunburst.json', (sourceData) => {
const dv = new DataSet.View().source(sourceData, {
type: 'hierarchy',
});
dv.transform({
type: 'hierarchy.partition',
field: 'sum',
as: ['x', 'y'],
});
this.data = dv.getAllNodes().filter((node: any) => {
return node.depth !== 0;
}).map((node: any) => {
return {
label: node.data.label,
sum: node.data.sum,
uv: node.data.uv,
value: node.value,
x: node.x,
y: node.y,
};
});
});
}
}
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
ViserModule
],
providers: [],
bootstrap: [AppComponent]
})
export default class AppModule { }