Move web ui code in its own directory
[e-mobility-charging-stations-simulator.git] / ui / web / src / components / charging-stations / CSConnector.vue
CommitLineData
32de5a57
LM
1<template>
2 <td class="cs-table__action-col">
8fc2e5cc
JB
3 <Button @click="startChargingStation()">Start Charging Station</Button>
4 <Button @click="stopChargingStation()">Stop Charging Station</Button>
5 <Button @click="openConnection()">Open Connection</Button>
6 <Button @click="closeConnection()">Close Connection</Button>
32de5a57 7 <Button @click="startTransaction()">Start Transaction</Button>
5a010bf0
JB
8 <!-- <IdTagInputModal
9 :visibility="state.isIdTagModalVisible"
10 :idTag="state.idTag"
11 @close="hideIdTagModal()"
12 @done="Utils.compose(state.transaction, hideIdTagModal)()"
32de5a57 13 >
5a010bf0
JB
14 Start Transaction
15 </IdTagInputModal> -->
16 <Button @click="stopTransaction()">Stop Transaction</Button>
757b2ecf
JB
17 <Button @click="startAutomaticTransactionGenerator()">Start ATG</Button>
18 <Button @click="stopAutomaticTransactionGenerator()">Stop ATG</Button>
32de5a57
LM
19 </td>
20 <td class="cs-table__connector-col">{{ connectorId }}</td>
5a010bf0 21 <td class="cs-table__status-col">{{ connector.status }}</td>
8fc2e5cc 22 <td class="cs-table__transaction-col">{{ connector.transactionStarted ? 'Yes' : 'No' }}</td>
32de5a57
LM
23</template>
24
25<script setup lang="ts">
5a010bf0 26// import IdTagInputModal from './IdTagInputModal.vue';
32de5a57
LM
27import Button from '../buttons/Button.vue';
28
5a010bf0 29// import { reactive } from 'vue';
f27eb751
JB
30import UIClient from '@/composables/UIClient';
31import type { ConnectorStatus } from '@/types/ChargingStationType';
32// import Utils from '@/composables/Utils';
32de5a57
LM
33
34const props = defineProps<{
35 hashId: string;
36 connector: ConnectorStatus;
5a010bf0 37 connectorId: number;
51c83d6f 38 transactionId?: number;
5a010bf0 39 idTag?: string;
32de5a57
LM
40}>();
41
5a010bf0
JB
42// type State = {
43// isIdTagModalVisible: boolean;
44// idTag: string;
45// transaction: () => void;
46// };
32de5a57 47
5a010bf0
JB
48// const state: State = reactive({
49// isIdTagModalVisible: false,
50// idTag: '',
51// transaction: startTransaction,
52// });
32de5a57 53
5a010bf0
JB
54// function getIdTag(transaction: () => void): void {
55// state.transaction = transaction;
56// showTagModal();
57// }
58
59// function showTagModal(): void {
60// state.isIdTagModalVisible = true;
61// }
62// function hideIdTagModal(): void {
63// state.isIdTagModalVisible = false;
64// }
32de5a57 65
8fc2e5cc 66function startChargingStation(): void {
f27eb751 67 UIClient.getInstance().startChargingStation(props.hashId);
32de5a57 68}
8fc2e5cc 69function stopChargingStation(): void {
f27eb751 70 UIClient.getInstance().stopChargingStation(props.hashId);
32de5a57 71}
5a010bf0 72function openConnection(): void {
f27eb751 73 UIClient.getInstance().openConnection(props.hashId);
5a010bf0
JB
74}
75function closeConnection(): void {
f27eb751 76 UIClient.getInstance().closeConnection(props.hashId);
5a010bf0 77}
8fc2e5cc 78function startTransaction(): void {
f27eb751 79 UIClient.getInstance().startTransaction(props.hashId, props.connectorId, props.idTag);
8fc2e5cc
JB
80}
81function stopTransaction(): void {
f27eb751 82 UIClient.getInstance().stopTransaction(props.hashId, props.transactionId);
8fc2e5cc 83}
757b2ecf
JB
84function startAutomaticTransactionGenerator(): void {
85 UIClient.getInstance().startAutomaticTransactionGenerator(props.hashId, props.connectorId);
86}
87function stopAutomaticTransactionGenerator(): void {
88 UIClient.getInstance().stopAutomaticTransactionGenerator(props.hashId, props.connectorId);
89}
32de5a57 90</script>