UNPKG

angular-leaflet

Version:

Collection of angular components to build map views faster and with minimal configuration using the most popular library **LeafletJS**.

135 lines 8.93 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, ContentChildren, ElementRef, Input, QueryList } from '@angular/core'; import { map } from 'leaflet'; import { BaseLayer } from './base-layer'; import { MapHandler } from './map-handler'; var LeafletComponent = /** @class */ (function () { function LeafletComponent(elementRef) { this.elementRef = elementRef; this.layerIds = []; this.handlerIds = []; } /** * @return {?} */ LeafletComponent.prototype.ngOnInit = /** * @return {?} */ function () { this.map = map(this.elementRef.nativeElement, tslib_1.__assign({}, this.options)); }; /** * @return {?} */ LeafletComponent.prototype.ngAfterContentInit = /** * @return {?} */ function () { this.addLayers(); this.layers.changes.subscribe(this.addLayers.bind(this)); this.addHandlers(); this.handlers.changes.subscribe(this.addHandlers.bind(this)); }; /** * @private * @return {?} */ LeafletComponent.prototype.addLayers = /** * @private * @return {?} */ function () { var _this = this; this.layers.filter((/** * @param {?} layer * @return {?} */ function (layer) { return !_this.layerIds.includes(layer.id); })).forEach(this.addLayer.bind(this)); }; /** * @private * @param {?} layer * @return {?} */ LeafletComponent.prototype.addLayer = /** * @private * @param {?} layer * @return {?} */ function (layer) { layer.addTo(this.map); this.layerIds = tslib_1.__spread(this.layerIds, [layer.id]); }; /** * @private * @return {?} */ LeafletComponent.prototype.addHandlers = /** * @private * @return {?} */ function () { var _this = this; this.handlers.filter((/** * @param {?} handler * @return {?} */ function (handler) { return !_this.handlerIds.includes(handler.id); })).forEach(this.addHandler.bind(this)); }; /** * @private * @param {?} handler * @return {?} */ LeafletComponent.prototype.addHandler = /** * @private * @param {?} handler * @return {?} */ function (handler) { handler.initialize(this.map); this.handlerIds = tslib_1.__spread(this.handlerIds, [handler.id]); }; LeafletComponent.decorators = [ { type: Component, args: [{ selector: 'ngl-leaflet', template: '<ng-content></ng-content>', styles: ["\n :host {\n display: flex;\n flex: 1 1 auto;\n }\n "] }] } ]; /** @nocollapse */ LeafletComponent.ctorParameters = function () { return [ { type: ElementRef } ]; }; LeafletComponent.propDecorators = { options: [{ type: Input }], layers: [{ type: ContentChildren, args: [BaseLayer,] }], handlers: [{ type: ContentChildren, args: [MapHandler, { descendants: true },] }] }; return LeafletComponent; }()); export { LeafletComponent }; if (false) { /** @type {?} */ LeafletComponent.prototype.options; /** @type {?} */ LeafletComponent.prototype.layers; /** @type {?} */ LeafletComponent.prototype.handlers; /** @type {?} */ LeafletComponent.prototype.map; /** @type {?} */ LeafletComponent.prototype.layerIds; /** @type {?} */ LeafletComponent.prototype.handlerIds; /** * @type {?} * @private */ LeafletComponent.prototype.elementRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWxlYWZsZXQvIiwic291cmNlcyI6WyJjb3JlL2xlYWZsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxHQUFHLEVBQW1CLE1BQU0sU0FBUyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQztJQXNCRSwwQkFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUgxQyxhQUFRLEdBQWEsRUFBRSxDQUFDO1FBQ3hCLGVBQVUsR0FBYSxFQUFFLENBQUM7SUFFbUIsQ0FBQzs7OztJQUU5QyxtQ0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsdUJBQ3ZDLElBQUksQ0FBQyxPQUFPLEVBQ2YsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCw2Q0FBa0I7OztJQUFsQjtRQUNFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7Ozs7SUFFTyxvQ0FBUzs7OztJQUFqQjtRQUFBLGlCQUVDO1FBREMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBakMsQ0FBaUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7Ozs7OztJQUVPLG1DQUFROzs7OztJQUFoQixVQUFpQixLQUFxQjtRQUNwQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxvQkFBTyxJQUFJLENBQUMsUUFBUSxHQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUMsQ0FBQztJQUMvQyxDQUFDOzs7OztJQUVPLHNDQUFXOzs7O0lBQW5CO1FBQUEsaUJBRUM7UUFEQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07Ozs7UUFBQyxVQUFBLE9BQU8sSUFBSSxPQUFBLENBQUMsS0FBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFyQyxDQUFxQyxFQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0csQ0FBQzs7Ozs7O0lBRU8scUNBQVU7Ozs7O0lBQWxCLFVBQW1CLE9BQW1CO1FBQ3BDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLG9CQUFPLElBQUksQ0FBQyxVQUFVLEdBQUUsT0FBTyxDQUFDLEVBQUUsRUFBQyxDQUFDO0lBQ3JELENBQUM7O2dCQXRERixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSwyQkFBMkI7NkJBRW5DLGlGQUtDO2lCQUVKOzs7O2dCQWhCc0QsVUFBVTs7OzBCQWtCOUQsS0FBSzt5QkFFTCxlQUFlLFNBQUMsU0FBUzsyQkFDekIsZUFBZSxTQUFDLFVBQVUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7O0lBdUNwRCx1QkFBQztDQUFBLEFBdkRELElBdURDO1NBM0NZLGdCQUFnQjs7O0lBQzNCLG1DQUE2Qjs7SUFFN0Isa0NBQThEOztJQUM5RCxvQ0FBb0Y7O0lBRXBGLCtCQUFTOztJQUNULG9DQUF3Qjs7SUFDeEIsc0NBQTBCOzs7OztJQUVkLHNDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hcCwgTWFwLCBNYXBPcHRpb25zIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBCYXNlTGF5ZXIgfSBmcm9tICcuL2Jhc2UtbGF5ZXInO1xuaW1wb3J0IHsgTWFwSGFuZGxlciB9IGZyb20gJy4vbWFwLWhhbmRsZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2wtbGVhZmxldCcsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIExlYWZsZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoKSBvcHRpb25zOiBNYXBPcHRpb25zO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQmFzZUxheWVyKSBsYXllcnM6IFF1ZXJ5TGlzdDxCYXNlTGF5ZXI8YW55Pj47XG4gIEBDb250ZW50Q2hpbGRyZW4oTWFwSGFuZGxlciwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBoYW5kbGVyczogUXVlcnlMaXN0PE1hcEhhbmRsZXI+O1xuXG4gIG1hcDogTWFwO1xuICBsYXllcklkczogc3RyaW5nW10gPSBbXTtcbiAgaGFuZGxlcklkczogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5tYXAgPSBtYXAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgIC4uLnRoaXMub3B0aW9uc1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuYWRkTGF5ZXJzKCk7XG4gICAgdGhpcy5sYXllcnMuY2hhbmdlcy5zdWJzY3JpYmUodGhpcy5hZGRMYXllcnMuYmluZCh0aGlzKSk7XG5cbiAgICB0aGlzLmFkZEhhbmRsZXJzKCk7XG4gICAgdGhpcy5oYW5kbGVycy5jaGFuZ2VzLnN1YnNjcmliZSh0aGlzLmFkZEhhbmRsZXJzLmJpbmQodGhpcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRMYXllcnMoKSB7XG4gICAgdGhpcy5sYXllcnMuZmlsdGVyKGxheWVyID0+ICF0aGlzLmxheWVySWRzLmluY2x1ZGVzKGxheWVyLmlkKSkuZm9yRWFjaCh0aGlzLmFkZExheWVyLmJpbmQodGhpcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRMYXllcihsYXllcjogQmFzZUxheWVyPGFueT4pIHtcbiAgICBsYXllci5hZGRUbyh0aGlzLm1hcCk7XG4gICAgdGhpcy5sYXllcklkcyA9IFsuLi50aGlzLmxheWVySWRzLCBsYXllci5pZF07XG4gIH1cblxuICBwcml2YXRlIGFkZEhhbmRsZXJzKCkge1xuICAgIHRoaXMuaGFuZGxlcnMuZmlsdGVyKGhhbmRsZXIgPT4gIXRoaXMuaGFuZGxlcklkcy5pbmNsdWRlcyhoYW5kbGVyLmlkKSkuZm9yRWFjaCh0aGlzLmFkZEhhbmRsZXIuYmluZCh0aGlzKSk7XG4gIH1cblxuICBwcml2YXRlIGFkZEhhbmRsZXIoaGFuZGxlcjogTWFwSGFuZGxlcikge1xuICAgIGhhbmRsZXIuaW5pdGlhbGl6ZSh0aGlzLm1hcCk7XG4gICAgdGhpcy5oYW5kbGVySWRzID0gWy4uLnRoaXMuaGFuZGxlcklkcywgaGFuZGxlci5pZF07XG4gIH1cbn1cbiJdfQ==