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
JavaScript
/**
* @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==