import { Component, Injector, OnInit, ViewChild, ViewEncapsulation, Input, ViewChildren } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { AppConsts } from '@shared/AppConsts'; import { appModuleAnimation } from '@shared/animations/routerTransition'; import { AppComponentBase } from '@shared/common/app-component-base'; import { UnassignedPackageServiceProxy} 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, filter } from 'rxjs/operators'; import * as _ from 'lodash'; import { AssignedToDriverModalComponent } from '../assigned-to-driver/assigned-to-driver-modal.component'; @Component({ selector: 'unassigned-packages', templateUrl: './unassigned.component.html', encapsulation: ViewEncapsulation.None, // styleUrls: ['./kpi-box.component.less'], animations: [appModuleAnimation()], providers: [UnassignedPackageServiceProxy] }) export class UnassignedPackagesComponent extends AppComponentBase implements OnInit{ @ViewChild('dataTable', {static: true}) dataTable: Table; @ViewChild('paginator', {static: true}) paginator: Paginator; @ViewChild('assignedToDriverModal', { static: true }) assignedToDriverModal: AssignedToDriverModalComponent; @Input() filters: { locationFilter : number; startDate: Date; endDate: Date; }; active:boolean = false; locationFilter: number; startDate: Date; event: this; routeIds = []; routeId: any; unassignedDetails : any; filterTxt: string; num:number; constructor( injector: Injector, private _unassignedList: UnassignedPackageServiceProxy, private activatedRoute: ActivatedRoute, private router: Router, ) { super(injector); } ngOnInit(): void { this.activatedRoute.paramMap.subscribe(params => { this.locationFilter = +params.get("location"); this.startDate = new Date(params.get("loadDate")); }); } getUnassignedRoutes(event?: LazyLoadEvent): void { if (this.primengTableHelper.shouldResetPaging(event)) { this.paginator.changePage(0); return; } this.spinnerService.show(); this.routeIds = []; let timeId = localStorage.getItem('timeZoneId'); // this.startDate = new Date(this.startDate.toString()); // this.filters.endDate = new Date(this.filters.endDate.toString()); //let startDate = moment(moment(this.startDate).format('YYYY-MM-DD HH:mm:ss')); //let endDate = moment(moment(this.filters.endDate).format('YYYY-MM-DD HH:mm:ss')); // let startDateA = startDate['_i'].split(' '); // startDateA = startDateA[0] + ' ' + '23:59:59'; // let endDateA = endDate['_i'].split(' '); // endDateA = endDateA[0] + ' ' + '23:59:59'; // let startDate2 = moment.utc(moment(startDateA).toISOString()); // let endDate2 = moment.utc(moment(endDateA).toISOString()); this._unassignedList.getUnassignedRoutes( this.locationFilter, moment.tz(this.startDate, timeId), moment.tz(this.startDate, timeId), this.filterTxt, this.primengTableHelper.getSorting(this.dataTable), this.primengTableHelper.getSkipCount(this.paginator, event), this.primengTableHelper.getMaxResultCount(this.paginator, event) ).subscribe(result => { if (result.items == undefined) { this.primengTableHelper.totalRecordsCount = 0; this.primengTableHelper.records = undefined; // this.alreadyAssigned = true; this.spinnerService.hide(); } else { this.primengTableHelper.totalRecordsCount = result.totalCount; this.primengTableHelper.records = result.items; // this.alreadyAssigned = false; this.spinnerService.hide(); } // console.log(result); // this.unassignedDetails = _.groupBy(result, function(d) // { // return d.routeId // }); // for (var key in result) // { // this.routeIds.push(result[key].routeId); // } }); } // getUnassignedOrders(event): void // { // console.log(event); // this.routeId = event.originalEvent.target.innerText.split(':').pop(); // console.log(this.routeId); // this._unassignedList.getUnassignedOrders( // this.routeId, // undefined, // undefined, // undefined // ).subscribe(result => { // this.primengTableHelper.records = result; // this.active = true; // }); // } viewUnassigned(url: any, id?: number){ if(id != null){ var myurl = `${url}/${id}`; }else{ var myurl = `${url}`; } this.router.navigateByUrl(myurl); } }