@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
87 lines • 4.5 kB
TypeScript
import { ElementRef, EventEmitter, SimpleChange, SimpleChanges } from '@angular/core';
import { IEvent } from '@c8y/client';
import { DatePipe, GeoService, ManagedObjectRealtimeService, WidgetGlobalAutoRefreshService } from '@c8y/ngx-components';
import type { MapDefaultConfig, MapTileLayer } from '@c8y/options';
import { TranslateService } from '@ngx-translate/core';
import type * as L from 'leaflet';
import { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';
import { MapPopupDirective } from './map-popup.directive';
import { C8yMarker, C8yMarkerAttributes, MapConfig, PositionManagedObject } from './map.model';
import { MapService } from './map.service';
import * as i0 from "@angular/core";
export declare class MapComponent {
protected moRealtimeService: ManagedObjectRealtimeService;
protected mapService: MapService;
protected layers$: Observable<MapTileLayer[]>;
protected defaultConfig$: Observable<MapDefaultConfig>;
protected translateService: TranslateService;
protected geo: GeoService;
protected datePipe: DatePipe;
protected widgetGlobalAutoRefreshService: WidgetGlobalAutoRefreshService;
/**
* The leaflet map object.
*/
map: L.Map;
/**
* The markers placed on the map.
*/
markers: Array<C8yMarker | L.Marker>;
/**
* The leaflet representation used.
*/
leaflet: typeof L;
/**
* Tells if the map was already initialized.
*/
isInit: boolean;
mapElement: ElementRef;
popup: MapPopupDirective;
config: MapConfig;
assets: PositionManagedObject | PositionManagedObject[];
polyline$: Observable<L.LatLngExpression[] | L.LatLngExpression[][]>;
polylineOptions: L.PolylineOptions;
onRealtimeUpdate: EventEmitter<PositionManagedObject>;
onMove: Observable<L.LeafletEvent>;
onMoveEnd: Observable<L.LeafletEvent>;
onZoomStart: Observable<L.LeafletEvent>;
onZoomEnd: Observable<L.LeafletEvent>;
onMap: BehaviorSubject<L.Map>;
onInit: EventEmitter<typeof L>;
protected realtimeSubscription: Subscription;
protected unsubscribeTrigger$: Subject<void>;
protected destroy$: Subject<void>;
private markerTitle;
constructor(moRealtimeService: ManagedObjectRealtimeService, mapService: MapService, layers$: Observable<MapTileLayer[]>, defaultConfig$: Observable<MapDefaultConfig>, translateService: TranslateService, geo: GeoService, datePipe: DatePipe, widgetGlobalAutoRefreshService: WidgetGlobalAutoRefreshService);
startRealtime(): void;
moveToPositionOfMo(positions: PositionManagedObject | PositionManagedObject[]): void;
stopRealtime(): void;
findMarker(moOrId: string | IEvent | PositionManagedObject): L.Marker<any> | C8yMarker;
addMarkerToMap(marker: C8yMarker | L.Marker): void;
getAssetMarker(asset: PositionManagedObject): C8yMarker;
getTrackingMarker(event: IEvent): C8yMarker;
getAssetIcon(asset: PositionManagedObject): L.DivIcon;
getTrackingIcon(): L.DivIcon;
removeMarker(marker: C8yMarker | L.Marker): void;
clearMarkers(fragment?: C8yMarkerAttributes): void;
refreshMarkers(): void;
center(): void;
refresh(): void;
protected ngAfterViewInit(): Promise<void>;
protected ngOnChanges(changes: SimpleChanges): void;
protected ngOnDestroy(): void;
protected unsubscribeAllListeners(): void;
protected initOutputs(): void;
protected initMap(layers: MapTileLayer[], defaultConfig: MapConfig): void;
protected handleMobile(): void;
protected addLayers(layers: MapTileLayer[]): void;
protected changeConfig(change: SimpleChange): void;
protected hasChanged(change: SimpleChange, prop: keyof MapConfig): boolean;
protected toggleControls(): void;
private handleTouch;
private zoomToBound;
private fitBounds;
private bindPopup;
static ɵfac: i0.ɵɵFactoryDeclaration<MapComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MapComponent, "c8y-map", never, { "config": { "alias": "config"; "required": false; }; "assets": { "alias": "assets"; "required": false; }; "polyline$": { "alias": "polyline$"; "required": false; }; "polylineOptions": { "alias": "polylineOptions"; "required": false; }; }, { "onRealtimeUpdate": "onRealtimeUpdate"; "onMove": "onMove"; "onMoveEnd": "onMoveEnd"; "onZoomStart": "onZoomStart"; "onZoomEnd": "onZoomEnd"; "onMap": "onMap"; "onInit": "onInit"; }, ["popup"], ["*"], false, never>;
}
//# sourceMappingURL=map.component.d.ts.map