-
+
+
-
{{ basicStats.today_sum / (basicStats.today_count ? basicStats.today_count : 1) | currency:'GBP':'symbol':'1.2-2' }}
-
Avg. Spend Today
-
+
+
+
+ -
+
+
+
Sector {{ sectorLetters[0] || 'N/A' }}
+
{{ sectorNames [sectorLetters[0]] }}
+
+
+
Bought from Sector
+
{{ sectorPurchases[0] || 'N/A' }}
+
+
+ -
+
+
+
Sector {{ sectorLetters[1] || 'N/A' }}
+
{{ sectorNames [sectorLetters[1]] || 'N/A' }}
+
+
+
Bought from Sector
+
{{ sectorPurchases[1] || 'N/A' }}
+
+
+ -
+
+
+
Sector {{ sectorLetters[2] || 'N/A' }}
+
{{ sectorNames [sectorLetters[2]] || 'N/A' }}
+
+
+
Bought from Sector
+
{{ sectorPurchases[2] || 'N/A' }}
+
+
+ -
+
+
+
Sector {{ sectorLetters[3] || 'N/A' }}
+
{{ sectorNames [sectorLetters[3]] || 'N/A' }}
+
+
+
Bought from Sector
+
{{ sectorPurchases[3] || 'N/A' }}
+
+
+ -
+
+
+
Sector {{ sectorLetters[4] || 'N/A' }}
+
{{ sectorNames [sectorLetters[4]] || 'N/A' }}
+
+
+
Bought from Sector
+
{{ sectorPurchases[4] || 'N/A' }}
+
+
+ -
+
+
+
Sector {{ sectorLetters[5] || 'N/A' }}
+
{{ sectorNames [sectorLetters[5]] || 'N/A' }}
+
+
+
Bought from Sector
+
{{ sectorPurchases[5] || 'N/A' }}
+
+
+ -
+
+
+
Sector {{ sectorLetters[6] || 'N/A' }}
+
{{ sectorNames [sectorLetters[6]] || 'N/A' }}
+
+
+
Bought from Sector
+
{{ sectorPurchases[6] || 'N/A' }}
+
+
+
-
Lorem ipsum dolor sit amet enim. -->
-
-
-
-
-
-
-
{{ basicStats.week_sum | currency:'GBP':'symbol':'1.2-2' }}
-
Last Week Total
-
-
-
-
-
-
-
-
{{ basicStats.week_sum / (basicStats.week_count ? basicStats.week_count : 1) | currency:'GBP':'symbol':'1.2-2' }}
-
Last Week Avg. Spend
-
-
-
-
-
-
-
-
{{ basicStats.month_sum | currency:'GBP':'symbol':'1.2-2' }}
-
Last Month Total
-
-
-
-
-
-
-
-
{{ basicStats.month_sum / (basicStats.month_count ? basicStats.month_count : 1) | currency:'GBP':'symbol':'1.2-2' }}
-
Last Month Avg. Spend
-
-
-
-
-
-
-
-
{{ basicStats.user_sum | currency:'GBP':'symbol':'1.2-2' }}
-
User Total
-
-
-
-
-
-
-
-
{{ basicStats.user_sum / (basicStats.user_count ? basicStats.user_count : 1) | currency:'GBP':'symbol':'1.2-2' }}
-
User Avg. Spend
-
diff --git a/src/app/dashboard/dashboard-customer.component.ts b/src/app/dashboard/dashboard-customer.component.ts
index 39230e3..e781f78 100644
--- a/src/app/dashboard/dashboard-customer.component.ts
+++ b/src/app/dashboard/dashboard-customer.component.ts
@@ -2,15 +2,14 @@ import { Directive, Component, OnInit } from '@angular/core';
import { ApiService } from '../providers/api-service';
import { Router } from '@angular/router';
import { GraphWidget } from '../widgets/graph-widget.component';
+import { CustBarSnippetComponent } from '../snippets/cust-snippet-bar.component';
+import { PiePanel } from '../panels/pie-panel.component';
+import { DataType } from '../shared/data-types.enum';
@Component({
templateUrl: 'dashboard-customer.component.html'
})
export class DashboardCustomerComponent implements OnInit {
- customersThisMonth: any;
- moneySpentThisMonth: any;
- pointsTotal: any;
- averageTransactionToday: any;
/* Setting up dashboard's main variables*/
name: any;
@@ -19,27 +18,106 @@ export class DashboardCustomerComponent implements OnInit {
trends: any;
myRank: any;
username: any;
+ maxPurchase: number = 0;
- basicStats = {
- today_sum: 0,
- today_count: 0,
- week_sum: 0,
- week_count: 0,
- month_sum: 0,
- month_count: 0,
- user_sum: 0,
- user_count: 0,
- global_sum: 0,
- global_count: 0,
- user_position: 0,
+ weekPurchaseList = {
+ week_0: 0,
+ week_1: 0,
+ week_2: 0,
+ week_3: 0,
+ week_4: 0,
+ week_5: 0,
+ week_6: 0,
};
+ sectorNames = {
+ A: 'Agriculture, Forestry & Fishing',
+ B: 'Mining & Quarrying',
+ C: 'Manufacturing',
+ D: 'Electricity, Gas, Steam & Air Conditioning',
+ E: 'Water & Waste Management',
+ F: 'Construction',
+ G: 'Wholesale & Retail Trade',
+ H: 'Transportation & Storage',
+ I: 'Accomodation & Food Services',
+ J: 'Information & Communication',
+ K: 'Financial & Insurance Activities',
+ L: 'Real Estate',
+ M: 'Professional, Scientfic & Technical',
+ N: 'Administrative & Support Services',
+ O: 'Public Administration, Defence & Social Security',
+ P: 'Education',
+ Q: 'Human Health & Social Work',
+ R: 'Arts, Entertainment & Recreation',
+ S: 'Other Service Activities',
+ T: 'Household Domestic Business',
+ }
+
+ sectorIcons = {
+ A: 'icon-drop',
+ B: 'icon-diamond',
+ C: 'icon-settings',
+ D: 'icon-energy',
+ E: 'icon-trash',
+ F: 'icon-wrench',
+ G: 'icon-tag',
+ H: 'icon-speedometer',
+ I: 'icon-cup',
+ J: 'icon-globe',
+ K: 'icon-credit-card',
+ L: 'icon-graph',
+ M: 'icon-chemistry',
+ N: 'icon-drawer',
+ O: 'icon-pie-chart',
+ P: 'icon-graduation',
+ Q: 'icon-support',
+ R: 'icon-film',
+ S: 'icon-calendar',
+ T: 'icon-home',
+ }
+
+ sectorLetters: string[] = [];
+ sectorPurchases: number[] = [];
+
+ sectorList: any;
+
+ // Graph widgets
+ public widgetList = [
+ {
+ type: 'graph',
+ name: 'total_last_week',
+ icon: 'icon-diamond',
+ title: 'Last Week Total',
+ dataType: DataType.currency,
+ },
+ {
+ type: 'graph',
+ name: 'avg_spend_last_week',
+ icon: 'icon-diamond',
+ title: 'Last Week Avg. Spend',
+ dataType: DataType.currency,
+ },
+ {
+ type: 'graph',
+ name: 'total_last_month',
+ title: 'Last Month Total',
+ dataType: DataType.currency,
+ },
+ {
+ type: 'graph',
+ name: 'avg_spend_last_month',
+ title: 'Last Month Avg. Spend',
+ dataType: DataType.currency,
+ },
+ ];
+
constructor(
private api: ApiService,
) {
this.api.basicStats().subscribe(
result => {
- this.basicStats = result;
+ this.setWeekPurchaseList(result.weeks);
+ this.setSectorList(result.sectors);
},
error => {
console.log('Retrieval Error');
@@ -48,6 +126,28 @@ export class DashboardCustomerComponent implements OnInit {
);
}
+ public setWeekPurchaseList (data: any) {
+ this.weekPurchaseList = {
+ week_0: data.purchases[0],
+ week_1: data.purchases[1],
+ week_2: data.purchases[2],
+ week_3: data.purchases[3],
+ week_4: data.purchases[4],
+ week_5: data.purchases[5],
+ week_6: data.purchases[6],
+ };
+ this.maxPurchase = Object.keys(this.weekPurchaseList).map(key => this.weekPurchaseList[key]).reduce((a,b) => {
+ if (! a) { a = 0 }
+ if (! b) { b = 0 }
+ return Math.max(a,b);
+ });
+ }
+
+ public setSectorList (data: any) {
+ this.sectorLetters = Object.keys(data.sectors).map(key => data.sectors[key]);
+ this.sectorPurchases = Object.keys(data.purchases).map(key => data.purchases[key]);
+ }
+
ngOnInit(): void {
}
}
diff --git a/src/app/dashboard/dashboard.component.html b/src/app/dashboard/dashboard.component.html
index 4ee858b..ff6f092 100644
--- a/src/app/dashboard/dashboard.component.html
+++ b/src/app/dashboard/dashboard.component.html
@@ -6,7 +6,8 @@
[graphName]="widget.name"
[graphTitle]="widget.title"
[graphIcon]="widget.icon"
- [dataType]="widget.dataType">
+ [dataType]="widget.dataType">
+