From 0440e47de86e1b89712ff5ed38b78f1bc7493529 Mon Sep 17 00:00:00 2001 From: Spythere Date: Thu, 19 May 2022 21:30:38 +0200 Subject: [PATCH] POprawiono url do api --- src/components/SceneryView/SceneryHistory.vue | 66 +++++++++++-------- 1 file changed, 39 insertions(+), 27 deletions(-) diff --git a/src/components/SceneryView/SceneryHistory.vue b/src/components/SceneryView/SceneryHistory.vue index 1837455..99cf120 100644 --- a/src/components/SceneryView/SceneryHistory.vue +++ b/src/components/SceneryView/SceneryHistory.vue @@ -28,14 +28,16 @@ -
+
{{ dispatcher.dispatcherName }} - {{ timestampToString(dispatcher.dispatcherFrom, true) }} + {{ timestampToString(dispatcher.timestampFrom, true) }} + + + + > {{ timestampToString(dispatcher.timestampTo, true) }} - > - {{ timestampToString(dispatcher.dispatcherTo, true) }}
@@ -60,30 +62,32 @@ interface DispatcherTimeline { interface DispatcherHistory { dispatcherName: string; dispatcherId: number; - dispatcherFrom: any; - dispatcherTo: any; + timestampFrom: number; + timestampTo?: number; } -interface SceneryHistory { - stops: any[]; - checkpoints: any[]; +interface SceneryHistoryResponse { stationName: string; - currentDispatcher: string; - currentDispatcherId: number; - currentDispatcherFrom: number; - dispatcherHistory: DispatcherHistory[]; + stationHash: string; + region: string; + dispatcherName: string; + dispatcherId: number; + timestampFrom: number; + timestampTo?: number; + currentDuration: number; + isOnline: boolean; + lastOnlineTimestamp: number; } interface HistoryResultAPI { - response: SceneryHistory; - errorMessage?: any; + response: SceneryHistoryResponse[]; + errorMessage?: string; } -const API_URL = `${URLs.stacjownikAPI}/api/getSceneryHistory`; +const HISTORY_API_URL = `${URLs.stacjownikAPI}/api/getSceneryHistory`; export default defineComponent({ data: () => ({ - dispatcherHistory: [] as DispatcherHistory[], dispatcherTimeline: [] as DispatcherTimeline[], isLoaded: false, @@ -105,21 +109,23 @@ export default defineComponent({ }; }, - async mounted() { + async mounted() { try { - const apiResult: HistoryResultAPI = (await axios.get(`${API_URL}?name=${this.name}&historyCount=100`)).data; + const apiResult: HistoryResultAPI = (await axios.get(`${HISTORY_API_URL}?name=${this.name}&historyCount=100`)).data; if (!apiResult || !apiResult.response) return; this.isLoaded = true; if (apiResult.errorMessage) return; - this.dispatcherHistory = apiResult.response.dispatcherHistory; - this.savedSceneryHistory = this.dispatcherHistory; + console.log(apiResult); - this.dispatcherTimeline = this.dispatcherHistory - .reduce((acc, dispatcher) => { - const dateStr = new Date(dispatcher.dispatcherFrom).toLocaleDateString('pl-PL').replace(/\./g, '/'); + const dispatcherHistoryResult = apiResult.response; + this.savedSceneryHistory = dispatcherHistoryResult; + + this.dispatcherTimeline = apiResult.response.reduce( + (acc, { timestampFrom, timestampTo, dispatcherId, dispatcherName }) => { + const dateStr = new Date(timestampFrom).toLocaleDateString('pl-PL').replace(/\./g, '/'); const timelineDay = acc.find((timeline) => timeline.date == dateStr) || { date: dateStr, @@ -127,13 +133,19 @@ export default defineComponent({ showTimeline: false, }; - timelineDay.dispatchers.unshift(dispatcher); + timelineDay.dispatchers.unshift({ + timestampFrom, + timestampTo, + dispatcherId, + dispatcherName, + }); if (!acc.find((timeline) => timeline.date == dateStr)) acc.push(timelineDay); return acc; - }, [] as DispatcherTimeline[]) - .reverse(); + }, + [] as DispatcherTimeline[] + ); } catch (error) { console.error(error); }