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.64 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 { LatLngBounds, rectangle } from 'leaflet';
import { BaseLayer } from '../../core/base-layer';
export class RectangleComponent extends BaseLayer {
/**
* @param {?} value
* @return {?}
*/
set bounds(value) {
this._bounds = value;
if (this.layerRef) {
this.layerRef.setBounds(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._bounds) {
this.layerRef = rectangle(this._bounds, Object.assign({}, this._options));
this.mapRef.addLayer(this.layerRef);
this.initHandlers();
}
}
/**
* @param {?} map
* @return {?}
*/
addTo(map) {
super.addTo(map);
if (!this.layerRef) {
this.createLayer();
}
}
}
RectangleComponent.decorators = [
{ type: Component, args: [{
selector: 'ngl-rectangle',
template: '',
providers: [{ provide: BaseLayer, useExisting: forwardRef((/**
* @return {?}
*/
() => RectangleComponent)) }]
}] }
];
RectangleComponent.propDecorators = {
bounds: [{ type: Input }],
options: [{ type: Input }]
};
if (false) {
/**
* @type {?}
* @private
*/
RectangleComponent.prototype._bounds;
/**
* @type {?}
* @private
*/
RectangleComponent.prototype._options;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdGFuZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItbGVhZmxldC8iLCJzb3VyY2VzIjpbInZlY3RvcnMvcmVjdGFuZ2xlL3JlY3RhbmdsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFnQyxTQUFTLEVBQWEsTUFBTSxTQUFTLENBQUM7QUFDM0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBT2xELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxTQUFvQjs7Ozs7SUFDMUQsSUFBYSxNQUFNLENBQUMsS0FBbUI7UUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2hDO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDOzs7OztJQUVELElBQWEsT0FBTyxDQUFDLEtBQWtCO1FBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQjthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs7OztJQUtELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxvQkFDakMsSUFBSSxDQUFDLFFBQVEsRUFDaEIsQ0FBQztZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDOzs7OztJQUVELEtBQUssQ0FBQyxHQUFxQjtRQUN6QixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7OztZQTFDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRSxFQUFFO2dCQUNaLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVTs7O3dCQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixFQUFDLEVBQUUsQ0FBQzthQUN2Rjs7O3FCQUVFLEtBQUs7c0JBU0wsS0FBSzs7Ozs7OztJQVNOLHFDQUE4Qjs7Ozs7SUFDOUIsc0NBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGF0TG5nQm91bmRzLCBMYXllckdyb3VwLCBNYXAsIFBhdGhPcHRpb25zLCByZWN0YW5nbGUsIFJlY3RhbmdsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHsgQmFzZUxheWVyIH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWxheWVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdsLXJlY3RhbmdsZScsXG4gIHRlbXBsYXRlOiAnJyxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBCYXNlTGF5ZXIsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJlY3RhbmdsZUNvbXBvbmVudCkgfV1cbn0pXG5leHBvcnQgY2xhc3MgUmVjdGFuZ2xlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUxheWVyPFJlY3RhbmdsZT4ge1xuICBASW5wdXQoKSBzZXQgYm91bmRzKHZhbHVlOiBMYXRMbmdCb3VuZHMpIHtcbiAgICB0aGlzLl9ib3VuZHMgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5sYXllclJlZikge1xuICAgICAgdGhpcy5sYXllclJlZi5zZXRCb3VuZHModmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNyZWF0ZUxheWVyKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgc2V0IG9wdGlvbnModmFsdWU6IFBhdGhPcHRpb25zKSB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmxheWVyUmVmKSB7XG4gICAgICB0aGlzLmxheWVyUmVmLnNldFN0eWxlKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVMYXllcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2JvdW5kczogTGF0TG5nQm91bmRzO1xuICBwcml2YXRlIF9vcHRpb25zOiBQYXRoT3B0aW9ucztcblxuICBjcmVhdGVMYXllcigpIHtcbiAgICBpZiAodGhpcy5tYXBSZWYgJiYgdGhpcy5fYm91bmRzKSB7XG4gICAgICB0aGlzLmxheWVyUmVmID0gcmVjdGFuZ2xlKHRoaXMuX2JvdW5kcywge1xuICAgICAgICAuLi50aGlzLl9vcHRpb25zXG4gICAgICB9KTtcbiAgICAgIHRoaXMubWFwUmVmLmFkZExheWVyKHRoaXMubGF5ZXJSZWYpO1xuICAgICAgdGhpcy5pbml0SGFuZGxlcnMoKTtcbiAgICB9XG4gIH1cblxuICBhZGRUbyhtYXA6IE1hcCB8IExheWVyR3JvdXApOiB2b2lkIHtcbiAgICBzdXBlci5hZGRUbyhtYXApO1xuICAgIGlmICghdGhpcy5sYXllclJlZikge1xuICAgICAgdGhpcy5jcmVhdGVMYXllcigpO1xuICAgIH1cbiAgfVxufVxuIl19