import { Injector, Component, ViewEncapsulation, AfterViewInit, OnInit, ViewChild } from '@angular/core'; import { AppComponentBase } from '@shared/common/app-component-base'; import { appModuleAnimation } from '@shared/animations/routerTransition'; import { DashboardDto, RouteGeneratorDashboardServiceProxy } from '@shared/service-proxies/service-proxies'; import { Table } from 'devexpress-richedit'; import { Paginator } from 'primeng/paginator'; import { LazyLoadEvent } from 'primeng/api'; import * as moment from 'moment'; @Component({ selector: 'route-generator-dashboard', templateUrl: './dashboard.component.html', encapsulation: ViewEncapsulation.None, animations: [appModuleAnimation()], styleUrls: ['./dashboard.component.less'] }) export class RouteGeneratorDashboardComponent extends AppComponentBase implements OnInit{ @ViewChild('dataTable', { static: true }) dataTable: Table; @ViewChild('paginator', { static: true }) paginator: Paginator; todayTotal: number = 0; lastweekTotal: number = 0; difference: number = 0; percent: number = 0; loadDate = moment(Date.now()).toDate(); constructor( injector: Injector, private _routeGeneratorService: RouteGeneratorDashboardServiceProxy, ) { super(injector); } ngOnInit(): void { this.getHeaderData(); } refresh() { this.getHeaderData(); this.getTableData(); } getHeaderData(){ this._routeGeneratorService.getHeaderData(undefined,moment(this.loadDate.toString()),undefined,undefined,undefined) .subscribe(result => { this.todayTotal = result.orderToday; this.lastweekTotal = result.orderLastWeek; this.difference = result.difference; this.percent = result.percent }); } getTableData(event?: LazyLoadEvent){ if (this.primengTableHelper.shouldResetPaging(event)) { this.paginator.changePage(0); return; } this.spinnerService.show(); this._routeGeneratorService.getRecurring(undefined,moment(this.loadDate.toString()),undefined,undefined,undefined) .subscribe(result => { this.primengTableHelper.totalRecordsCount = result.totalCount; this.primengTableHelper.records = result.items; console.log(result.items); this.spinnerService.hide(); }); } requeue(input: DashboardDto){ input.loadDate = moment(this.loadDate.toString()); this.spinnerService.show(); this._routeGeneratorService.executeRecurring(input) .subscribe(result => { this.getTableData(); this.spinnerService.hide(); }); } }