import { Injector, Component, ViewChild, AfterViewInit, HostBinding, ElementRef, OnInit, Input, ViewContainerRef } from "@angular/core"; import { AppComponentBase } from "@shared/common/app-component-base"; import { Router } from "@angular/router"; import { TabsetComponent } from "ngx-bootstrap"; import * as moment from 'moment-timezone'; import {RouteAnalyzerServiceProxy,RouteCodeListInput } from '@shared/service-proxies/service-proxies'; import { XmlHttpRequestHelper } from '@shared/helpers/XmlHttpRequestHelper'; import { AppConsts } from '@shared/AppConsts'; import { AppSessionService } from "@shared/common/session/app-session.service"; @Component({ selector: 'routeAnalyzerFlyoutComponent', templateUrl: 'route-analyzer-flyout.component.html', // animations: [appModuleAnimation()], styleUrls: ['route-analyzer-flyout.component.less'], }) export class RouteAnalyzerFlyoutComponent extends AppComponentBase implements OnInit, AfterViewInit { @HostBinding('id') id = 'kt_quick_sidebar'; @HostBinding('class') classes = 'kt-quick-panel'; @HostBinding('attr.mQuickSidebarOffcanvas') @HostBinding('style.overflow') styleOverflow: any = 'hidden'; mQuickSidebarOffcanvas: any; constructor( injector: Injector, private el: ElementRef, private viewContainerRef: ViewContainerRef, private _routeAnalyzerService: RouteAnalyzerServiceProxy, ) { super(injector); } _isOpen: boolean; _pinned = false; flyoutDate: Date; locations:any; locationId: number; routeCodes:any; routeCode:string; ngOnInit(): void{ this._isOpen = true; $('.kt-select2').select2(); this.flyoutDate = moment(Date.now()).toDate(); if (localStorage.getItem('analyzerLocationId') != null && localStorage.getItem('analyzerLocationId') != "") { this.locationId = parseInt(localStorage.getItem('analyzerLocationId')); } if (localStorage.getItem('analyzerStartDate') != null) { this.flyoutDate = moment(localStorage.getItem('analyzerStartDate')).toDate(); } } getParentComponent() { return this.viewContainerRef['_data'].componentView.component.viewContainerRef['_view'].component } ngAfterViewInit(): void{ $(".select2-container").css("width", "100%"); $(".form-control").css("height", "38px"); $(".input-group-append").css("display", "none"); this.mQuickSidebarOffcanvas = new KTOffcanvas(this.el.nativeElement, { overlay: true, baseClass: 'kt-quick-panel', closeBy: 'controller-header-close', toggleBy: 'controller_header_settings_toggle' }); this.mQuickSidebarOffcanvas.events.push({ name: 'afterHide', handler: () => { if (this._pinned) { this.mQuickSidebarOffcanvas.show(); } else { this.isOpen = false; } } }, { name: 'afterShow', handler: () => { this.isOpen = true; } }); // change location let that = this; $("#locationSelectInput").on('change',function(e){ localStorage.setItem('analyzerLocationId', $("#locationSelectInput").val().toString()); that.getRoutes(); }); } getRoutes(){ this.spinnerService.show(); var data = new RouteCodeListInput(); this.locationId = parseInt(localStorage.getItem('analyzerLocationId')); data.locationId = this.locationId; if(localStorage.getItem('analyzerLocationId') != null && localStorage.getItem('analyzerLocationId') != ""){ this._routeAnalyzerService.routeCodeList(data).subscribe(result => { this.routeCodes = result; this.spinnerService.hide(); }); } else { this.spinnerService.hide(); } } set pinned(newValue: boolean) { if (newValue === this._pinned) { return; } this._pinned = newValue; } get pinned(): boolean { return this._pinned; } reversePinned(): void { this.pinned = !this.pinned; } set isOpen(newValue: boolean) { if (newValue === this._isOpen) { return; } this._isOpen = newValue; } get isOpen(): boolean { return this._isOpen; } showFlyout(location:any):void{ this.getRoutes(); this.locations = location; } filterRouteAnalyzer(){ localStorage.removeItem('analyzerStartDate'); localStorage.removeItem('analyzerLocationId'); localStorage.removeItem('analyzerRouteCode'); localStorage.setItem('analyzerStartDate', $('.analyzerDatePicker').val().toString()); if($("#locationSelectInput").val().toString() != ""){ localStorage.setItem('analyzerLocationId', $("#locationSelectInput").val().toString()); localStorage.setItem('analyzerLocationString', $("#select2-locationSelectInput-container").text().toString()); } if($("#routeCodeInput").val().toString() != ""){ localStorage.setItem('analyzerRouteCode', $("#routeCodeInput").val().toString()); } this.getParentComponent().getOrdersByLocation(); this.mQuickSidebarOffcanvas.hide(); } getOrdersByLocation(){ this.getParentComponent().getOrdersByLocation(); } }