import { AfterViewInit, OnInit, OnDestroy } from '@angular/core'; import { MatSlider } from '@angular/material/slider'; import { Subscription } from 'rxjs/internal/Subscription'; import { ToastrDisplayService } from '../../services/toastr-display.service'; import { NotificationService } from '../../services/notification.service'; import { ImageDateFormatPipe, DisplayDateFormatPipe } from '../../utils/pipes/ff-pipes'; import { DataService } from '../../services/data.service'; import { FathymForecastConfig } from '../../models/weather.config'; import { SearchModel } from './../../models/search.model'; import { GeofenceDrawingTool } from '../../utils/map/geofence-drawing-tool.utils'; import { LoadMapService, LcuMapsAzureMapElementComponent } from '@lowcodeunit/lcu-maps-common'; import { HttpClient } from '@angular/common/http'; import { RouteInfoModel } from '../../models/route-info.model'; export declare class RouteMapComponent implements OnInit, OnDestroy, AfterViewInit { MapService: LoadMapService; protected dataService: DataService; protected displayDatePipe: DisplayDateFormatPipe; protected imageDatePipe: ImageDateFormatPipe; protected notificationService: NotificationService; protected toastrDisplayService: ToastrDisplayService; protected http: HttpClient; protected dataSource: any; protected dataSources: any; protected currentForecastLayer: any; /** * Map component */ Maper: LcuMapsAzureMapElementComponent; set map(val: LcuMapsAzureMapElementComponent); /** * Plot component */ /** * Image slider component */ Slider: MatSlider; /** * Check if things are loaded */ private _isLoading; set IsLoading(val: boolean); get IsLoading(): boolean; /** * The list of routes a user can select from */ Routes: Array; /** * the default route selected */ DefaultRoute: RouteInfoModel; /** * Position plot points for route(s) */ Route: Array; /** * Map configuration */ Config: any; /** * Route current marker */ currentMarker: atlas.data.Feature; /** * Route end marker */ endMarker: atlas.data.Feature; /** * Forecast data */ FcstData: any; /** * Valid Times */ ValidTimes: any; ImageValidTimes: any[]; ImageVarNames: any[]; /** * Loading class */ protected minLat: number; protected minLong: number; protected maxLat: number; protected maxLong: number; /** * Class for search */ SearchModel: SearchModel; selectedValidTime: string; SelectedVarName: any; /** * Route starting marker */ startMarker: atlas.data.Feature; /** * Store route names */ protected routeNames: Array; /** * Listen for route change */ protected routeSubscription: Subscription; /** * Listen for drawRegionToggle change */ protected drawRegionToggleSubscription: Subscription; protected chartMouseMovedSubsription: Subscription; /** * Configuration object for fathym forecast */ FathymForecastConfig: FathymForecastConfig; /** * Class for drawing region shapes on the map */ protected geofenceDrawingTool: GeofenceDrawingTool; layerOptions: Array; protected techAccentAPI: string; protected subscriptionKey: string; protected manifestJson: any; ShowIndicatorIcon: boolean; protected apiForecastValueConversions: any; protected currentTimeValue: number; protected currentTimeIndex: number; OutOfBoundsMessage: string; ShowLayerTimeOutOfBoundsMessage: boolean; constructor(MapService: LoadMapService, dataService: DataService, displayDatePipe: DisplayDateFormatPipe, imageDatePipe: ImageDateFormatPipe, notificationService: NotificationService, toastrDisplayService: ToastrDisplayService, http: HttpClient); ngAfterViewInit(): void; ngOnInit(): void; protected getGoing(): void; ngOnDestroy(): void; protected setUpDefaultLayer(): void; /** * Initial setup to get the map going */ protected initialSetup(): void; MapClicked(evt: atlas.data.Position): void; protected determineRoute(coords: atlas.data.Position): void; protected makeMaptileOptions(layerStr: any, t: any): { tileUrl: string; opacity: number; tileSize: number; }; protected setUpLayers(): void; protected pushDefaultLayer(): void; protected pushFathymAPIOptions(): void; protected pushRadarOptions(): void; protected pushTerrainOptions(): void; protected getManifestJson(): import("rxjs").Observable; LayerChosen(layer: any): void; protected getLayerFromIowaAPI(layer: any): void; protected getLayerFromFathymAPI(layer: any, timeIndex?: number): void; protected getLayerFromAzure(layer: any): void; MapLoaded(evt?: Event): void; DefaultLayer: any; /** * Callback function that passes back created points * * @param activeShapeArray geofence points returned from the created shape */ SelectImage(varName: any): void; protected closest(arr: any, closestTo: any): any[]; /** * Create routes to display on the map * * @param pointsArr array of all points that make up routes */ protected displayRoute(routes: Array): void; protected clearRoutes(): void; protected testRouteData(): void; protected handleRoute(): void; /** * convert the points to only coords * @param val */ protected testNewPoints(val: any): Array; /** * * Sets up the map with routes initially based on @param response from the search form */ protected handleTestRouteResponse(response: any): void; protected convertKelvinTemp(): void; /**gives route a name */ protected nameRoutes(): void; /** * calculates the delay risk for the given route * @param route */ protected calculateDelayRisk(route: any): void; /** * determines the default route based on delay risk */ protected determineDefaultRoute(): RouteInfoModel; /** * Changes the previous selected route to false and changes the defaultRoute to the given route alson assigning color * @param route */ protected changeSelectedRoute(route: RouteInfoModel): void; /** * moves the selected route to the end of the array so it appears on top of all other routes */ protected moveSelectedRouteToEnd(): void; /** * When the user selects a new route to show data for * @param route */ RouteChosen(route: RouteInfoModel): void; /** * Setup route points for creating route lines * * @param response route data being returned */ protected handleRouteResponse(response: object): void; protected loadDataSources(): void; protected selectDataSource(dataSource: any): void; /** * On chart mouse move add icon to route location * * @param index for route point */ protected setCurrentMarker(index: number): void; /** * On chart mouse move set time on route * @param vtime absolute second time */ protected setTimeFromChart(vtime: number): void; /** * * @param data Setup or remove the drawing tool */ protected geofenceDrawingSetup(data: SearchModel): void; /** * * @param data array of points returned from the drawn geofence */ protected geofenceDrawingCallback(callbackData: Array>, searchData: SearchModel): void; }