angular-leaflet
Version:
Collection of angular components to build map views faster and with minimal configuration using the most popular library **LeafletJS**.
82 lines • 5.67 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 { polygon } from 'leaflet';
import { BaseLayer } from '../../core/base-layer';
export class PolygonComponent 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();
}
}
/**
* @return {?}
*/
createLayer() {
if (this.mapRef && this._coordinates) {
this.layerRef = polygon(this._coordinates, Object.assign({}, this._options));
this.mapRef.addLayer(this.layerRef);
this.initHandlers();
}
}
/**
* @param {?} map
* @return {?}
*/
addTo(map) {
super.addTo(map);
if (!this.layerRef) {
this.createLayer();
}
}
}
PolygonComponent.decorators = [
{ type: Component, args: [{
selector: 'ngl-polygon',
template: '',
providers: [{ provide: BaseLayer, useExisting: forwardRef((/**
* @return {?}
*/
() => PolygonComponent)) }]
}] }
];
PolygonComponent.propDecorators = {
coordinates: [{ type: Input }],
options: [{ type: Input }]
};
if (false) {
/**
* @type {?}
* @private
*/
PolygonComponent.prototype._coordinates;
/**
* @type {?}
* @private
*/
PolygonComponent.prototype._options;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWxlYWZsZXQvIiwic291cmNlcyI6WyJ2ZWN0b3JzL3BvbHlnb24vcG9seWdvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWtELE9BQU8sRUFBVyxNQUFNLFNBQVMsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPbEQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFNBQWtCOzs7OztJQUN0RCxJQUFhLFdBQVcsQ0FBQyxLQUF5QjtRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakM7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7Ozs7O0lBRUQsSUFBYSxPQUFPLENBQUMsS0FBa0I7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9CO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDOzs7O0lBS0QsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLG9CQUNwQyxJQUFJLENBQUMsUUFBUSxFQUNoQixDQUFDO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7Ozs7O0lBRUQsS0FBSyxDQUFDLEdBQXFCO1FBQ3pCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs7O1lBMUNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVOzs7d0JBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLEVBQUMsRUFBRSxDQUFDO2FBQ3JGOzs7MEJBRUUsS0FBSztzQkFTTCxLQUFLOzs7Ozs7O0lBU04sd0NBQXlDOzs7OztJQUN6QyxvQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhdExuZ0V4cHJlc3Npb24sIExheWVyR3JvdXAsIE1hcCwgUGF0aE9wdGlvbnMsIHBvbHlnb24sIFBvbHlnb24gfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IEJhc2VMYXllciB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1sYXllcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nbC1wb2x5Z29uJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEJhc2VMYXllciwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9seWdvbkNvbXBvbmVudCkgfV1cbn0pXG5leHBvcnQgY2xhc3MgUG9seWdvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VMYXllcjxQb2x5Z29uPiB7XG4gIEBJbnB1dCgpIHNldCBjb29yZGluYXRlcyh2YWx1ZTogTGF0TG5nRXhwcmVzc2lvbltdKSB7XG4gICAgdGhpcy5fY29vcmRpbmF0ZXMgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5sYXllclJlZikge1xuICAgICAgdGhpcy5sYXllclJlZi5zZXRMYXRMbmdzKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVMYXllcigpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBvcHRpb25zKHZhbHVlOiBQYXRoT3B0aW9ucykge1xuICAgIHRoaXMuX29wdGlvbnMgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5sYXllclJlZikge1xuICAgICAgdGhpcy5sYXllclJlZi5zZXRTdHlsZSh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlTGF5ZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jb29yZGluYXRlczogTGF0TG5nRXhwcmVzc2lvbltdO1xuICBwcml2YXRlIF9vcHRpb25zOiBQYXRoT3B0aW9ucztcblxuICBjcmVhdGVMYXllcigpIHtcbiAgICBpZiAodGhpcy5tYXBSZWYgJiYgdGhpcy5fY29vcmRpbmF0ZXMpIHtcbiAgICAgIHRoaXMubGF5ZXJSZWYgPSBwb2x5Z29uKHRoaXMuX2Nvb3JkaW5hdGVzLCB7XG4gICAgICAgIC4uLnRoaXMuX29wdGlvbnNcbiAgICAgIH0pO1xuICAgICAgdGhpcy5tYXBSZWYuYWRkTGF5ZXIodGhpcy5sYXllclJlZik7XG4gICAgICB0aGlzLmluaXRIYW5kbGVycygpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFRvKG1hcDogTWFwIHwgTGF5ZXJHcm91cCk6IHZvaWQge1xuICAgIHN1cGVyLmFkZFRvKG1hcCk7XG4gICAgaWYgKCF0aGlzLmxheWVyUmVmKSB7XG4gICAgICB0aGlzLmNyZWF0ZUxheWVyKCk7XG4gICAgfVxuICB9XG59XG4iXX0=