UI Protocol: Expose ATG status and use array for all list
[e-mobility-charging-stations-simulator.git] / src / ui / web / src / views / ChargingStationsView.vue
index 10d6e4da87596d64f2d44924ec9f5991398a61fc..25ea51d9bc02549c1526725e9f5e92b9fde96e5e 100644 (file)
@@ -22,32 +22,33 @@ import ReloadButton from '@/components/buttons/ReloadButton.vue';
 import CSTable from '@/components/charging-stations/CSTable.vue';
 
 import { onMounted, reactive } from 'vue';
-import UIClient from '@/composable/UIClient';
-import { ChargingStationData } from '@/type/ChargingStationType';
+import UIClient from '@/composables/UIClient';
+import type { ChargingStationData } from '@/types/ChargingStationType';
 
-const UIClientInstance = UIClient.instance;
+const UIClientInstance = UIClient.getInstance();
 
 onMounted(() => {
-  UIClientInstance.onOpen(load);
+  UIClientInstance.registerWSonOpenListener(load);
 });
 
 type State = {
   isLoading: boolean;
-  chargingStations: Record<string, ChargingStationData>;
+  chargingStations: ChargingStationData[];
   idTag: string;
 };
 
 const state: State = reactive({
   isLoading: false,
-  chargingStations: {},
+  chargingStations: [],
   idTag: '',
 });
 
 async function load(): Promise<void> {
   if (state.isLoading === true) return;
   state.isLoading = true;
-  const list = await UIClientInstance.listChargingStations();
-  state.chargingStations = list as unknown as Record<string, ChargingStationData>;
+  const listChargingStationsPayload = await UIClientInstance.listChargingStations();
+  state.chargingStations =
+    listChargingStationsPayload.chargingStations as unknown as ChargingStationData[];
   state.isLoading = false;
 }
 
@@ -77,10 +78,9 @@ function stopSimulator(): void {
 
 #reload-button {
   flex: auto;
-  padding: 6px 14px;
+  padding: 5px 15px;
   background-color: rgb(25, 118, 210);
   border-radius: 5px;
-
   color: white;
   font-size: 35px;
   font-weight: bold;