import { Component, Injector, OnInit, ViewChild, ViewEncapsulation, Input, ViewChildren } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { AppConsts } from '@shared/AppConsts'; import { appModuleAnimation } from '@shared/animations/routerTransition'; import { AppComponentBase } from '@shared/common/app-component-base'; import { OrderServiceProxy, OrderListDto, GetOrderListTimezoneInput } from '@shared/service-proxies/service-proxies'; import * as moment from 'moment'; import { LazyLoadEvent } from 'primeng/components/common/lazyloadevent'; import { Paginator } from 'primeng/components/paginator/paginator'; import { Table } from 'primeng/components/table/table'; import { HttpClient } from '@angular/common/http'; import { finalize } from 'rxjs/operators'; @Component({ selector: 'order-tab', templateUrl: './order-list.component.html', styleUrls: ['./order-list.component.less'], encapsulation: ViewEncapsulation.None, animations: [appModuleAnimation()], providers: [OrderServiceProxy] }) export class OrderListTabComponent extends AppComponentBase implements OnInit{ @ViewChild('dataTable', {static: true}) dataTable: Table; @ViewChild('paginator', {static: true}) paginator: Paginator; @Input() filters: { locationFilter : number; startDate: Date; endDate: Date; orderStatusCode: string, unassignedStopsFilter: boolean willCallFilter: boolean , orderKPIFilter: string, unassignedWillCalls: string, completeWillCalls: string, completeStops: string, } = < any > {}; filterText: string; filterId:number filterRouteId: string; filterOrderTag: any filterOrderAccountNumber: any customerFilter: string; addressFilter: string _ukLocale: boolean; advancedFiltersAreShown:boolean = false; orderIds: any; unassignedWillCalls: boolean = false; completeWillCalls: boolean = false; completeStops: boolean = false; incidents: boolean = false; orderInput: GetOrderListTimezoneInput = new GetOrderListTimezoneInput(); @Input('edition') edition: string; constructor( injector: Injector, private _orderAppService: OrderServiceProxy ) { super(injector); this.filters.orderKPIFilter = undefined; this.orderIds = []; } ngOnInit(): void { //console.log(this.edition); this._ukLocale = abp.features.isEnabled('App.DateFormatFeature.UKLocale'); } getOrder(event?: LazyLoadEvent): void { if (this.primengTableHelper.shouldResetPaging(event)) { this.paginator.changePage(0); return; } let timeId = localStorage.getItem('timeZoneId'); moment.tz.setDefault(timeId); this.spinnerService.show(); this.orderInput.id = this.filterId; this.orderInput.filter = this.filterText; this.orderInput.locationId = this.filters.locationFilter; this.orderInput.routeId = this.filterRouteId; this.orderInput.orderTag = this.filterOrderTag; this.orderInput.accountNumber = this.filterOrderAccountNumber; this.orderInput.etaEnd = moment.tz(localStorage.getItem('loadDate'), timeId); this.orderInput.customer = this.customerFilter; this.orderInput.address = this.addressFilter; this.orderInput.unassigned = this.filters.unassignedStopsFilter; this.orderInput.willCalls = this.filters.willCallFilter, this.orderInput.statusCode = this.filters.orderStatusCode, this.orderInput.timeZoneInfo = localStorage.getItem('timeZone'), this.orderInput.statusType = this.filters.orderKPIFilter, this.orderInput.orderIds = this.orderIds, this.orderInput.sorting = this.primengTableHelper.getSorting(this.dataTable), this.orderInput.skipCount = this.primengTableHelper.getSkipCount(this.paginator, event), this.orderInput.maxResultCount = this.primengTableHelper.getMaxResultCount(this.paginator, event) this._orderAppService.orderList( this.orderInput ).pipe().subscribe(result => { for(let i = 0 ; i < result.items.length ; i++){ result.items[i].pickUpEtaStart = moment(result.items[i].pickUpEtaStart.utcOffset(moment.parseZone(result.items[i].pickUpEtaStart).utcOffset()).format('M/D/YYYY h:mm a')); result.items[i].deliveryEtaEnd = moment(result.items[i].deliveryEtaEnd.utcOffset(moment.parseZone(result.items[i].deliveryEtaEnd).utcOffset()).format('M/D/YYYY h:mm a')); } this.spinnerService.hide(); this.primengTableHelper.totalRecordsCount = result.totalCount; this.primengTableHelper.records = result.items; }); } }