Commit | Line | Data |
---|---|---|
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 | 44 | import { useToast } from 'vue-toast-notification' |
84ec8d34 | 45 | |
9d76f5ec | 46 | import Button from '@/components/buttons/Button.vue' |
2610da71 | 47 | import ToggleButton from '@/components/buttons/ToggleButton.vue' |
39cd8fcb | 48 | import { useUIClient } from '@/composables' |
84ec8d34 | 49 | import type { ConnectorStatus, Status } from '@/types' |
32de5a57 LM |
50 | |
51 | const 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 |
59 | const $emit = defineEmits(['need-refresh']) |
60 | ||
39cd8fcb | 61 | const uiClient = useUIClient() |
9d76f5ec | 62 | |
cea23fa0 JB |
63 | const $toast = useToast() |
64 | ||
fa5d129a | 65 | const 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 | 76 | const 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 | 87 | const 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> |