refactor(ui): cleanup eslint configuration
[e-mobility-charging-stations-simulator.git] / ui / web / src / components / charging-stations / CSConnector.vue
CommitLineData
32de5a57 1<template>
9dc8b66f
JB
2 <tr class="connectors-table__row">
3 <td class="connectors-table__column">{{ connectorId }}</td>
4 <td class="connectors-table__column">{{ connector.status ?? 'Ø' }}</td>
5 <td class="connectors-table__column">
6 {{ connector.transactionStarted === true ? 'Yes' : 'No' }}
7 </td>
8 <td class="connectors-table__column">
9 {{ atgStatus?.start === true ? 'Yes' : 'No' }}
10 </td>
11 <td class="connectors-table__column">
2610da71 12 <ToggleButton
83468764 13 :id="`${hashId}-${connectorId}-start-transaction`"
2610da71
JB
14 :shared="true"
15 :on="
16 () => {
17 $router.push({
18 name: 'start-transaction',
19 params: { hashId, chargingStationId, connectorId }
20 })
21 }
22 "
23 :off="
24 () => {
25 $router.push({ name: 'charging-stations' })
26 }
c317ae3e 27 "
83468764
JB
28 @clicked="
29 () => {
30 $emit('need-refresh')
31 }
32 "
c317ae3e 33 >
1eb5f592 34 Start Transaction
2610da71 35 </ToggleButton>
9dc8b66f
JB
36 <Button @click="stopTransaction()">Stop Transaction</Button>
37 <Button @click="startAutomaticTransactionGenerator()">Start ATG</Button>
38 <Button @click="stopAutomaticTransactionGenerator()">Stop ATG</Button>
39 </td>
40 </tr>
32de5a57
LM
41</template>
42
43<script setup lang="ts">
cea23fa0 44import { useToast } from 'vue-toast-notification'
84ec8d34 45
9d76f5ec 46import Button from '@/components/buttons/Button.vue'
2610da71 47import ToggleButton from '@/components/buttons/ToggleButton.vue'
39cd8fcb 48import { useUIClient } from '@/composables'
84ec8d34 49import type { ConnectorStatus, Status } from '@/types'
32de5a57
LM
50
51const props = defineProps<{
66a7748d 52 hashId: string
c317ae3e 53 chargingStationId: string
66a7748d 54 connectorId: number
9dc8b66f
JB
55 connector: ConnectorStatus
56 atgStatus?: Status
66a7748d 57}>()
32de5a57 58
83468764
JB
59const $emit = defineEmits(['need-refresh'])
60
39cd8fcb 61const uiClient = useUIClient()
9d76f5ec 62
cea23fa0
JB
63const $toast = useToast()
64
fa5d129a 65const stopTransaction = (): void => {
cea23fa0
JB
66 uiClient
67 .stopTransaction(props.hashId, props.connector.transactionId)
68 .then(() => {
69 $toast.success('Transaction successfully stopped')
70 })
71 .catch((error: Error) => {
72 $toast.error('Error at stopping transaction')
73 console.error('Error at stopping transaction:', error)
74 })
8fc2e5cc 75}
fa5d129a 76const startAutomaticTransactionGenerator = (): void => {
cea23fa0
JB
77 uiClient
78 .startAutomaticTransactionGenerator(props.hashId, props.connectorId)
79 .then(() => {
80 $toast.success('Automatic transaction generator successfully started')
81 })
82 .catch((error: Error) => {
83 $toast.error('Error at starting automatic transaction generator')
84 console.error('Error at starting automatic transaction generator:', error)
85 })
757b2ecf 86}
fa5d129a 87const stopAutomaticTransactionGenerator = (): void => {
cea23fa0
JB
88 uiClient
89 .stopAutomaticTransactionGenerator(props.hashId, props.connectorId)
90 .then(() => {
91 $toast.success('Automatic transaction generator successfully stopped')
92 })
93 .catch((error: Error) => {
94 $toast.error('Error at stopping automatic transaction generator')
95 console.error('Error at stopping automatic transaction generator:', error)
96 })
757b2ecf 97}
32de5a57 98</script>