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' |
9d76f5ec | 45 | import Button from '@/components/buttons/Button.vue' |
9dc8b66f | 46 | import type { ConnectorStatus, Status } from '@/types' |
2610da71 | 47 | import ToggleButton from '@/components/buttons/ToggleButton.vue' |
39cd8fcb | 48 | import { useUIClient } from '@/composables' |
32de5a57 LM |
49 | |
50 | const props = defineProps<{ | |
66a7748d | 51 | hashId: string |
c317ae3e | 52 | chargingStationId: string |
66a7748d | 53 | connectorId: number |
9dc8b66f JB |
54 | connector: ConnectorStatus |
55 | atgStatus?: Status | |
66a7748d | 56 | }>() |
32de5a57 | 57 | |
83468764 JB |
58 | const $emit = defineEmits(['need-refresh']) |
59 | ||
39cd8fcb | 60 | const uiClient = useUIClient() |
9d76f5ec | 61 | |
cea23fa0 JB |
62 | const $toast = useToast() |
63 | ||
fa5d129a | 64 | const stopTransaction = (): void => { |
cea23fa0 JB |
65 | uiClient |
66 | .stopTransaction(props.hashId, props.connector.transactionId) | |
67 | .then(() => { | |
68 | $toast.success('Transaction successfully stopped') | |
69 | }) | |
70 | .catch((error: Error) => { | |
71 | $toast.error('Error at stopping transaction') | |
72 | console.error('Error at stopping transaction:', error) | |
73 | }) | |
8fc2e5cc | 74 | } |
fa5d129a | 75 | const startAutomaticTransactionGenerator = (): void => { |
cea23fa0 JB |
76 | uiClient |
77 | .startAutomaticTransactionGenerator(props.hashId, props.connectorId) | |
78 | .then(() => { | |
79 | $toast.success('Automatic transaction generator successfully started') | |
80 | }) | |
81 | .catch((error: Error) => { | |
82 | $toast.error('Error at starting automatic transaction generator') | |
83 | console.error('Error at starting automatic transaction generator:', error) | |
84 | }) | |
757b2ecf | 85 | } |
fa5d129a | 86 | const stopAutomaticTransactionGenerator = (): void => { |
cea23fa0 JB |
87 | uiClient |
88 | .stopAutomaticTransactionGenerator(props.hashId, props.connectorId) | |
89 | .then(() => { | |
90 | $toast.success('Automatic transaction generator successfully stopped') | |
91 | }) | |
92 | .catch((error: Error) => { | |
93 | $toast.error('Error at stopping automatic transaction generator') | |
94 | console.error('Error at stopping automatic transaction generator:', error) | |
95 | }) | |
757b2ecf | 96 | } |
32de5a57 | 97 | </script> |