Align 'started' attribute usage to all classes
[e-mobility-charging-stations-simulator.git] / src / ui / web / src / components / charging-stations / CSConnector.vue
index e1eb5a81c67253205ece1c8dc1097841c9d0e123..99ae1b9c74ef1db1f4ee1bf8a590a02e4acdb895 100644 (file)
@@ -1,65 +1,90 @@
 <template>
   <td class="cs-table__action-col">
+    <Button @click="startChargingStation()">Start Charging Station</Button>
+    <Button @click="stopChargingStation()">Stop Charging Station</Button>
+    <Button @click="openConnection()">Open Connection</Button>
+    <Button @click="closeConnection()">Close Connection</Button>
     <Button @click="startTransaction()">Start Transaction</Button>
-    <!-- <TagInputModal
-      :visibility="state.isTagModalVisible"
-      :tag="state.tag"
-      @close="hideTagModal()"
-      @done="Utils.compose(state.transaction, hideTagModal)()"
+    <!-- <IdTagInputModal
+      :visibility="state.isIdTagModalVisible"
+      :idTag="state.idTag"
+      @close="hideIdTagModal()"
+      @done="Utils.compose(state.transaction, hideIdTagModal)()"
     >
-      Start Charging Session
-    </TagInputModal> -->
-    <!-- TODO: Use transactionId to stop transaction -->
-    <!-- <Button @click="stopTransaction()">Stop Transaction</Button> -->
+      Start Transaction
+    </IdTagInputModal> -->
+    <Button @click="stopTransaction()">Stop Transaction</Button>
+    <Button @click="startAutomaticTransactionGenerator()">Start ATG</Button>
+    <Button @click="stopAutomaticTransactionGenerator()">Stop ATG</Button>
   </td>
   <td class="cs-table__connector-col">{{ connectorId }}</td>
-  <td class="cs-table__status-col">{{ connector.bootStatus }}</td>
+  <td class="cs-table__status-col">{{ connector.status }}</td>
+  <td class="cs-table__transaction-col">{{ connector.transactionStarted ? 'Yes' : 'No' }}</td>
 </template>
 
 <script setup lang="ts">
-import TagInputModal from './TagInputModal.vue';
+// import IdTagInputModal from './IdTagInputModal.vue';
 import Button from '../buttons/Button.vue';
 
-import { reactive } from 'vue';
-import UIClient from '@/composable/UIClient';
-import { ConnectorStatus } from '@/type/ChargingStationType';
-import Utils from '@/composable/Utils';
+// import { reactive } from 'vue';
+import UIClient from '@/composables/UIClient';
+import type { ConnectorStatus } from '@/types/ChargingStationType';
+// import Utils from '@/composables/Utils';
 
 const props = defineProps<{
   hashId: string;
   connector: ConnectorStatus;
+  connectorId: number;
   transactionId?: number;
-  connectorId?: number;
-  tag?: string;
+  idTag?: string;
 }>();
 
-type State = {
-  isTagModalVisible: boolean;
-  tag: string;
-  transaction: () => void;
-};
-const state: State = reactive({
-  isTagModalVisible: false,
-  tag: '',
-  transaction: startTransaction,
-});
+// type State = {
+//   isIdTagModalVisible: boolean;
+//   idTag: string;
+//   transaction: () => void;
+// };
 
-function getTag(transaction: () => void): void {
-  state.transaction = transaction;
-  showTagModal();
-}
+// const state: State = reactive({
+//   isIdTagModalVisible: false,
+//   idTag: '',
+//   transaction: startTransaction,
+// });
+
+// function getIdTag(transaction: () => void): void {
+//   state.transaction = transaction;
+//   showTagModal();
+// }
 
-function showTagModal(): void {
-  state.isTagModalVisible = true;
+// function showTagModal(): void {
+//   state.isIdTagModalVisible = true;
+// }
+// function hideIdTagModal(): void {
+//   state.isIdTagModalVisible = false;
+// }
+
+function startChargingStation(): void {
+  UIClient.getInstance().startChargingStation(props.hashId);
 }
-function hideTagModal(): void {
-  state.isTagModalVisible = false;
+function stopChargingStation(): void {
+  UIClient.getInstance().stopChargingStation(props.hashId);
+}
+function openConnection(): void {
+  UIClient.getInstance().openConnection(props.hashId);
+}
+function closeConnection(): void {
+  UIClient.getInstance().closeConnection(props.hashId);
 }
-
 function startTransaction(): void {
-  UIClient.instance.startTransaction(props.hashId, props.connectorId, props.tag);
+  UIClient.getInstance().startTransaction(props.hashId, props.connectorId, props.idTag);
 }
 function stopTransaction(): void {
-  UIClient.instance.stopTransaction(props.hashId, props.transactionId);
+  UIClient.getInstance().stopTransaction(props.hashId, props.transactionId);
+}
+function startAutomaticTransactionGenerator(): void {
+  UIClient.getInstance().startAutomaticTransactionGenerator(props.hashId, props.connectorId);
+}
+function stopAutomaticTransactionGenerator(): void {
+  UIClient.getInstance().stopAutomaticTransactionGenerator(props.hashId, props.connectorId);
 }
 </script>