angular-leaflet
Version:
Collection of angular components to build map views faster and with minimal configuration using the most popular library **LeafletJS**.
126 lines • 7.85 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, forwardRef, Input } from '@angular/core';
import { BaseLayer } from '../../core/base-layer';
import { circle } from 'leaflet';
var CircleComponent = /** @class */ (function (_super) {
tslib_1.__extends(CircleComponent, _super);
function CircleComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(CircleComponent.prototype, "center", {
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
this._center = value;
if (this.layerRef) {
this.layerRef.setLatLng(value);
}
else {
this.createLayer();
}
},
enumerable: true,
configurable: true
});
Object.defineProperty(CircleComponent.prototype, "radius", {
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
this._radius = value;
if (this.layerRef) {
this.layerRef.setRadius(value);
}
else {
this.createLayer();
}
},
enumerable: true,
configurable: true
});
Object.defineProperty(CircleComponent.prototype, "options", {
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
this._options = value;
if (this.layerRef) {
this.layerRef.setStyle(value);
}
},
enumerable: true,
configurable: true
});
/**
* @param {?} map
* @return {?}
*/
CircleComponent.prototype.addTo = /**
* @param {?} map
* @return {?}
*/
function (map) {
_super.prototype.addTo.call(this, map);
if (!this.layerRef) {
this.createLayer();
}
};
/**
* @private
* @return {?}
*/
CircleComponent.prototype.createLayer = /**
* @private
* @return {?}
*/
function () {
if (this.mapRef && this._center && this._radius) {
this.layerRef = circle(this._center, tslib_1.__assign({}, this._options, { radius: this._radius }));
this.mapRef.addLayer(this.layerRef);
this.initHandlers();
}
};
CircleComponent.decorators = [
{ type: Component, args: [{
selector: 'ngl-circle',
template: '',
providers: [{ provide: BaseLayer, useExisting: forwardRef((/**
* @return {?}
*/
function () { return CircleComponent; })) }]
}] }
];
CircleComponent.propDecorators = {
center: [{ type: Input }],
radius: [{ type: Input }],
options: [{ type: Input }]
};
return CircleComponent;
}(BaseLayer));
export { CircleComponent };
if (false) {
/**
* @type {?}
* @private
*/
CircleComponent.prototype._center;
/**
* @type {?}
* @private
*/
CircleComponent.prototype._radius;
/**
* @type {?}
* @private
*/
CircleComponent.prototype._options;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lyY2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItbGVhZmxldC8iLCJzb3VyY2VzIjpbInZlY3RvcnMvY2lyY2xlL2NpcmNsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQTBELE1BQU0sU0FBUyxDQUFDO0FBRXpGO0lBS3FDLDJDQUFpQjtJQUx0RDs7SUFvREEsQ0FBQztJQTlDQyxzQkFBYSxtQ0FBTTs7Ozs7UUFBbkIsVUFBb0IsS0FBdUI7WUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNoQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDcEI7UUFDSCxDQUFDOzs7T0FBQTtJQUVELHNCQUFhLG1DQUFNOzs7OztRQUFuQixVQUFvQixLQUFhO1lBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDaEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3BCO1FBQ0gsQ0FBQzs7O09BQUE7SUFFRCxzQkFBYSxvQ0FBTzs7Ozs7UUFBcEIsVUFBcUIsS0FBa0I7WUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMvQjtRQUNILENBQUM7OztPQUFBOzs7OztJQU1ELCtCQUFLOzs7O0lBQUwsVUFBTSxHQUFxQjtRQUN6QixpQkFBTSxLQUFLLFlBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs7Ozs7SUFFTyxxQ0FBVzs7OztJQUFuQjtRQUNFLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sdUJBQzlCLElBQUksQ0FBQyxRQUFRLElBQ2hCLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUNwQixDQUFDO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7O2dCQW5ERixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSxFQUFFO29CQUNaLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVTs7OzRCQUFDLGNBQU0sT0FBQSxlQUFlLEVBQWYsQ0FBZSxFQUFDLEVBQUUsQ0FBQztpQkFDcEY7Ozt5QkFFRSxLQUFLO3lCQVNMLEtBQUs7MEJBU0wsS0FBSzs7SUE0QlIsc0JBQUM7Q0FBQSxBQXBERCxDQUtxQyxTQUFTLEdBK0M3QztTQS9DWSxlQUFlOzs7Ozs7SUEwQjFCLGtDQUFrQzs7Ozs7SUFDbEMsa0NBQXdCOzs7OztJQUN4QixtQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlTGF5ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtbGF5ZXInO1xuaW1wb3J0IHsgY2lyY2xlLCBDaXJjbGUsIExhdExuZ0V4cHJlc3Npb24sIExheWVyR3JvdXAsIE1hcCwgUGF0aE9wdGlvbnMgfSBmcm9tICdsZWFmbGV0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdsLWNpcmNsZScsXG4gIHRlbXBsYXRlOiAnJyxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBCYXNlTGF5ZXIsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENpcmNsZUNvbXBvbmVudCkgfV1cbn0pXG5leHBvcnQgY2xhc3MgQ2lyY2xlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUxheWVyPENpcmNsZT4ge1xuICBASW5wdXQoKSBzZXQgY2VudGVyKHZhbHVlOiBMYXRMbmdFeHByZXNzaW9uKSB7XG4gICAgdGhpcy5fY2VudGVyID0gdmFsdWU7XG4gICAgaWYgKHRoaXMubGF5ZXJSZWYpIHtcbiAgICAgIHRoaXMubGF5ZXJSZWYuc2V0TGF0TG5nKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVMYXllcigpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHNldCByYWRpdXModmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3JhZGl1cyA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmxheWVyUmVmKSB7XG4gICAgICB0aGlzLmxheWVyUmVmLnNldFJhZGl1cyh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlTGF5ZXIoKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBzZXQgb3B0aW9ucyh2YWx1ZTogUGF0aE9wdGlvbnMpIHtcbiAgICB0aGlzLl9vcHRpb25zID0gdmFsdWU7XG4gICAgaWYgKHRoaXMubGF5ZXJSZWYpIHtcbiAgICAgIHRoaXMubGF5ZXJSZWYuc2V0U3R5bGUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NlbnRlcjogTGF0TG5nRXhwcmVzc2lvbjtcbiAgcHJpdmF0ZSBfcmFkaXVzOiBudW1iZXI7XG4gIHByaXZhdGUgX29wdGlvbnM6IFBhdGhPcHRpb25zO1xuXG4gIGFkZFRvKG1hcDogTWFwIHwgTGF5ZXJHcm91cCk6IHZvaWQge1xuICAgIHN1cGVyLmFkZFRvKG1hcCk7XG4gICAgaWYgKCF0aGlzLmxheWVyUmVmKSB7XG4gICAgICB0aGlzLmNyZWF0ZUxheWVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVMYXllcigpIHtcbiAgICBpZiAodGhpcy5tYXBSZWYgJiYgdGhpcy5fY2VudGVyICYmIHRoaXMuX3JhZGl1cykge1xuICAgICAgdGhpcy5sYXllclJlZiA9IGNpcmNsZSh0aGlzLl9jZW50ZXIsIHtcbiAgICAgICAgLi4udGhpcy5fb3B0aW9ucyxcbiAgICAgICAgcmFkaXVzOiB0aGlzLl9yYWRpdXNcbiAgICAgIH0pO1xuICAgICAgdGhpcy5tYXBSZWYuYWRkTGF5ZXIodGhpcy5sYXllclJlZik7XG4gICAgICB0aGlzLmluaXRIYW5kbGVycygpO1xuICAgIH1cbiAgfVxufVxuIl19