import { OnInit, OnDestroy, AfterViewInit, Renderer2, OnChanges } from '@angular/core'; import { MapMarker } from '../../../models/map-marker.model'; import { FormGroup } from '@angular/forms'; import { MarkerInfo } from '../../../models/marker-info.model'; import { MapService } from '../../../services/map.service'; import { AgmInfoWindow, InfoWindowManager } from '@agm/core'; import { LocationInfoService } from '../../../services/location-info.service'; import { IconImageObject } from '../../../models/icon-image-object.model'; import { MapConversions } from '../../../utils/conversions'; import { Subscription } from 'rxjs'; /** * Enum for holding the current state of the 'Basic Info' modal/popover. */ export declare enum ModalStateType { BASIC = "BASIC", ADD_TO_MAP = "ADD_TO_MAP" } /** * The BasicInfoWindowRewriteComponent * * A View for displaying the the basic information for a user's custom Map Marker. * This is utilized by the AGM Info Window and set into its content. */ export declare class BasicInfoWindowRewriteComponent implements OnInit, OnDestroy, AfterViewInit, OnChanges { protected infoWindowManager: InfoWindowManager; protected locationInfoService: LocationInfoService; protected mapConversions: MapConversions; protected mapService: MapService; protected renderer: Renderer2; basicInfoBlocks: string[]; chosenIcon: MarkerInfo; currentState: ModalStateType; displayMarkerSet: Array; iconSetExpanded: boolean; infoWindow: AgmInfoWindow; mapMarkerClickedSubscription: Subscription; markerSet: Array; modalStateType: typeof ModalStateType; newMarker: MapMarker; newMarkerForm: FormGroup; protected pCircumference: number; protected progressCircle: any; isEdit: boolean; mapMarkerSet: MarkerInfo[]; marker: MapMarker; DefaultMarker: IconImageObject; constructor(infoWindowManager: InfoWindowManager, locationInfoService: LocationInfoService, mapConversions: MapConversions, mapService: MapService, renderer: Renderer2); /** * Angular lifecycle hook that gets called on initialization. */ ngOnInit(): void; /** * Angular lifecycle hook that gets called after the view has finished initializing. */ ngAfterViewInit(): void; /** * Angular lifecycle hook that will get called when the marker changes, otherwise data for info blocks * will stay the same when user navigates to new location from google search */ ngOnChanges(): void; /** * Angular lifecycle hook that gets called when a view is removed from the DOM. */ ngOnDestroy(): void; /** * Utility to parse the address information of a given MapMarker and only print non-null data. * Needed since a lot of the data could be null or undefined. * * @param marker The MapMarker to get the data from. */ buildBasicInfoContent(marker: MapMarker): void; /** * Initializes the SVG progress circle to get and set the necessary values for displaying a rating. */ /** * Triggers an CSS animation to offset the progress circle based on the value given. * * @param percent The percent of total ratings for a given location. */ initRatingInfo(percent: number): void; /** * Changes the current inner view of 'Basic Info' window based on a state. * * @param newState The new ModalStateType to change the view to. */ changeView(newState: ModalStateType): void; /** * Toggles the visible selectable icon display between 7 and the max number of icons. */ toggleVisibleIcons(): void; /** * Returns the passed array after being truncated as indicated by the number passed. * * @param arr The array to truncate. * @param num The index of the last element to show in the returned array. */ protected truncateArray(arr: Array, num?: number): any[]; /** * Sets the current ChosenIcon to the icon the user selected. * * @param icon The icon chosen by the user. */ setIcon(icon: any): void; /** * Emits an event back to the map to open the 'More Info' dialog. */ openMoreInfo(): void; /** * Sets the marker data to the user entered data */ setMarkerData(): void; /** * Emits an event back to the map to close the info window. */ Close(): void; }