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 { }