angular-cesium-ivy
Version:
Angular library for working with Angular-Cesium.
57 lines • 2.25 kB
TypeScript
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import { AcEntity } from '../../models/ac-entity';
import { CesiumEvent } from '../map-events-mananger/consts/cesium-event.enum';
import { CesiumEventModifier } from '../map-events-mananger/consts/cesium-event-modifier.enum';
import { MapsManagerService } from '../maps-manager/maps-manager.service';
import * as i0 from "@angular/core";
export interface SelectionOptions {
event?: CesiumEvent;
modifier?: CesiumEventModifier;
entityType?: any;
}
/**
* Manages entity selection service for any given mouse event and modifier
* the service will manage the list of selected items.
* check out the example
* you must provide the service yourself
*
* __Usage :__
* ```
* // provide the service in some component
* @Component({
* //...
* providers: [SelectionManagerService]
* }
*
* // Usage example:
* // init selection
* const selectedIndicator = ture; // optional default true, if true a boolean "selected" property will be added to the selected entity
* selectionManagerService.initSelection({ event: CesiumEvent.LEFT_CLICK,
* modifier: CesiumEventModifier.CTRL
* },selectedIndicator);
* // Get selected
* const selected = selectionManagerService.selected();
*
* // Or as observer
* const selected$ = selectionManagerService.selected$();
*
* ```
*
*/
export declare class SelectionManagerService {
private mapsManager;
selectedEntitiesItems$: BehaviorSubject<AcEntity[]>;
selectedEntitySubject$: Subject<AcEntity>;
private mapEventsManagerService;
constructor(mapsManager: MapsManagerService);
selectedEntities$(): Observable<AcEntity[]>;
selectedEntities(): AcEntity[];
selectedEntity$(): Subject<AcEntity>;
toggleSelection(entity: AcEntity, addSelectedIndicator: boolean): void;
private addToSelected;
private removeSelected;
initSelection(selectionOptions?: SelectionOptions, addSelectedIndicator?: boolean, eventPriority?: number, mapId?: string): void;
static ɵfac: i0.ɵɵFactoryDeclaration<SelectionManagerService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<SelectionManagerService>;
}
//# sourceMappingURL=selection-manager.service.d.ts.map