@maplander/components 0.21.42 → 0.21.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_theming.scss +0 -1
- package/bundles/maplander-components.umd.js +3 -129
- package/bundles/maplander-components.umd.js.map +1 -1
- package/bundles/maplander-components.umd.min.js +1 -1
- package/bundles/maplander-components.umd.min.js.map +1 -1
- package/esm2015/lib/components/filters/filters.component.js +4 -40
- package/esm2015/lib/services/markers/markers.service.js +1 -68
- package/esm5/lib/components/filters/filters.component.js +4 -55
- package/esm5/lib/services/markers/markers.service.js +1 -84
- package/fesm2015/maplander-components.js +3 -99
- package/fesm2015/maplander-components.js.map +1 -1
- package/fesm5/maplander-components.js +3 -129
- package/fesm5/maplander-components.js.map +1 -1
- package/lib/components/filters/filters.component.d.ts +0 -6
- package/lib/services/markers/markers.service.d.ts +1 -12
- package/maplander-components.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -2826,7 +2826,6 @@ var FiltersComponent = /** @class */ (function () {
|
|
|
2826
2826
|
this._formBuilder = _formBuilder;
|
|
2827
2827
|
this._converter = _converter;
|
|
2828
2828
|
this.METERS_TO_SQ = 10.76391042;
|
|
2829
|
-
this._lastState = null;
|
|
2830
2829
|
this.changeFilter = new EventEmitter();
|
|
2831
2830
|
this.isOPI = this._config || false;
|
|
2832
2831
|
this._subscription = new Subscription();
|
|
@@ -2876,35 +2875,10 @@ var FiltersComponent = /** @class */ (function () {
|
|
|
2876
2875
|
* @return {?}
|
|
2877
2876
|
*/
|
|
2878
2877
|
function (changes) {
|
|
2879
|
-
var e_1, _a;
|
|
2880
2878
|
if (changes['utils'] && changes['utils'].currentValue) {
|
|
2881
2879
|
console.log('[FiltersComponent] utils ready');
|
|
2882
2880
|
this.initComponent();
|
|
2883
2881
|
}
|
|
2884
|
-
if (changes['stateOptions'] && changes['stateOptions'].currentValue) {
|
|
2885
|
-
if (this._lastState !== null) {
|
|
2886
|
-
try {
|
|
2887
|
-
for (var _b = __values(this.stateOptions), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
2888
|
-
var stateOption = _c.value;
|
|
2889
|
-
if (stateOption.name === this._lastState) {
|
|
2890
|
-
this.propertyTotal = stateOption.total;
|
|
2891
|
-
this.filter.state = this._lastState;
|
|
2892
|
-
this.filtersForm.patchValue({
|
|
2893
|
-
state: this._lastState
|
|
2894
|
-
});
|
|
2895
|
-
break;
|
|
2896
|
-
}
|
|
2897
|
-
}
|
|
2898
|
-
}
|
|
2899
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
2900
|
-
finally {
|
|
2901
|
-
try {
|
|
2902
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
2903
|
-
}
|
|
2904
|
-
finally { if (e_1) throw e_1.error; }
|
|
2905
|
-
}
|
|
2906
|
-
}
|
|
2907
|
-
}
|
|
2908
2882
|
};
|
|
2909
2883
|
/**
|
|
2910
2884
|
* @return {?}
|
|
@@ -2943,7 +2917,6 @@ var FiltersComponent = /** @class */ (function () {
|
|
|
2943
2917
|
* @return {?}
|
|
2944
2918
|
*/
|
|
2945
2919
|
function (index) {
|
|
2946
|
-
this._lastState = this.filter.state;
|
|
2947
2920
|
this.resetFilters(index);
|
|
2948
2921
|
this.applyAmenities();
|
|
2949
2922
|
this.filter.type = this.propertyTypeSelected.value;
|
|
@@ -2955,7 +2928,7 @@ var FiltersComponent = /** @class */ (function () {
|
|
|
2955
2928
|
this.filtersForm.controls['offering'].setValue(OfferingTypeEnum.SALE);
|
|
2956
2929
|
break;
|
|
2957
2930
|
}
|
|
2958
|
-
this.filter.locationType =
|
|
2931
|
+
this.filter.locationType = null;
|
|
2959
2932
|
this.filter.state = null;
|
|
2960
2933
|
this.filter.municipality = null;
|
|
2961
2934
|
this.filter.colony = null;
|
|
@@ -2970,8 +2943,7 @@ var FiltersComponent = /** @class */ (function () {
|
|
|
2970
2943
|
* @return {?}
|
|
2971
2944
|
*/
|
|
2972
2945
|
function (ev) {
|
|
2973
|
-
this.
|
|
2974
|
-
this.filter.locationType = 'STATE';
|
|
2946
|
+
this.filter.locationType = null;
|
|
2975
2947
|
this.filter.state = null;
|
|
2976
2948
|
this.filter.municipality = null;
|
|
2977
2949
|
this.filter.colony = null;
|
|
@@ -2990,18 +2962,6 @@ var FiltersComponent = /** @class */ (function () {
|
|
|
2990
2962
|
this.filter.currency = ev;
|
|
2991
2963
|
this.changeFilterStatus();
|
|
2992
2964
|
};
|
|
2993
|
-
/**
|
|
2994
|
-
* @param {?} ev
|
|
2995
|
-
* @return {?}
|
|
2996
|
-
*/
|
|
2997
|
-
FiltersComponent.prototype.changeState = /**
|
|
2998
|
-
* @param {?} ev
|
|
2999
|
-
* @return {?}
|
|
3000
|
-
*/
|
|
3001
|
-
function (ev) {
|
|
3002
|
-
this.filter.state = ev;
|
|
3003
|
-
this.changeFilterStatus();
|
|
3004
|
-
};
|
|
3005
2965
|
/**
|
|
3006
2966
|
* @param {?} amenity
|
|
3007
2967
|
* @return {?}
|
|
@@ -3084,7 +3044,6 @@ var FiltersComponent = /** @class */ (function () {
|
|
|
3084
3044
|
*/
|
|
3085
3045
|
function () {
|
|
3086
3046
|
this.filtersForm = this._formBuilder.group({
|
|
3087
|
-
state: ['', [Validators.required]],
|
|
3088
3047
|
offering: [],
|
|
3089
3048
|
currency: [],
|
|
3090
3049
|
minPrice: ['', [Validators.required, Validators.pattern(new RegExp('(^[0-9]+)'))]],
|
|
@@ -3136,7 +3095,6 @@ var FiltersComponent = /** @class */ (function () {
|
|
|
3136
3095
|
*/
|
|
3137
3096
|
function () {
|
|
3138
3097
|
this.filtersForm.patchValue({
|
|
3139
|
-
state: this.filter.state,
|
|
3140
3098
|
offering: this.filter.offering,
|
|
3141
3099
|
currency: this.filter.currency,
|
|
3142
3100
|
minPrice: this.filter.downLimitPrice,
|
|
@@ -3160,7 +3118,6 @@ var FiltersComponent = /** @class */ (function () {
|
|
|
3160
3118
|
function () {
|
|
3161
3119
|
/** @type {?} */
|
|
3162
3120
|
var data = this.filtersForm.value;
|
|
3163
|
-
this.filter.state = data.state;
|
|
3164
3121
|
this.filter.offering = data.offering;
|
|
3165
3122
|
this.filter.currency = data.currency;
|
|
3166
3123
|
this.filter.downLimitPrice = Number(data.minPrice);
|
|
@@ -3440,7 +3397,7 @@ var FiltersComponent = /** @class */ (function () {
|
|
|
3440
3397
|
FiltersComponent.decorators = [
|
|
3441
3398
|
{ type: Component, args: [{
|
|
3442
3399
|
selector: 'lib-filters',
|
|
3443
|
-
template: "<!-- Todo: [FiltersComponent] Refactor code -->\r\n<form class=\"filters\" [formGroup]=\"filtersForm\" [ngClass]=\"{'filters--opened': propertyTypeSelected.value !== 'NONE'}\">\r\n <ng-template [ngIf]=\"!isOPI\">\r\n <div class=\"float-button-close\">\r\n <button mat-icon-button type=\"button\" class=\"float-button-close__button\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-template>\r\n <div class=\"body\">\r\n <div class=\"--padding\">\r\n <div class=\"header\">\r\n <mat-form-field class=\"currency\" appearance=\"outline\">\r\n <mat-label>Divisa</mat-label>\r\n <mat-select formControlName=\"currency\">\r\n <ng-container *ngFor=\"let currency of currencyList\">\r\n <mat-option [value]=\"currency.type\" (click)=\"changeCurrency(currency.type)\">\r\n {{currency.type}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-button-toggle-group class=\"offering-type-list\" name=\"offering-type\" formControlName=\"offering\"\r\n aria-label=\"Offering type\">\r\n <mat-button-toggle (click)=\"changeOffering('SALE')\" [value]=\"'SALE'\"\r\n [disabled]=\"propertyTypeSelected.value === 'NONE' || propertyTypeSelected.value === 'ROOM'\">\r\n Venta\r\n </mat-button-toggle>\r\n <mat-button-toggle (click)=\"changeOffering('RENT')\" [value]=\"'RENT'\"\r\n [disabled]=\"propertyTypeSelected.value === 'NONE' || propertyTypeSelected.value === 'INVESTMENT'\">\r\n Renta\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n <div class=\"mat-elevation-z2\" [ngClass]=\"{'property-type-list': !newFilters, 'new-property-type-list': newFilters}\">\r\n <ng-container *ngFor=\"let type of propertyTypeList; let i = index\">\r\n <ng-template [ngIf]=\"type.value !== 'NONE' && (type.value !== 'ROOM' && newFilters)\">\r\n <div class=\"property-type-list__button\">\r\n <div\r\n class=\"property-type-list__border\"\r\n [ngClass]=\"{'property-type-list__border--active': (type.value === propertyTypeSelected.value) || (propertyTypeSelected.value === 'NONE') || ((type.value === 'HOUSE' || type.value === 'APARTMENT') && propertyTypeSelected.value === 'RESIDENTIAL')}\"\r\n [ngStyle]=\"{'border-color': 'var(--' + type.iconName + ')'}\">\r\n <button mat-mini-fab=\"\" type=\"button\" (click)=\"changePropertyType(i)\"\r\n [ngStyle]=\"{'background-color': 'var(--' + type.iconName + ')'}\">\r\n <span class=\"property-type-list__icon ic-property-{{type.iconName}}\"></span>\r\n </button>\r\n </div>\r\n <span class=\"property-type-list__label\">{{type.shortName}}</span>\r\n <ng-template [ngIf]=\"type.value === 'RESIDENTIAL' && propertyTypeSelected.value === 'RESIDENTIAL'\">\r\n <div class=\"property-type-list__divider property-type-list__divider--left\"></div>\r\n <div class=\"property-type-list__divider property-type-list__divider--right\"></div>\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n <ng-template [ngIf]=\"isOPI\">\r\n <div class=\"all\">\r\n <button mat-raised-button=\"\" type=\"button\" class=\"all__button\"\r\n [ngClass]=\"{'all__button--active': propertyTypeSelected.value === 'NONE'}\"\r\n (click)=\"changePropertyType(9)\">Todo\r\n </button>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <ng-template [ngIf]=\"newFilters && propertyTypeSelected.value !== 'NONE'\">\r\n <div class=\"--padding\">\r\n <h4 class=\"--title\">\r\n Estado\r\n </h4>\r\n <div class=\"budget\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Estado</mat-label>\r\n <mat-select formControlName=\"state\">\r\n <ng-container *ngFor=\"let state of stateOptions\">\r\n <mat-option [value]=\"state.name\" (click)=\"changeState(state.name)\">\r\n {{state.name}} ({{state.total}})\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"filtersForm.controls['state'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value !== 'NONE'\">\r\n <mat-divider></mat-divider>\r\n <div class=\"--padding\">\r\n <h4 class=\"--title\">\r\n <span class=\"ic-features-price\"></span>\r\n Presupuesto\r\n </h4>\r\n <div class=\"budget\">\r\n <!-- Min price [START] -->\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>M\u00EDnimo</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" type=\"number\" title=\"Min price\" formControlName=\"minPrice\" min=\"1\" (focusout)=\"changeFilterStatus()\">\r\n <mat-error *ngIf=\"filtersForm.controls['minPrice'].hasError('pattern')\">\r\n Debe ingresar solo n\u00FAmeros\r\n </mat-error>\r\n <mat-error *ngIf=\"filtersForm.controls['minPrice'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- Min price [END] -->\r\n <!-- Max price [START] -->\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>M\u00E1ximo</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" type=\"number\" title=\"max price\" formControlName=\"maxPrice\" (focusout)=\"changeFilterStatus()\">\r\n <mat-error *ngIf=\"filtersForm.controls['maxPrice'].hasError('pattern')\">\r\n Debe ingresar solo n\u00FAmeros\r\n </mat-error>\r\n <mat-error *ngIf=\"filtersForm.controls['maxPrice'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n <mat-error *ngIf=\"filtersForm.controls['maxPrice'].hasError('currency')\">\r\n Valor m\u00EDnimo excedido\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- Max price [END] -->\r\n </div>\r\n <div class=\"features\">\r\n <ng-template\r\n [ngIf]=\"propertyTypeSelected.value === 'RESIDENTIAL' || propertyTypeSelected.value === 'HOUSE' || propertyTypeSelected.value === 'APARTMENT'\">\r\n <div class=\"features__bedrooms\">\r\n <h4 class=\"--title\">\r\n <span class=\"ic-features-bedroom\"></span>\r\n Habitaciones\r\n </h4>\r\n <mat-button-toggle-group name=\"bedrooms\" aria-label=\"Bedrooms\" formControlName=\"bedrooms\">\r\n <ng-container *ngFor=\"let bedroom of bedroomsList\">\r\n <ng-template [ngIf]=\"bedroom === 0\" [ngIfElse]=\"bedroomNumber\">\r\n <mat-button-toggle [value]=\"bedroom\" (click)=\"changeFilterStatus()\" class=\"features__bedrooms--unlimited\">\r\n Sin <br> l\u00EDmite\r\n </mat-button-toggle>\r\n </ng-template>\r\n <ng-template #bedroomNumber>\r\n <mat-button-toggle [value]=\"bedroom\" (click)=\"changeFilterStatus()\">{{bedroom}}+\r\n </mat-button-toggle>\r\n </ng-template>\r\n </ng-container>\r\n </mat-button-toggle-group>\r\n </div>\r\n <div class=\"features__bathrooms\">\r\n <h4 class=\"--title\">\r\n <span class=\"ic-features-bathroom\"></span>\r\n Ba\u00F1os\r\n </h4>\r\n <mat-button-toggle-group name=\"bathrooms\" aria-label=\"Bathrooms\" formControlName=\"bathrooms\">\r\n <ng-container *ngFor=\"let bathroom of bathroomsList\">\r\n <ng-template [ngIf]=\"bathroom === 0\" [ngIfElse]=\"bathroomNumber\">\r\n <mat-button-toggle [value]=\"bathroom\" (click)=\"changeFilterStatus()\"\r\n class=\"features__bathrooms--unlimited\">\r\n Sin <br> l\u00EDmite\r\n </mat-button-toggle>\r\n </ng-template>\r\n <ng-template #bathroomNumber>\r\n <mat-button-toggle [value]=\"bathroom\" (click)=\"changeFilterStatus()\">{{bathroom}}+\r\n </mat-button-toggle>\r\n </ng-template>\r\n </ng-container>\r\n </mat-button-toggle-group>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value !== 'LAND' && propertyTypeSelected.value !== 'INVESTMENT'\">\r\n <div class=\"features__parking-places\">\r\n <h4 class=\"--title\">\r\n <span class=\"ic-features-parking\"></span>\r\n Estacionamientos\r\n </h4>\r\n <mat-button-toggle-group name=\"parking_places\" aria-label=\"Parking Places\"\r\n formControlName=\"parkingPlaces\">\r\n <ng-container *ngFor=\"let parking of parkingPlacesList\">\r\n <ng-template [ngIf]=\"parking === 0\" [ngIfElse]=\"parkingNumber\">\r\n <mat-button-toggle [value]=\"parking\" (click)=\"changeFilterStatus()\"\r\n class=\"features__parking-places--unlimited\">\r\n Sin <br> l\u00EDmite\r\n </mat-button-toggle>\r\n </ng-template>\r\n <ng-template #parkingNumber>\r\n <mat-button-toggle [value]=\"parking\" (click)=\"changeFilterStatus()\">{{parking}}+\r\n </mat-button-toggle>\r\n </ng-template>\r\n </ng-container>\r\n </mat-button-toggle-group>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value !== 'INVESTMENT'\">\r\n <div class=\"features__surface\">\r\n <h4 class=\"--title\">\r\n <span class=\"ic-features-surface\"></span>\r\n Superficie\r\n </h4>\r\n <div class=\"--row\">\r\n <mat-form-field appearance=\"outline\" class=\"--col\">\r\n <mat-label>\u00C1rea</mat-label>\r\n <mat-select formControlName=\"surface\" (selectionChange)=\"changeFilterStatus()\">\r\n <mat-option [value]=\"0\" (click)=\"changeFilterStatus()\">\r\n Sin l\u00EDmite\r\n </mat-option>\r\n <ng-container *ngFor=\"let surface of surfaceList\">\r\n <mat-option [value]=\"surface\" (click)=\"changeFilterStatus()\">\r\n {{surface}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-button-toggle-group name=\"unit_surface\" aria-label=\"Unit surface\" formControlName=\"surfaceUnit\">\r\n <mat-button-toggle (click)=\"changeFilterStatus()\" [value]=\"0\">m2</mat-button-toggle>\r\n <mat-button-toggle (click)=\"changeFilterStatus()\" [value]=\"1\">sq ft</mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value === 'INVESTMENT'\">\r\n <div class=\"feature investment\">\r\n <h4 class=\"--title\">Retorno de inversi\u00F3n</h4>\r\n <mat-form-field appearance=\"outline\" class=\"--col\">\r\n <mat-label>Porcentaje</mat-label>\r\n <mat-select formControlName=\"roi\">\r\n <mat-option [value]=\"0\" (click)=\"changeFilterStatus()\">\r\n Sin l\u00EDmite\r\n </mat-option>\r\n <ng-container *ngFor=\"let roi of roiList\">\r\n <mat-option [value]=\"roi\" (click)=\"changeFilterStatus()\">\r\n {{roi}}%\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </ng-template>\r\n <div class=\"amenities-container\">\r\n <ng-template [ngIf]=\"propertyTypeSelected.amenities.length > 0\">\r\n <div class=\"amenities\">\r\n <h4 class=\"--title\">\r\n Amenidades\r\n </h4>\r\n <div class=\"amenities__list\">\r\n <ng-container *ngFor=\"let amenity of propertyTypeSelected.amenities\">\r\n <div class=\"amenities__amenity\" matRipple (click)=\"updateAmenity(amenity)\">\r\n <span class=\"amenity__icon ic-amenities-{{amenity.iconName}}\"\r\n [ngClass]=\"{'amenity--active': amenity.checked}\"></span>\r\n <span class=\"amenity__label\">{{amenity.name}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.features.length > 0\">\r\n <div class=\"amenities\">\r\n <h4 class=\"--title\">\r\n Caracteristicas de la ubicaci\u00F3n\r\n </h4>\r\n <div class=\"amenities__list\">\r\n <ng-container *ngFor=\"let feature of propertyTypeSelected.features\">\r\n <div class=\"amenities__amenity\" matRipple (click)=\"updateAmenity(feature)\">\r\n <span class=\"amenity__icon ic-amenities-{{feature.iconName}}\"\r\n [ngClass]=\"{'amenity--active': feature.checked}\"></span>\r\n <span class=\"amenity__label\">{{feature.name}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <button mat-flat-button type=\"submit\" class=\"apply-button\" color=\"primary\" [disabled]=\"(propertyTotal === 0 || filtersForm.invalid) && newFilters\"\r\n (click)=\"applyFilters()\">\r\n VER <span *ngIf=\"propertyTotal > 0 && newFilters\">{{propertyTotal}}</span> {{(propertyTotal === 1 ? 'PROPIEDAD' : 'PROPIEDADES')}}\r\n </button>\r\n </div>\r\n <!--div class=\"actions\">\r\n <ng-template [ngIf]=\"!isOPI\" [ngIfElse]=\"closeButtonTemplate\">\r\n <button mat-flat-button=\"\" type=\"button\" class=\"action__button\" color=\"primary\" (click)=\"saveSearchByFilters()\">\r\n GUARDAR\r\n </button>\r\n </ng-template>\r\n <ng-template #closeButtonTemplate>\r\n <button mat-flat-button=\"\" type=\"button\" class=\"action__button\" color=\"primary\" (click)=\"close()\">CERRAR</button>\r\n </ng-template>\r\n <button mat-flat-button=\"\" type=\"button\" class=\"action__button\" color=\"primary\"\r\n (click)=\"resetFilters()\">LIMPIAR\r\n </button>\r\n </div-->\r\n</form>\r\n",
|
|
3400
|
+
template: "<!-- Todo: [FiltersComponent] Refactor code -->\r\n<form class=\"filters\" [formGroup]=\"filtersForm\" [ngClass]=\"{'filters--opened': propertyTypeSelected.value !== 'NONE'}\">\r\n <ng-template [ngIf]=\"!isOPI\">\r\n <div class=\"float-button-close\">\r\n <button mat-icon-button type=\"button\" class=\"float-button-close__button\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-template>\r\n <div class=\"body\">\r\n <div class=\"--padding\">\r\n <div class=\"header\">\r\n <mat-form-field class=\"currency\" appearance=\"outline\">\r\n <mat-label>Divisa</mat-label>\r\n <mat-select formControlName=\"currency\">\r\n <ng-container *ngFor=\"let currency of currencyList\">\r\n <mat-option [value]=\"currency.type\" (click)=\"changeCurrency(currency.type)\">\r\n {{currency.type}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-button-toggle-group class=\"offering-type-list\" name=\"offering-type\" formControlName=\"offering\"\r\n aria-label=\"Offering type\">\r\n <mat-button-toggle (click)=\"changeOffering('SALE')\" [value]=\"'SALE'\"\r\n [disabled]=\"propertyTypeSelected.value === 'NONE' || propertyTypeSelected.value === 'ROOM'\">\r\n Venta\r\n </mat-button-toggle>\r\n <mat-button-toggle (click)=\"changeOffering('RENT')\" [value]=\"'RENT'\"\r\n [disabled]=\"propertyTypeSelected.value === 'NONE' || propertyTypeSelected.value === 'INVESTMENT'\">\r\n Renta\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n <div class=\"mat-elevation-z2\" [ngClass]=\"{'property-type-list': !newFilters, 'new-property-type-list': newFilters}\">\r\n <ng-container *ngFor=\"let type of propertyTypeList; let i = index\">\r\n <ng-template [ngIf]=\"type.value !== 'NONE' && (type.value !== 'ROOM' && newFilters)\">\r\n <div class=\"property-type-list__button\">\r\n <div\r\n class=\"property-type-list__border\"\r\n [ngClass]=\"{'property-type-list__border--active': (type.value === propertyTypeSelected.value) || (propertyTypeSelected.value === 'NONE') || ((type.value === 'HOUSE' || type.value === 'APARTMENT') && propertyTypeSelected.value === 'RESIDENTIAL')}\"\r\n [ngStyle]=\"{'border-color': 'var(--' + type.iconName + ')'}\">\r\n <button mat-mini-fab=\"\" type=\"button\" (click)=\"changePropertyType(i)\"\r\n [ngStyle]=\"{'background-color': 'var(--' + type.iconName + ')'}\">\r\n <span class=\"property-type-list__icon ic-property-{{type.iconName}}\"></span>\r\n </button>\r\n </div>\r\n <span class=\"property-type-list__label\">{{type.shortName}}</span>\r\n <ng-template [ngIf]=\"type.value === 'RESIDENTIAL' && propertyTypeSelected.value === 'RESIDENTIAL'\">\r\n <div class=\"property-type-list__divider property-type-list__divider--left\"></div>\r\n <div class=\"property-type-list__divider property-type-list__divider--right\"></div>\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n <ng-template [ngIf]=\"isOPI\">\r\n <div class=\"all\">\r\n <button mat-raised-button=\"\" type=\"button\" class=\"all__button\"\r\n [ngClass]=\"{'all__button--active': propertyTypeSelected.value === 'NONE'}\"\r\n (click)=\"changePropertyType(9)\">Todo\r\n </button>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value !== 'NONE'\">\r\n <mat-divider></mat-divider>\r\n <div class=\"--padding\">\r\n <h4 class=\"--title\">\r\n <span class=\"ic-features-price\"></span>\r\n Presupuesto\r\n </h4>\r\n <div class=\"budget\">\r\n <!-- Min price [START] -->\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>M\u00EDnimo</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" type=\"number\" title=\"Min price\" formControlName=\"minPrice\" min=\"1\" (focusout)=\"changeFilterStatus()\">\r\n <mat-error *ngIf=\"filtersForm.controls['minPrice'].hasError('pattern')\">\r\n Debe ingresar solo n\u00FAmeros\r\n </mat-error>\r\n <mat-error *ngIf=\"filtersForm.controls['minPrice'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- Min price [END] -->\r\n <!-- Max price [START] -->\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>M\u00E1ximo</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" type=\"number\" title=\"max price\" formControlName=\"maxPrice\" (focusout)=\"changeFilterStatus()\">\r\n <mat-error *ngIf=\"filtersForm.controls['maxPrice'].hasError('pattern')\">\r\n Debe ingresar solo n\u00FAmeros\r\n </mat-error>\r\n <mat-error *ngIf=\"filtersForm.controls['maxPrice'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n <mat-error *ngIf=\"filtersForm.controls['maxPrice'].hasError('currency')\">\r\n Valor m\u00EDnimo excedido\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- Max price [END] -->\r\n </div>\r\n <div class=\"features\">\r\n <ng-template\r\n [ngIf]=\"propertyTypeSelected.value === 'RESIDENTIAL' || propertyTypeSelected.value === 'HOUSE' || propertyTypeSelected.value === 'APARTMENT'\">\r\n <div class=\"features__bedrooms\">\r\n <h4 class=\"--title\">\r\n <span class=\"ic-features-bedroom\"></span>\r\n Habitaciones\r\n </h4>\r\n <mat-button-toggle-group name=\"bedrooms\" aria-label=\"Bedrooms\" formControlName=\"bedrooms\">\r\n <ng-container *ngFor=\"let bedroom of bedroomsList\">\r\n <ng-template [ngIf]=\"bedroom === 0\" [ngIfElse]=\"bedroomNumber\">\r\n <mat-button-toggle [value]=\"bedroom\" (click)=\"changeFilterStatus()\" class=\"features__bedrooms--unlimited\">\r\n Sin <br> l\u00EDmite\r\n </mat-button-toggle>\r\n </ng-template>\r\n <ng-template #bedroomNumber>\r\n <mat-button-toggle [value]=\"bedroom\" (click)=\"changeFilterStatus()\">{{bedroom}}+\r\n </mat-button-toggle>\r\n </ng-template>\r\n </ng-container>\r\n </mat-button-toggle-group>\r\n </div>\r\n <div class=\"features__bathrooms\">\r\n <h4 class=\"--title\">\r\n <span class=\"ic-features-bathroom\"></span>\r\n Ba\u00F1os\r\n </h4>\r\n <mat-button-toggle-group name=\"bathrooms\" aria-label=\"Bathrooms\" formControlName=\"bathrooms\">\r\n <ng-container *ngFor=\"let bathroom of bathroomsList\">\r\n <ng-template [ngIf]=\"bathroom === 0\" [ngIfElse]=\"bathroomNumber\">\r\n <mat-button-toggle [value]=\"bathroom\" (click)=\"changeFilterStatus()\"\r\n class=\"features__bathrooms--unlimited\">\r\n Sin <br> l\u00EDmite\r\n </mat-button-toggle>\r\n </ng-template>\r\n <ng-template #bathroomNumber>\r\n <mat-button-toggle [value]=\"bathroom\" (click)=\"changeFilterStatus()\">{{bathroom}}+\r\n </mat-button-toggle>\r\n </ng-template>\r\n </ng-container>\r\n </mat-button-toggle-group>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value !== 'LAND' && propertyTypeSelected.value !== 'INVESTMENT'\">\r\n <div class=\"features__parking-places\">\r\n <h4 class=\"--title\">\r\n <span class=\"ic-features-parking\"></span>\r\n Estacionamientos\r\n </h4>\r\n <mat-button-toggle-group name=\"parking_places\" aria-label=\"Parking Places\"\r\n formControlName=\"parkingPlaces\">\r\n <ng-container *ngFor=\"let parking of parkingPlacesList\">\r\n <ng-template [ngIf]=\"parking === 0\" [ngIfElse]=\"parkingNumber\">\r\n <mat-button-toggle [value]=\"parking\" (click)=\"changeFilterStatus()\"\r\n class=\"features__parking-places--unlimited\">\r\n Sin <br> l\u00EDmite\r\n </mat-button-toggle>\r\n </ng-template>\r\n <ng-template #parkingNumber>\r\n <mat-button-toggle [value]=\"parking\" (click)=\"changeFilterStatus()\">{{parking}}+\r\n </mat-button-toggle>\r\n </ng-template>\r\n </ng-container>\r\n </mat-button-toggle-group>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value !== 'INVESTMENT'\">\r\n <div class=\"features__surface\">\r\n <h4 class=\"--title\">\r\n <span class=\"ic-features-surface\"></span>\r\n Superficie\r\n </h4>\r\n <div class=\"--row\">\r\n <mat-form-field appearance=\"outline\" class=\"--col\">\r\n <mat-label>\u00C1rea</mat-label>\r\n <mat-select formControlName=\"surface\" (selectionChange)=\"changeFilterStatus()\">\r\n <mat-option [value]=\"0\" (click)=\"changeFilterStatus()\">\r\n Sin l\u00EDmite\r\n </mat-option>\r\n <ng-container *ngFor=\"let surface of surfaceList\">\r\n <mat-option [value]=\"surface\" (click)=\"changeFilterStatus()\">\r\n {{surface}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-button-toggle-group name=\"unit_surface\" aria-label=\"Unit surface\" formControlName=\"surfaceUnit\">\r\n <mat-button-toggle (click)=\"changeFilterStatus()\" [value]=\"0\">m2</mat-button-toggle>\r\n <mat-button-toggle (click)=\"changeFilterStatus()\" [value]=\"1\">sq ft</mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value === 'INVESTMENT'\">\r\n <div class=\"feature investment\">\r\n <h4 class=\"--title\">Retorno de inversi\u00F3n</h4>\r\n <mat-form-field appearance=\"outline\" class=\"--col\">\r\n <mat-label>Porcentaje</mat-label>\r\n <mat-select formControlName=\"roi\">\r\n <mat-option [value]=\"0\" (click)=\"changeFilterStatus()\">\r\n Sin l\u00EDmite\r\n </mat-option>\r\n <ng-container *ngFor=\"let roi of roiList\">\r\n <mat-option [value]=\"roi\" (click)=\"changeFilterStatus()\">\r\n {{roi}}%\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </ng-template>\r\n <div class=\"amenities-container\">\r\n <ng-template [ngIf]=\"propertyTypeSelected.amenities.length > 0\">\r\n <div class=\"amenities\">\r\n <h4 class=\"--title\">\r\n Amenidades\r\n </h4>\r\n <div class=\"amenities__list\">\r\n <ng-container *ngFor=\"let amenity of propertyTypeSelected.amenities\">\r\n <div class=\"amenities__amenity\" matRipple (click)=\"updateAmenity(amenity)\">\r\n <span class=\"amenity__icon ic-amenities-{{amenity.iconName}}\"\r\n [ngClass]=\"{'amenity--active': amenity.checked}\"></span>\r\n <span class=\"amenity__label\">{{amenity.name}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.features.length > 0\">\r\n <div class=\"amenities\">\r\n <h4 class=\"--title\">\r\n Caracteristicas de la ubicaci\u00F3n\r\n </h4>\r\n <div class=\"amenities__list\">\r\n <ng-container *ngFor=\"let feature of propertyTypeSelected.features\">\r\n <div class=\"amenities__amenity\" matRipple (click)=\"updateAmenity(feature)\">\r\n <span class=\"amenity__icon ic-amenities-{{feature.iconName}}\"\r\n [ngClass]=\"{'amenity--active': feature.checked}\"></span>\r\n <span class=\"amenity__label\">{{feature.name}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <button mat-flat-button type=\"submit\" class=\"apply-button\" color=\"primary\" [disabled]=\"(propertyTotal === 0 || filtersForm.invalid) && newFilters\"\r\n (click)=\"applyFilters()\">\r\n VER <span *ngIf=\"propertyTotal > 0 && newFilters\">{{propertyTotal}}</span> {{(propertyTotal === 1 ? 'PROPIEDAD' : 'PROPIEDADES')}}\r\n </button>\r\n </div>\r\n <!--div class=\"actions\">\r\n <ng-template [ngIf]=\"!isOPI\" [ngIfElse]=\"closeButtonTemplate\">\r\n <button mat-flat-button=\"\" type=\"button\" class=\"action__button\" color=\"primary\" (click)=\"saveSearchByFilters()\">\r\n GUARDAR\r\n </button>\r\n </ng-template>\r\n <ng-template #closeButtonTemplate>\r\n <button mat-flat-button=\"\" type=\"button\" class=\"action__button\" color=\"primary\" (click)=\"close()\">CERRAR</button>\r\n </ng-template>\r\n <button mat-flat-button=\"\" type=\"button\" class=\"action__button\" color=\"primary\"\r\n (click)=\"resetFilters()\">LIMPIAR\r\n </button>\r\n </div-->\r\n</form>\r\n",
|
|
3444
3401
|
styles: [":host{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;display:flex;background:var(--overlay);transition:250ms}.filters--opened{height:90%!important}@media screen and (max-width:600px){.filters--opened{width:100%!important;height:100%!important;top:0!important}}.filters{width:700px;height:auto;margin:auto;border-radius:16px;position:relative;overflow:hidden;transition:150ms}.filters .--padding{padding:16px 48px;box-sizing:border-box}.filters .--row{display:flex;justify-content:space-between;align-items:flex-start}.filters .--col{width:45%}.filters .--title{margin:16px 0;color:#707070}.filters .float-button-close{position:absolute;top:16px;right:16px;height:16px;border-radius:50%}.filters .apply-button{width:100%;position:absolute;bottom:0}.filters .body{height:calc(100% - 36px);overflow-x:hidden;overflow-y:auto}.filters .header{display:flex;align-items:center;justify-content:space-around;margin-bottom:8px}.filters .listing-types{width:100%;border-radius:16px}.filters .listing-types mat-button-toggle{width:50%;height:36px}.filters ::ng-deep .listing-types mat-button-toggle button{height:36px}.filters ::ng-deep .listing-types mat-button-toggle button .mat-button-toggle-label-content{line-height:36px}.filters .currency ::ng-deep .mat-form-field-wrapper{padding:0}@media screen and (max-width:600px){.filters{width:100%;position:absolute;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;top:initial;bottom:0;left:0}.filters .--padding{padding:16px 24px}.filters .header{flex-direction:column}.filters .currency{width:70%;margin-bottom:8px}}.filters .offering-type-list{width:40%;border-radius:16px}.filters .offering-type-list mat-button-toggle{width:50%;height:36px}.filters ::ng-deep .offering-type-list mat-button-toggle button{height:36px}.filters ::ng-deep .offering-type-list mat-button-toggle button .mat-button-toggle-label-content{line-height:36px}.filters .property-type-list{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 9))[9];grid-template-columns:repeat(9,calc(100% / 9));-ms-grid-rows:(80px)[1];grid-template-rows:repeat(1,80px);border-radius:40px;padding:8px;box-sizing:border-box}@media screen and (max-width:600px){.filters .offering-type-list{width:70%}.filters .property-type-list{-ms-grid-columns:(calc(100% / 3))[3];grid-template-columns:repeat(3,calc(100% / 3));-ms-grid-rows:(80px)[3];grid-template-rows:repeat(3,80px)}}.filters .new-property-type-list{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 8))[8];grid-template-columns:repeat(8,calc(100% / 8));-ms-grid-rows:(80px)[1];grid-template-rows:repeat(1,80px);border-radius:40px;padding:8px;box-sizing:border-box}.filters .property-type-list .property-type-list__button{margin:auto;position:relative}.filters .property-type-list .property-type-list__button button{box-shadow:none}.filters .property-type-list .property-type-list__icon{width:24px;height:24px;font-size:24px}.filters .property-type-list .property-type-list__border{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:auto;opacity:.7;border-radius:50%;box-sizing:border-box}.filters .property-type-list .property-type-list__border--active{padding:4px;border:2px solid;opacity:1!important}.filters .property-type-list .property-type-list__label{font-size:12px;display:block;margin:8px 0;text-align:center}.filters .property-type-list .property-type-list__divider{width:14%;height:2px;background:#707070;top:30%;position:absolute}.filters .property-type-list .property-type-list__divider--left{left:-9px}.filters .property-type-list .property-type-list__divider--right{right:-9px}@media screen and (max-width:600px){.filters .new-property-type-list{-ms-grid-columns:(calc(100% / 3))[3];grid-template-columns:repeat(3,calc(100% / 3));-ms-grid-rows:(80px)[3];grid-template-rows:repeat(3,80px)}.filters .property-type-list .property-type-list__divider{width:60%}.filters .property-type-list .property-type-list__divider--left{left:-38px}.filters .property-type-list .property-type-list__divider--right{right:-38px}}.filters .new-property-type-list .property-type-list__button{margin:auto;position:relative}.filters .new-property-type-list .property-type-list__button button{box-shadow:none}.filters .new-property-type-list .property-type-list__icon{width:24px;height:24px;font-size:24px}.filters .new-property-type-list .property-type-list__border{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:auto;opacity:.7;border-radius:50%;box-sizing:border-box}.filters .new-property-type-list .property-type-list__border--active{padding:4px;border:2px solid;opacity:1!important}.filters .new-property-type-list .property-type-list__label{font-size:12px;display:block;margin:8px 0;text-align:center}.filters .new-property-type-list .property-type-list__divider{width:14%;height:2px;background:#707070;top:30%;position:absolute}.filters .new-property-type-list .property-type-list__divider--left{left:-9px}.filters .new-property-type-list .property-type-list__divider--right{right:-9px}@media screen and (max-width:600px){.filters .new-property-type-list .property-type-list__divider{width:60%}.filters .new-property-type-list .property-type-list__divider--left{left:-38px}.filters .new-property-type-list .property-type-list__divider--right{right:-38px}}.filters .all{width:100%;margin:8px 0}.filters .all .all__button{margin:0 40%;width:20%;border-radius:16px;background:0 0}.filters .budget{display:flex}.filters .budget mat-form-field{margin-right:8px;width:calc(100% / 2 - 8px)}.filters .features{display:-ms-grid;display:grid;-ms-grid-columns:(50%)[2];grid-template-columns:repeat(2,50%);-ms-grid-rows:(auto)[2];grid-template-rows:repeat(2,auto)}@media screen and (max-width:600px){.filters .all .all__button{width:50%;margin:0 25%}.filters .features{display:block}.filters .amenities-container{flex-direction:column}}.filters .features .features__bathrooms mat-button-toggle-group,.filters .features .features__bedrooms mat-button-toggle-group,.filters .features .features__parking-places mat-button-toggle-group{width:calc(100% - 16px)}.filters .features .features__bathrooms mat-button-toggle-group mat-button-toggle,.filters .features .features__bedrooms mat-button-toggle-group mat-button-toggle,.filters .features .features__parking-places mat-button-toggle-group mat-button-toggle{width:calc(100% / 5)}.filters .features .features__bedrooms--unlimited ::ng-deep .mat-button-toggle-label-content{line-height:16px;padding:8px;font-size:12px}.filters .features .features__bathrooms--unlimited ::ng-deep .mat-button-toggle-label-content{line-height:16px;padding:8px;font-size:12px}.filters .features .features__parking-places--unlimited ::ng-deep .mat-button-toggle-label-content{line-height:16px;padding:8px;font-size:12px}.filters .features .features__surface mat-button-toggle-group{margin-top:6px;margin-right:16px}.filters .amenities-container{width:100%;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:2;grid-column-end:3;display:flex}.filters .amenities{width:50%}@media screen and (max-width:600px){.filters .amenities{width:100%}}.filters .amenities__amenity{width:calc(100% / 3 - 24px);height:120px;border-radius:8px;padding:8px;display:inline-flex;flex-direction:column;align-items:center;box-sizing:border-box;margin:0 8px 8px 0;cursor:pointer}.filters .amenity__icon{display:block;width:24px;height:24px;margin:8px auto;font-size:24px;padding:8px;border-radius:50%}.filters .amenity__label{width:100%;display:block;text-align:center;font-size:12px;margin:auto}.filters .actions{display:flex}.filters .actions .action__button{width:50%;border-radius:0}"]
|
|
3445
3402
|
}] }
|
|
3446
3403
|
];
|
|
@@ -3456,7 +3413,6 @@ var FiltersComponent = /** @class */ (function () {
|
|
|
3456
3413
|
FiltersComponent.propDecorators = {
|
|
3457
3414
|
utils: [{ type: Input }],
|
|
3458
3415
|
newFilters: [{ type: Input }],
|
|
3459
|
-
stateOptions: [{ type: Input }],
|
|
3460
3416
|
propertyTotal: [{ type: Input }],
|
|
3461
3417
|
changeFilter: [{ type: Output }]
|
|
3462
3418
|
};
|
|
@@ -7784,88 +7740,6 @@ var MarkersService = /** @class */ (function () {
|
|
|
7784
7740
|
response.markers = list;
|
|
7785
7741
|
return response;
|
|
7786
7742
|
};
|
|
7787
|
-
/**
|
|
7788
|
-
* @param {?} list
|
|
7789
|
-
* @return {?}
|
|
7790
|
-
*/
|
|
7791
|
-
MarkersService.prototype.buildNewSpider = /**
|
|
7792
|
-
* @param {?} list
|
|
7793
|
-
* @return {?}
|
|
7794
|
-
*/
|
|
7795
|
-
function (list) {
|
|
7796
|
-
var e_1, _a;
|
|
7797
|
-
/** @type {?} */
|
|
7798
|
-
var response = { markers: [], polyLines: [] };
|
|
7799
|
-
/** @type {?} */
|
|
7800
|
-
var newList = [];
|
|
7801
|
-
try {
|
|
7802
|
-
for (var list_1 = __values(list), list_1_1 = list_1.next(); !list_1_1.done; list_1_1 = list_1.next()) {
|
|
7803
|
-
var listElement = list_1_1.value;
|
|
7804
|
-
newList.push({
|
|
7805
|
-
id: listElement.id,
|
|
7806
|
-
location: listElement.location,
|
|
7807
|
-
price: listElement.price,
|
|
7808
|
-
currency: listElement.currency,
|
|
7809
|
-
url: listElement.url,
|
|
7810
|
-
type: listElement.type,
|
|
7811
|
-
extras: {}
|
|
7812
|
-
});
|
|
7813
|
-
}
|
|
7814
|
-
}
|
|
7815
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
7816
|
-
finally {
|
|
7817
|
-
try {
|
|
7818
|
-
if (list_1_1 && !list_1_1.done && (_a = list_1.return)) _a.call(list_1);
|
|
7819
|
-
}
|
|
7820
|
-
finally { if (e_1) throw e_1.error; }
|
|
7821
|
-
}
|
|
7822
|
-
newList.map((/**
|
|
7823
|
-
* @param {?} el
|
|
7824
|
-
* @return {?}
|
|
7825
|
-
*/
|
|
7826
|
-
function (el) {
|
|
7827
|
-
el.extras['repeat'] = false;
|
|
7828
|
-
/** @type {?} */
|
|
7829
|
-
var size = newList.filter((/**
|
|
7830
|
-
* @param {?} item
|
|
7831
|
-
* @return {?}
|
|
7832
|
-
*/
|
|
7833
|
-
function (item) {
|
|
7834
|
-
return el.location.latitude === item.location.latitude && el.location.longitude === item.location.longitude;
|
|
7835
|
-
}));
|
|
7836
|
-
/** @type {?} */
|
|
7837
|
-
var distance = 30 * size.length / 2.0;
|
|
7838
|
-
/** @type {?} */
|
|
7839
|
-
var radiansBetweenAnnotations = (Math.PI * 2) / size.length;
|
|
7840
|
-
if (!el.extras['repeat'] && size.length > 1) {
|
|
7841
|
-
/** @type {?} */
|
|
7842
|
-
var locationShare = Object.assign({}, el.location);
|
|
7843
|
-
for (var i = 0; i < size.length; i++) {
|
|
7844
|
-
/** @type {?} */
|
|
7845
|
-
var heading = radiansBetweenAnnotations * i;
|
|
7846
|
-
size[i]['repeat'] = true;
|
|
7847
|
-
/** @type {?} */
|
|
7848
|
-
var newLocation = MarkersService.calculateLocationFrom(locationShare, heading, distance);
|
|
7849
|
-
response.polyLines.push({
|
|
7850
|
-
path: [
|
|
7851
|
-
{
|
|
7852
|
-
latitude: Number(locationShare.latitude),
|
|
7853
|
-
longitude: Number(locationShare.longitude)
|
|
7854
|
-
},
|
|
7855
|
-
{
|
|
7856
|
-
latitude: Number(newLocation.latitude),
|
|
7857
|
-
longitude: Number(newLocation.longitude)
|
|
7858
|
-
}
|
|
7859
|
-
]
|
|
7860
|
-
});
|
|
7861
|
-
size[i].location = newLocation;
|
|
7862
|
-
}
|
|
7863
|
-
}
|
|
7864
|
-
return el;
|
|
7865
|
-
}));
|
|
7866
|
-
response.markers = newList;
|
|
7867
|
-
return response;
|
|
7868
|
-
};
|
|
7869
7743
|
/**
|
|
7870
7744
|
* @private
|
|
7871
7745
|
* @param {?} entity
|