angular-cesium
Version:
Angular library for working with Cesium.
43 lines • 5.12 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxvbnRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jZXNpdW0vc3JjL2xpYi9hbmd1bGFyLWNlc2l1bS9zZXJ2aWNlcy9wbG9udGVyL3Bsb250ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9COzs7R0FHRztBQUVILE1BQU0sT0FBTyxjQUFjO0lBT3pCO1FBTFEsc0JBQWlCLEdBQWUsRUFBRSxDQUFDO1FBR25DLDJCQUFzQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3JFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBZSxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRUQsU0FBUyxDQUFDLFdBQXdCO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBRTFCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWdCO1FBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hELENBQUM7OztZQTNDRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjRW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjLWVudGl0eSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRXZlbnRSZXN1bHQsIE1vdmVtZW50IH0gZnJvbSAnLi4vbWFwLWV2ZW50cy1tYW5hbmdlci9tYXAtZXZlbnRzLW1hbmFnZXInO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgZm9yIHNvbHZpbmcgcGxvbnRlci5cclxuICogVXNlZCBieSBtYXAtZXZlbnQtbWFuYWdlciBhbmQgcGxvbnRlciBjb250ZXh0IGNvbXBvbmVudFxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUGxvbnRlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgX3Bsb250ZXJTaG93bjogYm9vbGVhbjtcclxuICBwcml2YXRlIF9lbnRpdGVzVG9QbG9udGVyOiBBY0VudGl0eVtdID0gW107XHJcbiAgcHJpdmF0ZSBfcGxvbnRlck9ic2VydmVyOiBTdWJqZWN0PEV2ZW50UmVzdWx0PjtcclxuICBwcml2YXRlIF9ldmVudFJlc3VsdDogRXZlbnRSZXN1bHQ7XHJcbiAgcHJpdmF0ZSBfcGxvbnRlckNoYW5nZU5vdGlmaWVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLl9wbG9udGVyT2JzZXJ2ZXIgPSBuZXcgU3ViamVjdDxFdmVudFJlc3VsdD4oKTtcclxuICB9XHJcblxyXG4gIGdldCBwbG9udGVyQ2hhbmdlTm90aWZpZXIoKTogRXZlbnRFbWl0dGVyPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Bsb250ZXJDaGFuZ2VOb3RpZmllcjtcclxuICB9XHJcblxyXG4gIGdldCBwbG9udGVyU2hvd24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGxvbnRlclNob3duO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVudGl0ZXNUb1Bsb250ZXIoKTogQWNFbnRpdHlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZW50aXRlc1RvUGxvbnRlcjtcclxuICB9XHJcblxyXG4gIGdldCBwbG9udGVyQ2xpY2tQb3NpdGlvbigpOiBNb3ZlbWVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXZlbnRSZXN1bHQubW92ZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBwbG9udGVySXQoZXZlbnRSZXN1bHQ6IEV2ZW50UmVzdWx0KSB7XHJcbiAgICB0aGlzLl9ldmVudFJlc3VsdCA9IGV2ZW50UmVzdWx0O1xyXG4gICAgdGhpcy5fZW50aXRlc1RvUGxvbnRlciA9IGV2ZW50UmVzdWx0LmVudGl0aWVzO1xyXG4gICAgdGhpcy5fcGxvbnRlclNob3duID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLl9wbG9udGVyQ2hhbmdlTm90aWZpZXIuZW1pdCgpO1xyXG4gICAgcmV0dXJuIHRoaXMuX3Bsb250ZXJPYnNlcnZlcjtcclxuICB9XHJcblxyXG4gIHJlc29sdmVQbG9udGVyKGVudGl0eTogQWNFbnRpdHkpIHtcclxuICAgIHRoaXMuX3Bsb250ZXJTaG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5fZXZlbnRSZXN1bHQuZW50aXRpZXMgPSBbZW50aXR5XTtcclxuXHJcbiAgICB0aGlzLl9wbG9udGVyQ2hhbmdlTm90aWZpZXIuZW1pdCgpO1xyXG4gICAgdGhpcy5fcGxvbnRlck9ic2VydmVyLm5leHQodGhpcy5fZXZlbnRSZXN1bHQpO1xyXG4gIH1cclxufVxyXG4iXX0=