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