transferred stuff from pie panel to dashboard
This commit is contained in:
parent
52a2b6716c
commit
9d17a331fa
4 changed files with 195 additions and 189 deletions
|
@ -14,12 +14,74 @@
|
||||||
<div class="col-xl-4 col-md-6">
|
<div class="col-xl-4 col-md-6">
|
||||||
<panel-pie></panel-pie>
|
<panel-pie></panel-pie>
|
||||||
</div><!--/.col-->
|
</div><!--/.col-->
|
||||||
|
<div class="col-xl-4 col-md-6">
|
||||||
|
<div *ngIf="showCategoryDoughnutChart" class="card">
|
||||||
|
<div class="card-block">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<h4 class="card-title mb-0">Weekly Spending by Category</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="chart-wrapper">
|
||||||
|
<canvas baseChart class="chart"
|
||||||
|
[datasets]="doughnutChartDataCategory"
|
||||||
|
[labels]="doughnutChartLabelsCategory"
|
||||||
|
[options]="doughtnutChartOptionsCategory"
|
||||||
|
[legend]="chartLegend"
|
||||||
|
[chartType]="chartType"
|
||||||
|
(chartHover)="chartHovered($event)"
|
||||||
|
(chartClick)="chartClicked($event)"></canvas>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!--/.col-->
|
||||||
|
<div class="col-xl-4 col-md-6">
|
||||||
|
<div *ngIf="showEssentialBarChart" class="card">
|
||||||
|
<div class="card-block">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<h4 class="card-title mb-0">No. of Essential Purchases</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="chart-wrapper">
|
||||||
|
<canvas baseChart class="chart"
|
||||||
|
[datasets]="barChartDataEssential"
|
||||||
|
[labels]="barChartLabelsEssential"
|
||||||
|
[options]="barChartOptionsEssential"
|
||||||
|
[chartType]="barChartTypeEssential"
|
||||||
|
(chartHover)="chartHovered($event)"
|
||||||
|
(chartClick)="chartClicked($event)"></canvas>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!--/.col-->
|
||||||
|
<div class="col-xl-4 col-md-6">
|
||||||
|
<div *ngIf="showCategoryBarChart" class="card">
|
||||||
|
<div class="card-block">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<h4 class="card-title mb-0">Monthly Spending by Category</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="chart-wrapper">
|
||||||
|
<canvas baseChart
|
||||||
|
[datasets]="barChartDataCategory"
|
||||||
|
[labels]="barChartLabelsCategory"
|
||||||
|
[options]="barChartOptionsCategory"
|
||||||
|
[legend]="barChartLegendCategory"
|
||||||
|
[chartType]="barChartTypeCategory"
|
||||||
|
(chartHover)="chartHovered($event)"
|
||||||
|
(chartClick)="chartClicked($event)"></canvas>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!--/.col-->
|
||||||
<div class="col-xl-4 col-md-6">
|
<div class="col-xl-4 col-md-6">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-block">
|
<div class="card-block">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<h4 class="card-title float-left mb-0">Purchases by Week</h4>
|
<h4 class="card-title float-left mb-0">Weekly Purchase No.</h4>
|
||||||
</div><!--/.col-->
|
</div><!--/.col-->
|
||||||
</div><!--/.row-->
|
</div><!--/.row-->
|
||||||
<div class="chart-wrapper">
|
<div class="chart-wrapper">
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { Directive, Component, OnInit } from '@angular/core';
|
import { Directive, Component, OnInit } from '@angular/core';
|
||||||
|
import { CurrencyPipe } from '@angular/common';
|
||||||
import { ApiService } from '../providers/api-service';
|
import { ApiService } from '../providers/api-service';
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import { GraphWidget } from '../widgets/graph-widget.component';
|
import { GraphWidget } from '../widgets/graph-widget.component';
|
||||||
|
@ -22,6 +23,73 @@ export class DashboardCustomerComponent implements OnInit {
|
||||||
|
|
||||||
disableSectorButton: boolean = false;
|
disableSectorButton: boolean = false;
|
||||||
|
|
||||||
|
public chartType = 'doughnut';
|
||||||
|
public chartLegend = true;
|
||||||
|
public doughnutChartDataCategory: number[] = [];
|
||||||
|
public doughnutChartLabelsCategory: string[] = [];
|
||||||
|
|
||||||
|
public doughtnutChartOptionsCategory:any = {
|
||||||
|
tooltips: {
|
||||||
|
callbacks: {
|
||||||
|
label: (tooltip, data) => {
|
||||||
|
return this.tooltipLabelCallback(tooltip, data);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
myWeek1: any;
|
||||||
|
|
||||||
|
weekList1 = [];
|
||||||
|
|
||||||
|
public purchaseNotEssential: number;
|
||||||
|
public purchaseEssential: number;
|
||||||
|
public showEssentialBarChart = false;
|
||||||
|
public showCategoryBarChart = false;
|
||||||
|
public showCategoryDoughnutChart = false;
|
||||||
|
|
||||||
|
public barChartDataEssential:any[]=[
|
||||||
|
{data: 0, label: 'Essential', stack: '1'},
|
||||||
|
{data: 0, label: 'Non-Essential', stack: '1'},
|
||||||
|
];
|
||||||
|
public barChartLabelsEssential:string[] = ['All Purchases'];
|
||||||
|
public barChartOptionsEssential:any = {
|
||||||
|
responsive: true,
|
||||||
|
scales:{
|
||||||
|
xAxes:[{
|
||||||
|
stacked:true
|
||||||
|
}],
|
||||||
|
yAxes:[{
|
||||||
|
stacked:true
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
public barChartTypeEssential:string = 'horizontalBar';
|
||||||
|
|
||||||
|
public barChartOptionsCategory:any = {
|
||||||
|
scaleShowVerticalLines: false,
|
||||||
|
responsive: true,
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
ticks: {
|
||||||
|
beginAtZero: true,
|
||||||
|
callback: label => `£${label}`
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
tooltips: {
|
||||||
|
callbacks: {
|
||||||
|
label: (tooltip, data) => {
|
||||||
|
return this.tooltipLabelCallback(tooltip, data);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
public barChartTypeCategory:string = 'bar';
|
||||||
|
public barChartLegendCategory:boolean = false;
|
||||||
|
public barChartDataCategory:any[]=[];
|
||||||
|
public barChartLabelsCategory:string[] = [];
|
||||||
|
|
||||||
weekPurchaseList = {
|
weekPurchaseList = {
|
||||||
first: 0,
|
first: 0,
|
||||||
second: 0,
|
second: 0,
|
||||||
|
@ -140,11 +208,22 @@ export class DashboardCustomerComponent implements OnInit {
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private api: ApiService,
|
private api: ApiService,
|
||||||
|
private currencyPipe: CurrencyPipe,
|
||||||
) {
|
) {
|
||||||
|
this.setDate();
|
||||||
this.api.customerStats().subscribe(
|
this.api.customerStats().subscribe(
|
||||||
result => {
|
result => {
|
||||||
this.setWeekPurchaseList(result.weeks);
|
this.setWeekPurchaseList(result.weeks);
|
||||||
this.setSectorList(result.sectors);
|
this.setSectorList(result.sectors);
|
||||||
|
this.setWeekData(result);
|
||||||
|
this.setChartData(result.data.cat_total);
|
||||||
|
this.purchaseEssential = result.data.essentials.purchase_no_essential_total;
|
||||||
|
this.purchaseNotEssential = result.data.essentials.purchase_no_total - this.purchaseEssential;
|
||||||
|
this.barChartDataEssential = [
|
||||||
|
{data: [this.purchaseEssential], label: 'Essential', stack: '1'},
|
||||||
|
{data: [this.purchaseNotEssential], label: 'Non-Essential', stack: '1'},
|
||||||
|
];
|
||||||
|
this.showEssentialBarChart = true;
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
console.log('Retrieval Error');
|
console.log('Retrieval Error');
|
||||||
|
@ -153,6 +232,33 @@ export class DashboardCustomerComponent implements OnInit {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private setChartData(dataCat: any) {
|
||||||
|
this.barChartLabelsCategory = Object.keys(dataCat);
|
||||||
|
let barChartDataCategoryInitial = Object.keys(dataCat).map(key => dataCat[key]);
|
||||||
|
this.barChartDataCategory = [
|
||||||
|
{data: barChartDataCategoryInitial, label: 'Series A'},
|
||||||
|
];
|
||||||
|
let doughnutChartDataCategoryInitial = this.weekList1.map(function(a) {return a.value;});
|
||||||
|
this.doughnutChartDataCategory = [
|
||||||
|
{data: doughnutChartDataCategoryInitial, label: 'Series A'},
|
||||||
|
];
|
||||||
|
// setTimeout is currently a workaround for ng2-charts labels
|
||||||
|
setTimeout(() => this.doughnutChartLabelsCategory = this.weekList1.map(function(a) {return a.category;}), 0);
|
||||||
|
this.showCategoryDoughnutChart = true;
|
||||||
|
this.showCategoryBarChart = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private setDate () {
|
||||||
|
this.myWeek1 = moment().startOf('isoWeek').format('YYYY-MM-DD');
|
||||||
|
}
|
||||||
|
|
||||||
|
private setWeekData (data: any) {
|
||||||
|
function prop<T, K extends keyof T>(obj: T, key: K) {
|
||||||
|
return obj[key];
|
||||||
|
}
|
||||||
|
this.weekList1 = prop(data.data.categories, this.myWeek1);
|
||||||
|
}
|
||||||
|
|
||||||
public setWeekPurchaseList (data: any) {
|
public setWeekPurchaseList (data: any) {
|
||||||
this.weekPurchaseList = {
|
this.weekPurchaseList = {
|
||||||
first: data.first,
|
first: data.first,
|
||||||
|
@ -173,6 +279,30 @@ export class DashboardCustomerComponent implements OnInit {
|
||||||
this.sectorLimit = 22;
|
this.sectorLimit = 22;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public convertHex(hex: string, opacity: number) {
|
||||||
|
hex = hex.replace('#', '');
|
||||||
|
const r = parseInt(hex.substring(0, 2), 16);
|
||||||
|
const g = parseInt(hex.substring(2, 4), 16);
|
||||||
|
const b = parseInt(hex.substring(4, 6), 16);
|
||||||
|
|
||||||
|
const rgba = 'rgba(' + r + ', ' + g + ', ' + b + ', ' + opacity / 100 + ')';
|
||||||
|
return rgba;
|
||||||
|
}
|
||||||
|
|
||||||
|
private tooltipLabelCallback(tooltipItem: any, data: any) {
|
||||||
|
var dataset = data.datasets[tooltipItem.datasetIndex];
|
||||||
|
var value = dataset.data[tooltipItem.index];
|
||||||
|
return this.currencyPipe.transform(value, 'GBP', 'symbol', '1.2-2');
|
||||||
|
return value || '0';
|
||||||
|
}
|
||||||
|
|
||||||
|
// events
|
||||||
|
public chartClicked(e: any): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
public chartHovered(e: any): void {
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,59 +16,3 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="showCategoryDoughnutChart" class="card">
|
|
||||||
<div class="card-block">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-12">
|
|
||||||
<h4 class="card-title mb-0">Weekly Spending by Category</h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="chart-wrapper">
|
|
||||||
<canvas baseChart class="chart"
|
|
||||||
[datasets]="doughnutChartDataCategory"
|
|
||||||
[labels]="doughnutChartLabelsCategory"
|
|
||||||
[options]="doughtnutChartOptionsCategory"
|
|
||||||
[legend]="chartLegend"
|
|
||||||
[chartType]="chartType"
|
|
||||||
(chartHover)="chartHovered($event)"
|
|
||||||
(chartClick)="chartClicked($event)"></canvas>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div *ngIf="showEssentialBarChart" class="card">
|
|
||||||
<div class="card-block">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-12">
|
|
||||||
<h4 class="card-title mb-0">No. of Essential Purchases</h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="chart-wrapper">
|
|
||||||
<canvas baseChart class="chart"
|
|
||||||
[datasets]="barChartDataEssential"
|
|
||||||
[labels]="barChartLabelsEssential"
|
|
||||||
[options]="barChartOptionsEssential"
|
|
||||||
[chartType]="barChartTypeEssential"
|
|
||||||
(chartHover)="chartHovered($event)"
|
|
||||||
(chartClick)="chartClicked($event)"></canvas>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div *ngIf="showCategoryBarChart" class="card">
|
|
||||||
<div class="card-block">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-12">
|
|
||||||
<h4 class="card-title mb-0">Monthly Spending by Category</h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="chart-wrapper">
|
|
||||||
<canvas baseChart
|
|
||||||
[datasets]="barChartDataCategory"
|
|
||||||
[labels]="barChartLabelsCategory"
|
|
||||||
[options]="barChartOptionsCategory"
|
|
||||||
[legend]="barChartLegendCategory"
|
|
||||||
[chartType]="barChartTypeCategory"
|
|
||||||
(chartHover)="chartHovered($event)"
|
|
||||||
(chartClick)="chartClicked($event)"></canvas>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
|
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
|
||||||
import { CurrencyPipe } from '@angular/common';
|
|
||||||
import { ApiService } from '../providers/api-service';
|
import { ApiService } from '../providers/api-service';
|
||||||
import { CustPiesService } from '../providers/cust-pies.service';
|
import { CustPiesService } from '../providers/cust-pies.service';
|
||||||
import { DataType } from '../shared/data-types.enum';
|
import { DataType } from '../shared/data-types.enum';
|
||||||
|
@ -17,100 +16,14 @@ export class PiePanel implements OnInit {
|
||||||
public chartLegend = true;
|
public chartLegend = true;
|
||||||
public doughnutChartDataLocal: number[] = [];
|
public doughnutChartDataLocal: number[] = [];
|
||||||
public doughnutChartLabelsLocal: string[] = [];
|
public doughnutChartLabelsLocal: string[] = [];
|
||||||
public doughnutChartDataCategory: number[] = [];
|
|
||||||
public doughnutChartLabelsCategory: string[] = [];
|
|
||||||
|
|
||||||
public doughtnutChartOptionsCategory:any = {
|
|
||||||
tooltips: {
|
|
||||||
callbacks: {
|
|
||||||
label: (tooltip, data) => {
|
|
||||||
return this.tooltipLabelCallback(tooltip, data);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
dayList: any[] = [];
|
|
||||||
valueList: number[] = [];
|
|
||||||
myWeek1: any;
|
|
||||||
myWeek2: any;
|
|
||||||
myWeek3: any;
|
|
||||||
myWeek4: any;
|
|
||||||
|
|
||||||
weekList1 = [];
|
|
||||||
|
|
||||||
public purchaseNotEssential: number;
|
|
||||||
public purchaseEssential: number;
|
|
||||||
public showEssentialBarChart = false;
|
|
||||||
public showCategoryBarChart = false;
|
|
||||||
public showCategoryDoughnutChart = false;
|
|
||||||
|
|
||||||
public barChartDataEssential:any[]=[
|
|
||||||
{data: 0, label: 'Essential', stack: '1'},
|
|
||||||
{data: 0, label: 'Non-Essential', stack: '1'},
|
|
||||||
];
|
|
||||||
public barChartLabelsEssential:string[] = ['All Purchases'];
|
|
||||||
public barChartOptionsEssential:any = {
|
|
||||||
responsive: true,
|
|
||||||
scales:{
|
|
||||||
xAxes:[{
|
|
||||||
stacked:true
|
|
||||||
}],
|
|
||||||
yAxes:[{
|
|
||||||
stacked:true
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
};
|
|
||||||
public barChartTypeEssential:string = 'horizontalBar';
|
|
||||||
|
|
||||||
public barChartOptionsCategory:any = {
|
|
||||||
scaleShowVerticalLines: false,
|
|
||||||
responsive: true,
|
|
||||||
scales: {
|
|
||||||
yAxes: [{
|
|
||||||
ticks: {
|
|
||||||
beginAtZero: true,
|
|
||||||
callback: label => `£${label}`
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
tooltips: {
|
|
||||||
callbacks: {
|
|
||||||
label: (tooltip, data) => {
|
|
||||||
return this.tooltipLabelCallback(tooltip, data);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
public barChartTypeCategory:string = 'bar';
|
|
||||||
public barChartLegendCategory:boolean = false;
|
|
||||||
public barChartDataCategory:any[]=[
|
|
||||||
{data: [], label: 'Series A'},
|
|
||||||
];
|
|
||||||
public barChartLabelsCategory:string[] = [];
|
|
||||||
|
|
||||||
//Old
|
|
||||||
|
|
||||||
// public mainChartElements = 7;
|
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private api: ApiService,
|
private api: ApiService,
|
||||||
private pieService: CustPiesService,
|
private pieService: CustPiesService,
|
||||||
private currencyPipe: CurrencyPipe,
|
|
||||||
) {
|
) {
|
||||||
this.setDate();
|
|
||||||
this.pieService.getPie().subscribe(
|
this.pieService.getPie().subscribe(
|
||||||
result => {
|
result => {
|
||||||
this.setWeekData(result);
|
this.setChartData(result.local_all);
|
||||||
this.setChartData(result.data.local_all, result.data.cat_total);
|
|
||||||
this.purchaseEssential = result.data.essentials.purchase_no_essential_total;
|
|
||||||
this.purchaseNotEssential = result.data.essentials.purchase_no_total - this.purchaseEssential;
|
|
||||||
this.barChartDataEssential = [
|
|
||||||
{data: [this.purchaseEssential], label: 'Essential', stack: '1'},
|
|
||||||
{data: [this.purchaseNotEssential], label: 'Non-Essential', stack: '1'},
|
|
||||||
];
|
|
||||||
this.showEssentialBarChart = true;
|
|
||||||
|
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
console.log('Retrieval Error');
|
console.log('Retrieval Error');
|
||||||
|
@ -123,33 +36,10 @@ export class PiePanel implements OnInit {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private setChartData(dataLocal: any, dataCat: any) {
|
private setChartData(dataLocal: any) {
|
||||||
this.doughnutChartDataLocal = Object.keys(dataLocal).map(key => dataLocal[key]);
|
this.doughnutChartDataLocal = Object.keys(dataLocal).map(key => dataLocal[key]);
|
||||||
this.barChartLabelsCategory = Object.keys(dataCat);
|
|
||||||
let barChartDataCategoryInitial = Object.keys(dataCat).map(key => dataCat[key]);
|
|
||||||
this.barChartDataCategory = [
|
|
||||||
{data: barChartDataCategoryInitial, label: 'Series A'},
|
|
||||||
];
|
|
||||||
let doughnutChartDataCategoryInitial = this.weekList1.map(function(a) {return a.value;});
|
|
||||||
this.doughnutChartDataCategory = [
|
|
||||||
{data: doughnutChartDataCategoryInitial, label: 'Series A'},
|
|
||||||
];
|
|
||||||
// setTimeout is currently a workaround for ng2-charts labels
|
// setTimeout is currently a workaround for ng2-charts labels
|
||||||
setTimeout(() => this.doughnutChartLabelsLocal = Object.keys(dataLocal), 0);
|
setTimeout(() => this.doughnutChartLabelsLocal = Object.keys(dataLocal), 0);
|
||||||
setTimeout(() => this.doughnutChartLabelsCategory = this.weekList1.map(function(a) {return a.category;}), 0);
|
|
||||||
this.showCategoryDoughnutChart = true;
|
|
||||||
this.showCategoryBarChart = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private setDate () {
|
|
||||||
this.myWeek1 = moment().startOf('isoWeek').format('YYYY-MM-DD');
|
|
||||||
}
|
|
||||||
|
|
||||||
private setWeekData (data: any) {
|
|
||||||
function prop<T, K extends keyof T>(obj: T, key: K) {
|
|
||||||
return obj[key];
|
|
||||||
}
|
|
||||||
this.weekList1 = prop(data.data.categories, this.myWeek1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// convert Hex to RGBA
|
// convert Hex to RGBA
|
||||||
|
@ -163,24 +53,4 @@ export class PiePanel implements OnInit {
|
||||||
return rgba;
|
return rgba;
|
||||||
}
|
}
|
||||||
|
|
||||||
// events
|
|
||||||
public chartClicked(e: any): void {
|
|
||||||
console.log(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
public chartHovered(e: any): void {
|
|
||||||
console.log(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
private prop<T, K extends keyof T>(obj: T, key: K) {
|
|
||||||
return obj[key];
|
|
||||||
}
|
|
||||||
|
|
||||||
private tooltipLabelCallback(tooltipItem: any, data: any) {
|
|
||||||
var dataset = data.datasets[tooltipItem.datasetIndex];
|
|
||||||
var value = dataset.data[tooltipItem.index];
|
|
||||||
return this.currencyPipe.transform(value, 'GBP', 'symbol', '1.2-2');
|
|
||||||
return value || '0';
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue