2 <tr v-for="(connector, index) in getConnectors()" class="cs-table__row">
6 :connector-id="index + 1"
7 :transaction-id="connector.transactionId"
10 <td class="cs-table__name-col">{{ getId() }}</td>
11 <td class="cs-table__started-col">{{ getStarted() }}</td>
12 <td class="cs-table__wsState-col">{{ getWsState() }}</td>
13 <td class="cs-table__registration-status-col">{{ getRegistrationStatus() }}</td>
14 <td class="cs-table__vendor-col">{{ getVendor() }}</td>
15 <td class="cs-table__model-col">{{ getModel() }}</td>
16 <td class="cs-table__firmware-col">{{ getFirmwareVersion() }}</td>
20 <script setup lang="ts">
21 // import { reactive } from 'vue';
22 import CSConnector from './CSConnector.vue';
27 } from '@/types/ChargingStationType';
28 import Utils from '@/composables/Utils';
30 const props = defineProps<{
31 chargingStation: ChargingStationData;
36 // isTagModalVisible: boolean;
40 // const state: State = reactive({
41 // isTagModalVisible: false,
45 function getConnectors(): ConnectorStatus[] {
46 if (Array.isArray(props.chargingStation.evses) && props.chargingStation.evses.length > 0) {
47 const connectorsStatus: ConnectorStatus[] = [];
48 for (const [evseId, evseStatus] of props.chargingStation.evses.entries()) {
49 if (evseId > 0 && Array.isArray(evseStatus.connectors) && evseStatus.connectors.length > 0) {
50 for (const connectorStatus of evseStatus.connectors) {
51 connectorsStatus.push(connectorStatus);
55 return connectorsStatus;
57 return props.chargingStation.connectors?.slice(1);
59 function getInfo(): ChargingStationInfo {
60 return props.chargingStation.stationInfo;
62 function getHashId(): string {
63 return getInfo().hashId;
65 function getId(): string {
66 return Utils.ifUndefined<string>(getInfo().chargingStationId, 'Ø');
68 function getModel(): string {
69 return getInfo().chargePointModel;
71 function getVendor(): string {
72 return getInfo().chargePointVendor;
74 function getFirmwareVersion(): string {
75 return Utils.ifUndefined<string>(getInfo().firmwareVersion, 'Ø');
77 function getStarted(): string {
78 return props.chargingStation.started === true ? 'Yes' : 'No';
80 function getWsState(): string {
81 switch (props.chargingStation?.wsState) {
82 case WebSocket.CONNECTING:
86 case WebSocket.CLOSING:
88 case WebSocket.CLOSED:
94 function getRegistrationStatus(): string {
95 return props.chargingStation?.bootNotificationResponse?.status ?? 'Ø';
97 // function showTagModal(): void {
98 // state.isTagModalVisible = true;
100 // function hideTagModal(): void {
101 // state.isTagModalVisible = false;