UNPKG

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