import { Component, Injector, OnInit, ViewChild, ViewEncapsulation, Input } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { appModuleAnimation } from '@shared/animations/routerTransition'; import { AppComponentBase } from '@shared/common/app-component-base'; import { ControllerRouteDetailServiceProxy, ControllerOrderPackagesListServiceProxy, GetControllerOrderPackagesListInput} from '@shared/service-proxies/service-proxies'; import { AppSessionService } from '@shared/common/session/app-session.service'; import { Table } from "primeng/table"; import { LazyLoadEvent } from "primeng/primeng"; import { Paginator } from 'primeng/components/paginator/paginator'; import { finalize } from 'rxjs/operators'; import * as _ from 'lodash'; import * as moment from 'moment'; import {Location} from '@angular/common'; declare var $: any; declare var jquery:any; @Component({ selector:'order-packages-tab', templateUrl: 'order-packages-list.component.html', encapsulation: ViewEncapsulation.None, animations: [appModuleAnimation()], styleUrls: ['./order-packages-list.component.less'], providers: [ControllerOrderPackagesListServiceProxy] }) export class ControllerOrderPackagesComponent extends AppComponentBase implements OnInit { routeId:number = null; formattedOrderPackagesDateTime: any formattedOrderPackagesPickupBy: any formattedOrderPackagesDeliveryBy: any filterText: any filterOrderTag: any filterAccountNumber: any; filterCustomer: string; filterAddress: string; advancedFiltersAreShown=false stopsIds: GetControllerOrderPackagesListInput = new GetControllerOrderPackagesListInput(); @ViewChild("dataTablePackages", {static: true}) dataTable:Table @ViewChild("paginatorPackages", {static: true}) paginator: Paginator @Input() filters: { locationFilter: number; statusFilter: number; typeFilter: number; startDate: Date; endDate: Date; orderStatusCode: string, orderKPIFilter: string, unassignedStopsFilter: boolean willCallFilter: boolean } = {}; @Input() edition: any filterData: any unassignedStopsFiltering: boolean; filterOrderId: number filterId: number ctr: number _ukLocale: boolean _isFbx: boolean; pickUpTime: any; deliveryTime: any; constructor( injector: Injector, private id:ActivatedRoute, private _controllerRouteDetails: ControllerRouteDetailServiceProxy, private _controllerOrderPackages: ControllerOrderPackagesListServiceProxy, private _appSessionService :AppSessionService, private _location:Location ) { super(injector); this.filterData = []; } ngOnInit(){ this._ukLocale = abp.features.isEnabled('App.DateFormatFeature.UKLocale'); this._isFbx = abp.features.isEnabled('App.FBXFeature'); // this.id.paramMap.subscribe(params => { // this.routeId = Number(params.get('id')); // }); this.ctr = 1; let timeId = localStorage.getItem('timeZoneId'); moment.tz.setDefault(timeId); } getOrderPackages(event?: LazyLoadEvent){ // orderIds?, // statusCode? // console.log("onpageChange"+ unassignedFiltering) // console.log("packages boolean" + this.filters.unassignedStopsFilter) // console.log("statusCode" + this.filters.orderStatusCode) // console.log("location"+ this.filters.locationFilter) let date = moment(this.filters.endDate) let timeId = localStorage.getItem('timeZoneId'); if (this.primengTableHelper.shouldResetPaging(event)) { this.paginator.changePage(0); return; } this.spinnerService.show(); this._controllerOrderPackages .getControllerOrderPackagesList( this.filterText, this.filters.orderStatusCode, this.filterId, this.filterOrderId, undefined, this.filters.locationFilter, undefined, undefined, this.filterOrderTag, this.filterAccountNumber, moment.tz(localStorage.getItem('loadDate'), timeId), moment.tz(localStorage.getItem('loadDate'), timeId).endOf('day'), this.filters.unassignedStopsFilter, this.filters.willCallFilter, localStorage.getItem('timeZone'), this.filterCustomer, this.filterAddress, undefined, this.primengTableHelper.getSorting(this.dataTable), this.primengTableHelper.getMaxResultCount(this.paginator, event), this.primengTableHelper.getSkipCount(this.paginator, event)) .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')); } // if (result.items.length != 0) { // this.formattedOrderPackagesDateTime = moment(result.items[0]['order']['orderStatus']['time']).format('MMMM Do YYYY, h:mm a') // this.formattedOrderPackagesPickupBy = moment(result.items[0]['order']['pickupDetail']['etaStart']).format('MMMM Do YYYY, h:mm a') // this.formattedOrderPackagesDeliveryBy = moment(result.items[0]['order']['deliveryDetail']['etaEnd']).format('MMMM Do YYYY, h:mm a') // } // 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.primengTableHelper.totalRecordsCount = result.totalCount; this.primengTableHelper.records = result.items; // this.spinnerService.hide(); this.spinnerService.hide(); }); } // getOrderPackages(event, data: any, click_type: string = "NONE") : void { // if(click_type == 'NONE') // { // console.log('CLICK TYPE: '); // console.log(click_type); // let date = moment(this.filters.endDate) // let timeId = localStorage.getItem('timeZoneId'); // if(event == null) // { // this.paginator.changePage(0); // event = {'page': 1, 'first': 0, 'rows': this.primengTableHelper.getMaxResultCount(this.paginator, event)}; // } // // if (this.primengTableHelper.shouldResetPaging(event)) { // // this.paginator.changePage(0); // // return; // // } // this.spinnerService.show(); // // this.spinnerService.show(); // this.stopsIds.filter = this.filterText; // this.stopsIds.locationId = this.filters.locationFilter; // this.stopsIds.orderIds = this.filterData; // this.stopsIds.loadDateEnd = moment.tz(localStorage.getItem('loadDate'), timeId); // this.stopsIds.maxResultCount = this.primengTableHelper.getMaxResultCount(this.paginator, event); // this.stopsIds.skipCount = event.first; // this._controllerOrderPackages // .showOrderPackagesList(this.stopsIds) // .pipe().subscribe(result => { // this.primengTableHelper.totalRecordsCount = result.totalCount; // this.primengTableHelper.records = result.items; // // this.spinnerService.hide(); // this.spinnerService.hide(); // }); // } // } onShown(){ } toggleMoreInfo(event) { var element = event.currentTarget.nextSibling; var selector = document.querySelectorAll('.more-info-container.active'); var hover = document.querySelectorAll('.more-btn.hover'); if (element.classList.contains('active')) { event.currentTarget.classList.remove('hover'); element.classList.remove('active'); } else { if (selector.length > 0) { selector[0].classList.remove('active'); hover[0].classList.remove('hover'); } element.classList.add('active'); event.currentTarget.classList.add('hover'); } } }