Rework MapMarkerResponseDto
This commit is contained in:
parent
6127d3f8f6
commit
7a8455c254
2 changed files with 15 additions and 12 deletions
|
@ -96,24 +96,27 @@ export type MapMarkerResponseDto = [
|
|||
];
|
||||
|
||||
export class MapMarkerResponseDtoDecorator {
|
||||
private dto: MapMarkerResponseDto;
|
||||
constructor(private assetId: string, private lat: number, private lon: number) {}
|
||||
|
||||
constructor(dto: MapMarkerResponseDto) {
|
||||
this.dto = dto;
|
||||
}
|
||||
|
||||
static map(response: object[]): MapMarkerResponseDtoDecorator[] {
|
||||
return response.map(
|
||||
(marker) => new MapMarkerResponseDtoDecorator(marker as unknown as MapMarkerResponseDto)
|
||||
static from(response: object): MapMarkerResponseDtoDecorator {
|
||||
const responseArray = response as MapMarkerResponseDto;
|
||||
return new MapMarkerResponseDtoDecorator(
|
||||
responseArray[0] as string,
|
||||
responseArray[1] as number,
|
||||
responseArray[2] as number
|
||||
);
|
||||
}
|
||||
|
||||
static fromMany(responses: object[]): MapMarkerResponseDtoDecorator[] {
|
||||
return responses.map(MapMarkerResponseDtoDecorator.from);
|
||||
}
|
||||
|
||||
public getAssetId(): string {
|
||||
return this.dto[0];
|
||||
return this.assetId;
|
||||
}
|
||||
|
||||
public getLatLon(): [number, number] {
|
||||
return [this.dto[1], this.dto[2]];
|
||||
return [this.lat, this.lon];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -18,14 +18,14 @@
|
|||
let initialMapCenter: [number, number] = [48, 11];
|
||||
|
||||
onMount(async () => {
|
||||
mapMarkers = MapMarkerResponseDtoDecorator.map(data.mapMarkers);
|
||||
mapMarkers = MapMarkerResponseDtoDecorator.fromMany(data.mapMarkers);
|
||||
|
||||
if (mapMarkers.length) {
|
||||
initialMapCenter = mapMarkers[0].getLatLon();
|
||||
}
|
||||
|
||||
const markersResponse = (await api.assetApi.getMapMarkers()).data;
|
||||
mapMarkers = MapMarkerResponseDtoDecorator.map(markersResponse);
|
||||
mapMarkers = MapMarkerResponseDtoDecorator.fromMany(markersResponse);
|
||||
});
|
||||
|
||||
let viewingAssets: string[] = [];
|
||||
|
|
Loading…
Add table
Reference in a new issue