refactor(ui): cleanup casing style
[e-mobility-charging-stations-simulator.git] / ui / web / src / components / charging-stations / CSConnector.vue
index f6cda45af6715868ebc8d0f312ccecd3646feec5..e0b62e4f47f5199b900205b6abfc670511c9cb40 100644 (file)
@@ -9,15 +9,15 @@
       {{ atgStatus?.start === true ? 'Yes' : 'No' }}
     </td>
     <td class="connectors-table__column">
-      <Button @click="startTransaction()">Start Transaction</Button>
-      <!-- <IdTagInputModal
-        :visibility="state.isIdTagModalVisible"
-        :id-tag="state.idTag"
-        @close="hideIdTagModal()"
-        @done="compose(state.transaction, hideIdTagModal)()"
+      <Button
+        @click="
+          $router.push({
+            name: 'start-transaction',
+            params: { hashId, chargingStationId, connectorId }
+          })
+        "
+        >Start Transaction</Button
       >
-        Start Transaction
-      </IdTagInputModal> -->
       <Button @click="stopTransaction()">Stop Transaction</Button>
       <Button @click="startAutomaticTransactionGenerator()">Start ATG</Button>
       <Button @click="stopAutomaticTransactionGenerator()">Stop ATG</Button>
 
 <script setup lang="ts">
 import { getCurrentInstance } from 'vue'
-// import { reactive } from 'vue'
-// import IdTagInputModal from '@/components/charging-stations/IdTagInputModal.vue'
+import { useToast } from 'vue-toast-notification'
 import Button from '@/components/buttons/Button.vue'
 import type { ConnectorStatus, Status } from '@/types'
-// import { compose } from '@/composables'
 
 const props = defineProps<{
   hashId: string
+  chargingStationId: string
   connectorId: number
   connector: ConnectorStatus
   atgStatus?: Status
-  transactionId?: number
-  idTag?: string
 }>()
 
-// type State = {
-//   isIdTagModalVisible: boolean
-//   idTag: string
-//   transaction: () => void
-// }
+const uiClient = getCurrentInstance()?.appContext.config.globalProperties.$uiClient
 
-// const state: State = reactive({
-//   isIdTagModalVisible: false,
-//   idTag: '',
-//   transaction: startTransaction
-// })
+const $toast = useToast()
 
-// function getIdTag(transaction: () => void): void {
-//   state.transaction = transaction
-//   showTagModal()
-// }
-
-// function showTagModal(): void {
-//   state.isIdTagModalVisible = true
-// }
-// function hideIdTagModal(): void {
-//   state.isIdTagModalVisible = false
-// }
-
-const UIClient = getCurrentInstance()?.appContext.config.globalProperties.$UIClient
-
-function startTransaction(): void {
-  UIClient.startTransaction(props.hashId, props.connectorId, props.idTag)
-}
-function stopTransaction(): void {
-  UIClient.stopTransaction(props.hashId, props.transactionId)
+const stopTransaction = (): void => {
+  uiClient
+    .stopTransaction(props.hashId, props.connector.transactionId)
+    .then(() => {
+      $toast.success('Transaction successfully stopped')
+    })
+    .catch((error: Error) => {
+      $toast.error('Error at stopping transaction')
+      console.error('Error at stopping transaction:', error)
+    })
 }
-function startAutomaticTransactionGenerator(): void {
-  UIClient.startAutomaticTransactionGenerator(props.hashId, props.connectorId)
+const startAutomaticTransactionGenerator = (): void => {
+  uiClient
+    .startAutomaticTransactionGenerator(props.hashId, props.connectorId)
+    .then(() => {
+      $toast.success('Automatic transaction generator successfully started')
+    })
+    .catch((error: Error) => {
+      $toast.error('Error at starting automatic transaction generator')
+      console.error('Error at starting automatic transaction generator:', error)
+    })
 }
-function stopAutomaticTransactionGenerator(): void {
-  UIClient.stopAutomaticTransactionGenerator(props.hashId, props.connectorId)
+const stopAutomaticTransactionGenerator = (): void => {
+  uiClient
+    .stopAutomaticTransactionGenerator(props.hashId, props.connectorId)
+    .then(() => {
+      $toast.success('Automatic transaction generator successfully stopped')
+    })
+    .catch((error: Error) => {
+      $toast.error('Error at stopping automatic transaction generator')
+      console.error('Error at stopping automatic transaction generator:', error)
+    })
 }
 </script>