2 <td class="cs-table__action-col">
3 <Button @click="startTransaction()">Start Transaction</Button>
5 :visibility="state.isTagModalVisible"
7 @close="hideTagModal()"
8 @done="Utils.compose(state.transaction, hideTagModal)()"
10 Start Charging Session
12 <!-- TODO: Use transactionId to stop transaction -->
13 <!-- <Button @click="stopTransaction()">Stop Transaction</Button> -->
15 <td class="cs-table__connector-col">{{ connectorId }}</td>
16 <td class="cs-table__status-col">{{ connector.bootStatus }}</td>
19 <script setup lang="ts">
20 import TagInputModal from './TagInputModal.vue';
21 import Button from '../buttons/Button.vue';
23 import { reactive } from 'vue';
24 import UIClient from '@/composable/UIClient';
25 import { ConnectorStatus } from '@/type/ChargingStationType';
26 import Utils from '@/composable/Utils';
28 const props = defineProps<{
30 connector: ConnectorStatus;
31 transactionId?: number;
37 isTagModalVisible: boolean;
39 transaction: () => void;
41 const state: State = reactive({
42 isTagModalVisible: false,
44 transaction: startTransaction,
47 function getTag(transaction: () => void): void {
48 state.transaction = transaction;
52 function showTagModal(): void {
53 state.isTagModalVisible = true;
55 function hideTagModal(): void {
56 state.isTagModalVisible = false;
59 function startTransaction(): void {
60 UIClient.instance.startTransaction(props.hashId, props.connectorId, props.tag);
62 function stopTransaction(): void {
63 UIClient.instance.stopTransaction(props.hashId, props.transactionId);