-
Notifications
You must be signed in to change notification settings - Fork 5
/
app.component.ts
53 lines (49 loc) · 1.52 KB
/
app.component.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import { Component, ViewChild } from '@angular/core';
import { FlexmonsterPivot } from 'ng-flexmonster';
import { Flexmonster } from 'ng-flexmonster';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
@ViewChild('pivot') pivot: FlexmonsterPivot;
public pivotReport = {
dataSource: {
filename: 'https://cdn.flexmonster.com/data/data.csv'
},
slice: {
rows: [
{ uniqueName: 'Destination' },
{ uniqueName: 'Color' },
{ uniqueName: '[Measures]' }
],
columns: [
{ uniqueName: 'Category' },
{ uniqueName: 'Country' }
],
measures: [
{ uniqueName: 'Price', aggregation: 'sum' },
{ uniqueName: 'Quantity', aggregation: 'sum' }
]
}
}
onPivotReady(pivot: Flexmonster.Pivot): void {
console.log("[ready] FlexmonsterPivot", this.pivot);
}
onCustomizeCell(cell: Flexmonster.CellBuilder, data: Flexmonster.CellData): void {
//console.log("[customizeCell] FlexmonsterPivot");
if (data.isClassicTotalRow) cell.addClass("fm-total-classic-r");
if (data.isGrandTotalRow) cell.addClass("fm-grand-total-r");
if (data.isGrandTotalColumn) cell.addClass("fm-grand-total-c");
}
onReportComplete(): void {
this.pivot.flexmonster.off("reportcomplete");
this.pivot.flexmonster.setReport({
dataSource: {
dataSourceType: "json",
filename: "https://cdn.flexmonster.com/data/data.json"
}
});
}
}