UNPKG

angular-leaflet

Version:

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

83 lines 5.79 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, forwardRef, Input } from '@angular/core'; import { polyline } from 'leaflet'; import { BaseLayer } from '../../core/base-layer'; export class PolylineComponent extends BaseLayer { /** * @param {?} value * @return {?} */ set coordinates(value) { this._coordinates = value; if (this.layerRef) { this.layerRef.setLatLngs(value); } else { this.createLayer(); } } /** * @param {?} value * @return {?} */ set options(value) { this._options = value; if (this.layerRef) { this.layerRef.setStyle(value); } else { this.createLayer(); } } /** * @param {?} map * @return {?} */ addTo(map) { super.addTo(map); if (!this.layerRef && this._coordinates) { this.createLayer(); } } /** * @private * @return {?} */ createLayer() { if (this.mapRef && this._coordinates) { this.layerRef = polyline(this._coordinates, Object.assign({}, this._options)); this.mapRef.addLayer(this.layerRef); this.initHandlers(); } } } PolylineComponent.decorators = [ { type: Component, args: [{ selector: 'ngl-polyline', template: '', providers: [{ provide: BaseLayer, useExisting: forwardRef((/** * @return {?} */ () => PolylineComponent)) }] }] } ]; PolylineComponent.propDecorators = { coordinates: [{ type: Input }], options: [{ type: Input }] }; if (false) { /** * @type {?} * @private */ PolylineComponent.prototype._coordinates; /** * @type {?} * @private */ PolylineComponent.prototype._options; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1sZWFmbGV0LyIsInNvdXJjZXMiOlsidmVjdG9ycy9wb2x5bGluZS9wb2x5bGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQWtELFFBQVEsRUFBWSxNQUFNLFNBQVMsQ0FBQztBQUM3RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPbEQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFNBQW1COzs7OztJQUN4RCxJQUFhLFdBQVcsQ0FBQyxLQUF5QjtRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakM7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7Ozs7O0lBRUQsSUFBYSxPQUFPLENBQUMsS0FBa0I7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9CO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDOzs7OztJQUtELEtBQUssQ0FBQyxHQUFxQjtRQUN6QixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs7Ozs7SUFFTyxXQUFXO1FBQ2pCLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLG9CQUNyQyxJQUFJLENBQUMsUUFBUSxFQUNoQixDQUFDO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7OztZQTFDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLFFBQVEsRUFBRSxFQUFFO2dCQUNaLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVTs7O3dCQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFDLEVBQUUsQ0FBQzthQUN0Rjs7OzBCQUVFLEtBQUs7c0JBU0wsS0FBSzs7Ozs7OztJQVNOLHlDQUF5Qzs7Ozs7SUFDekMscUNBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGF0TG5nRXhwcmVzc2lvbiwgTGF5ZXJHcm91cCwgTWFwLCBQYXRoT3B0aW9ucywgcG9seWxpbmUsIFBvbHlsaW5lIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBCYXNlTGF5ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtbGF5ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2wtcG9seWxpbmUnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQmFzZUxheWVyLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb2x5bGluZUNvbXBvbmVudCkgfV1cbn0pXG5leHBvcnQgY2xhc3MgUG9seWxpbmVDb21wb25lbnQgZXh0ZW5kcyBCYXNlTGF5ZXI8UG9seWxpbmU+IHtcbiAgQElucHV0KCkgc2V0IGNvb3JkaW5hdGVzKHZhbHVlOiBMYXRMbmdFeHByZXNzaW9uW10pIHtcbiAgICB0aGlzLl9jb29yZGluYXRlcyA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmxheWVyUmVmKSB7XG4gICAgICB0aGlzLmxheWVyUmVmLnNldExhdExuZ3ModmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNyZWF0ZUxheWVyKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgc2V0IG9wdGlvbnModmFsdWU6IFBhdGhPcHRpb25zKSB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmxheWVyUmVmKSB7XG4gICAgICB0aGlzLmxheWVyUmVmLnNldFN0eWxlKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVMYXllcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Nvb3JkaW5hdGVzOiBMYXRMbmdFeHByZXNzaW9uW107XG4gIHByaXZhdGUgX29wdGlvbnM6IFBhdGhPcHRpb25zO1xuXG4gIGFkZFRvKG1hcDogTWFwIHwgTGF5ZXJHcm91cCk6IHZvaWQge1xuICAgIHN1cGVyLmFkZFRvKG1hcCk7XG4gICAgaWYgKCF0aGlzLmxheWVyUmVmICYmIHRoaXMuX2Nvb3JkaW5hdGVzKSB7XG4gICAgICB0aGlzLmNyZWF0ZUxheWVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVMYXllcigpIHtcbiAgICBpZiAodGhpcy5tYXBSZWYgJiYgdGhpcy5fY29vcmRpbmF0ZXMpIHtcbiAgICAgIHRoaXMubGF5ZXJSZWYgPSBwb2x5bGluZSh0aGlzLl9jb29yZGluYXRlcywge1xuICAgICAgICAuLi50aGlzLl9vcHRpb25zXG4gICAgICB9KTtcbiAgICAgIHRoaXMubWFwUmVmLmFkZExheWVyKHRoaXMubGF5ZXJSZWYpO1xuICAgICAgdGhpcy5pbml0SGFuZGxlcnMoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==