fix: reset simulator state on stop/start cycle
[e-mobility-charging-stations-simulator.git] / ui / web / src / components / charging-stations / CSTable.vue
... / ...
CommitLineData
1<template>
2 <table id="cs-table">
3 <caption id="cs-table__caption">
4 Charging Stations
5 </caption>
6 <thead id="cs-table__head">
7 <tr class="cs-table__row">
8 <th scope="col" class="cs-table__column">Name</th>
9 <th scope="col" class="cs-table__column">Started</th>
10 <th scope="col" class="cs-table__column">Supervision Url</th>
11 <th scope="col" class="cs-table__column">WebSocket State</th>
12 <th scope="col" class="cs-table__column">Registration Status</th>
13 <th scope="col" class="cs-table__column">Template</th>
14 <th scope="col" class="cs-table__column">Vendor</th>
15 <th scope="col" class="cs-table__column">Model</th>
16 <th scope="col" class="cs-table__column">Firmware</th>
17 <th scope="col" class="cs-table__column">Actions</th>
18 <th scope="col" class="cs-table__connectors-column">Connector(s)</th>
19 </tr>
20 </thead>
21 <tbody id="cs-table__body">
22 <CSData
23 v-for="chargingStation in chargingStations"
24 :key="chargingStation.stationInfo?.hashId"
25 :charging-station="chargingStation"
26 />
27 </tbody>
28 </table>
29</template>
30
31<script setup lang="ts">
32import { defineProps } from 'vue'
33import CSData from '@/components/charging-stations/CSData.vue'
34import type { ChargingStationData } from '@/types'
35
36defineProps<{
37 chargingStations: ChargingStationData[]
38}>()
39</script>
40
41<style>
42#cs-table {
43 height: fit-content;
44 width: 100%;
45 background-color: white;
46 display: flex;
47 flex-direction: column;
48 overflow: auto hidden;
49 border-collapse: collapse;
50 empty-cells: show;
51}
52
53#cs-table__body {
54 height: fit-content;
55 width: 100%;
56 display: flex;
57 flex-direction: column;
58}
59
60#cs-table__caption {
61 color: white;
62 background-color: black;
63 font-size: 1.5rem;
64 font-weight: bold;
65 padding: 0.5rem;
66}
67
68.cs-table__row {
69 height: fit-content;
70 width: 100%;
71 display: flex;
72 flex-direction: row;
73 justify-content: center;
74 align-items: center;
75 border: solid 0.5px black;
76}
77
78.cs-table__row:nth-of-type(even) {
79 background-color: whitesmoke;
80}
81
82.cs-table__column {
83 height: fit-content;
84 width: calc(60% / 10);
85 text-align: center;
86}
87
88#cs-table__head .cs-table__row {
89 background-color: lightgrey;
90}
91
92.cs-table__connectors-column {
93 height: fit-content;
94 width: 40%;
95}
96</style>