refactor: improve display of distances

This commit is contained in:
Rainer Killinger
2021-08-10 13:19:14 +02:00
parent bbd20effb6
commit a811bf9f4f
4 changed files with 100 additions and 19 deletions

View File

@@ -15,6 +15,7 @@
import {Component, Input} from '@angular/core';
import {SCBuilding, SCFloor, SCPointOfInterest, SCRoom} from '@openstapps/core';
import {PositionService} from '../../../map/position.service';
import {Subscription, interval} from 'rxjs';
type placeTypes = (SCBuilding | SCRoom | SCPointOfInterest | SCFloor) & {
distance?: number;
@@ -51,6 +52,9 @@ export class PlaceListItemComponent {
this._item = item;
if (!isSCFloor(item)) {
this.distance = this.positionService.getDistance(item.geo.point);
this.distanceSubscription = interval(10_000).subscribe(_ => {
this.distance = this.positionService.getDistance(item.geo.point);
});
}
}
@@ -64,5 +68,7 @@ export class PlaceListItemComponent {
*/
distance?: number;
distanceSubscription?: Subscription;
constructor(private positionService: PositionService) {}
}

View File

@@ -20,12 +20,8 @@
}}
</li>
<li *ngIf="distance">
<ion-icon name="walk"></ion-icon
>{{
distance
| numberLocalized
: 'style:unit,unit:meter,notation:compact'
}}
<ion-icon name="walk"></ion-icon>
{{ distance | metersLocalized }}
</li>
</ul>
</ion-note>
@@ -37,12 +33,8 @@
{{ 'type' | thingTranslate: item }}
</li>
<li *ngIf="distance">
<ion-icon name="walk"></ion-icon
>{{
distance
| numberLocalized
: 'style:unit,unit:meter,notation:compact'
}}
<ion-icon name="walk"></ion-icon>
{{ distance | metersLocalized }}
</li>
</ul>
</ion-note>