{{ atgStatus?.start === true ? 'Yes' : 'No' }}
</td>
<td class="connectors-table__column">
- <Button
- @click="
- $router.push({
- name: 'start-transaction',
- params: { hashId, chargingStationId, connectorId }
- })
+ <ToggleButton
+ :id="`${hashId}-${connectorId}-start-transaction`"
+ :shared="true"
+ :on="
+ () => {
+ $router.push({
+ name: 'start-transaction',
+ params: { hashId, chargingStationId, connectorId }
+ })
+ }
+ "
+ :off="
+ () => {
+ $router.push({ name: 'charging-stations' })
+ }
+ "
+ @clicked="
+ () => {
+ $emit('need-refresh')
+ }
"
- >Start Transaction</Button
>
+ Start Transaction
+ </ToggleButton>
<Button @click="stopTransaction()">Stop Transaction</Button>
<Button @click="startAutomaticTransactionGenerator()">Start ATG</Button>
<Button @click="stopAutomaticTransactionGenerator()">Stop ATG</Button>
</template>
<script setup lang="ts">
-import { getCurrentInstance } from 'vue'
+import { useToast } from 'vue-toast-notification'
+
import Button from '@/components/buttons/Button.vue'
+import ToggleButton from '@/components/buttons/ToggleButton.vue'
+import { useUIClient } from '@/composables'
import type { ConnectorStatus, Status } from '@/types'
const props = defineProps<{
atgStatus?: Status
}>()
-const uiClient = getCurrentInstance()?.appContext.config.globalProperties.$uiClient
+const $emit = defineEmits(['need-refresh'])
+
+const uiClient = useUIClient()
+
+const $toast = useToast()
-function stopTransaction(): void {
- uiClient.stopTransaction(props.hashId, props.connector.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>