UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

65 lines 2.18 kB
import { InjectionToken } from '@angular/core'; import { IEvent, IManagedObject } from '@c8y/client'; import type { MapDefaultConfig, MapTileLayer } from '@c8y/options'; import type * as L from 'leaflet'; import { Observable } from 'rxjs'; import { GlobalAutoRefreshWidgetConfig } from '@c8y/ngx-components'; export declare function getC8yMarker(marker: L.Marker, asset?: PositionManagedObject, event?: IEvent): C8yMarker; export declare const MAP_TILE_LAYER: InjectionToken<Observable<MapTileLayer[]>>; type RequireOnlyOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> & { [K in Keys]-?: Required<Pick<T, K>> & Partial<Record<Exclude<Keys, K>, undefined>>; }[Keys]; interface C8yMarkerAttr { asset: PositionManagedObject; event: IEvent; } export type C8yMarkerAttributes = keyof C8yMarkerAttr; export type C8yMarker = L.Marker & RequireOnlyOne<C8yMarkerAttr, 'asset' | 'event'>; export declare enum ClusterSize { NONE = 0, FOUR = 1, SIXTEEN = 2 } export declare enum MapTenantOptionKeys { CONFIG = "map-config", LAYERS = "map-layers" } export interface PositionManagedObject extends IManagedObject { c8y_Position: { lat: number; lng: number; alt?: number; }; c8y_ActiveAlarmsStatus?: { minor: number; major: number; warning: number; critical: number; }; icon?: { name: string; }; } export type ClusterMapConfig = MapConfig & { center: [number, number]; refreshInterval?: number | null; }; export type MapConfig = MapDefaultConfig & { follow?: boolean; realtime?: boolean; icon?: string; color?: string; disableZoom?: boolean; disablePan?: boolean; bounds?: L.LatLngBounds; fitBoundsOptions?: L.FitBoundsOptions; } & GlobalAutoRefreshWidgetConfig; export declare const MAP_DEFAULT_CONFIG: InjectionToken<Observable<MapDefaultConfig>>; export declare const defaultLayer: MapTileLayer; export declare const defaultMapConfig: MapDefaultConfig; export type MapStatusButtonsConfig = Record<'realtime', { show: boolean; disabled?: boolean; }>; export {}; //# sourceMappingURL=map.model.d.ts.map