@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
65 lines • 2.18 kB
TypeScript
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