fac035d04cfa69008c583ea3e7c31777726eb6ae
[e-mobility-charging-stations-simulator.git] / src / ui / web / src / components / charging-stations / CSData.vue
1 <template>
2 <tr v-for="(connector, index) in getConnectors()" class="cs-table__row">
3 <CSConnector
4 :hash-id="getHashId()"
5 :connector="connector"
6 :connector-id="index + 1"
7 :transaction-id="connector.transactionId"
8 :id-tag="props.idTag"
9 />
10 <td class="cs-table__name-col">{{ getId() }}</td>
11 <td class="cs-table__stopped-col">{{ getStopped() }}</td>
12 <td class="cs-table__vendor-col">{{ getVendor() }}</td>
13 <td class="cs-table__model-col">{{ getModel() }}</td>
14 <td class="cs-table__firmware-col">{{ getFirmwareVersion() }}</td>
15 </tr>
16 </template>
17
18 <script setup lang="ts">
19 import CSConnector from './CSConnector.vue';
20
21 // import { reactive } from 'vue';
22 import Utils from '@/composable/Utils';
23 import {
24 ChargingStationData,
25 ChargingStationInfo,
26 ConnectorStatus,
27 } from '@/type/ChargingStationType';
28
29 const props = defineProps<{
30 chargingStation: ChargingStationData;
31 idTag: string;
32 }>();
33
34 // type State = {
35 // isTagModalVisible: boolean;
36 // idTag: string;
37 // };
38
39 // const state: State = reactive({
40 // isTagModalVisible: false,
41 // idTag: '',
42 // });
43
44 function getHashId(): string {
45 return props.chargingStation.hashId;
46 }
47 function getConnectors(): ConnectorStatus[] {
48 return props.chargingStation.connectors.slice(1);
49 }
50 function getInfo(): ChargingStationInfo {
51 return props.chargingStation.stationInfo;
52 }
53 function getId(): string {
54 return Utils.ifUndefined<string>(getInfo().chargingStationId, 'Ø');
55 }
56 function getModel(): string {
57 return getInfo().chargePointModel;
58 }
59 function getVendor(): string {
60 return getInfo().chargePointVendor;
61 }
62 function getFirmwareVersion(): string {
63 return Utils.ifUndefined<string>(getInfo().firmwareVersion, 'Ø');
64 }
65 function getStopped(): string {
66 return props.chargingStation.stopped ? 'Yes' : 'No';
67 }
68 // function showTagModal(): void {
69 // state.isTagModalVisible = true;
70 // }
71 // function hideTagModal(): void {
72 // state.isTagModalVisible = false;
73 // }
74 </script>