iceye-angular-cesium-fork
Version:
Angular library for working with Cesium.
43 lines • 4.93 kB
JavaScript
import { EventEmitter, Injectable } from '@angular/core';
import { Subject } from 'rxjs';
/**
* Service for solving plonter.
* Used by map-event-manager and plonter context component
*/
export class PlonterService {
constructor() {
this._entitesToPlonter = [];
this._plonterChangeNotifier = new EventEmitter();
this._plonterObserver = new Subject();
}
get plonterChangeNotifier() {
return this._plonterChangeNotifier;
}
get plonterShown() {
return this._plonterShown;
}
get entitesToPlonter() {
return this._entitesToPlonter;
}
get plonterClickPosition() {
return this._eventResult.movement;
}
plonterIt(eventResult) {
this._eventResult = eventResult;
this._entitesToPlonter = eventResult.entities;
this._plonterShown = true;
this._plonterChangeNotifier.emit();
return this._plonterObserver;
}
resolvePlonter(entity) {
this._plonterShown = false;
this._eventResult.entities = [entity];
this._plonterChangeNotifier.emit();
this._plonterObserver.next(this._eventResult);
}
}
PlonterService.decorators = [
{ type: Injectable }
];
PlonterService.ctorParameters = () => [];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxvbnRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jZXNpdW0vc3JjL2xpYi9hbmd1bGFyLWNlc2l1bS9zZXJ2aWNlcy9wbG9udGVyL3Bsb250ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9COzs7R0FHRztBQUVILE1BQU0sT0FBTyxjQUFjO0lBT3pCO1FBTFEsc0JBQWlCLEdBQWUsRUFBRSxDQUFDO1FBR25DLDJCQUFzQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3JFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBZSxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRUQsU0FBUyxDQUFDLFdBQXdCO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBRTFCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWdCO1FBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hELENBQUM7OztZQTNDRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY0VudGl0eSB9IGZyb20gJy4uLy4uL21vZGVscy9hYy1lbnRpdHknO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRXZlbnRSZXN1bHQsIE1vdmVtZW50IH0gZnJvbSAnLi4vbWFwLWV2ZW50cy1tYW5hbmdlci9tYXAtZXZlbnRzLW1hbmFnZXInO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHNvbHZpbmcgcGxvbnRlci5cbiAqIFVzZWQgYnkgbWFwLWV2ZW50LW1hbmFnZXIgYW5kIHBsb250ZXIgY29udGV4dCBjb21wb25lbnRcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBsb250ZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfcGxvbnRlclNob3duOiBib29sZWFuO1xuICBwcml2YXRlIF9lbnRpdGVzVG9QbG9udGVyOiBBY0VudGl0eVtdID0gW107XG4gIHByaXZhdGUgX3Bsb250ZXJPYnNlcnZlcjogU3ViamVjdDxFdmVudFJlc3VsdD47XG4gIHByaXZhdGUgX2V2ZW50UmVzdWx0OiBFdmVudFJlc3VsdDtcbiAgcHJpdmF0ZSBfcGxvbnRlckNoYW5nZU5vdGlmaWVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9wbG9udGVyT2JzZXJ2ZXIgPSBuZXcgU3ViamVjdDxFdmVudFJlc3VsdD4oKTtcbiAgfVxuXG4gIGdldCBwbG9udGVyQ2hhbmdlTm90aWZpZXIoKTogRXZlbnRFbWl0dGVyPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9wbG9udGVyQ2hhbmdlTm90aWZpZXI7XG4gIH1cblxuICBnZXQgcGxvbnRlclNob3duKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9wbG9udGVyU2hvd247XG4gIH1cblxuICBnZXQgZW50aXRlc1RvUGxvbnRlcigpOiBBY0VudGl0eVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZW50aXRlc1RvUGxvbnRlcjtcbiAgfVxuXG4gIGdldCBwbG9udGVyQ2xpY2tQb3NpdGlvbigpOiBNb3ZlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2V2ZW50UmVzdWx0Lm1vdmVtZW50O1xuICB9XG5cbiAgcGxvbnRlckl0KGV2ZW50UmVzdWx0OiBFdmVudFJlc3VsdCkge1xuICAgIHRoaXMuX2V2ZW50UmVzdWx0ID0gZXZlbnRSZXN1bHQ7XG4gICAgdGhpcy5fZW50aXRlc1RvUGxvbnRlciA9IGV2ZW50UmVzdWx0LmVudGl0aWVzO1xuICAgIHRoaXMuX3Bsb250ZXJTaG93biA9IHRydWU7XG5cbiAgICB0aGlzLl9wbG9udGVyQ2hhbmdlTm90aWZpZXIuZW1pdCgpO1xuICAgIHJldHVybiB0aGlzLl9wbG9udGVyT2JzZXJ2ZXI7XG4gIH1cblxuICByZXNvbHZlUGxvbnRlcihlbnRpdHk6IEFjRW50aXR5KSB7XG4gICAgdGhpcy5fcGxvbnRlclNob3duID0gZmFsc2U7XG4gICAgdGhpcy5fZXZlbnRSZXN1bHQuZW50aXRpZXMgPSBbZW50aXR5XTtcblxuICAgIHRoaXMuX3Bsb250ZXJDaGFuZ2VOb3RpZmllci5lbWl0KCk7XG4gICAgdGhpcy5fcGxvbnRlck9ic2VydmVyLm5leHQodGhpcy5fZXZlbnRSZXN1bHQpO1xuICB9XG59XG4iXX0=