<template>
<router-view />
- <Container id="action">
+ <Container id="action-container">
<router-view name="action" />
</Container>
</template>
background-color: white;
}
-#action {
+#action-container {
min-width: max-content;
display: flex;
flex-direction: column;
return UIClient.instance
}
- public registerWSonOpenListener(listener: (event: Event) => void) {
- this.ws.addEventListener('open', listener)
+ public registerWSEventListener<K extends keyof WebSocketEventMap>(
+ event: K,
+ listener: (event: WebSocketEventMap[K]) => void
+ ) {
+ this.ws.addEventListener(event, listener)
}
public async startSimulator(): Promise<ResponsePayload> {
// TODO: add code for UI notifications or other error handling logic
}
app.config.globalProperties.$uiClient = UIClient.getInstance(config)
- app.config.globalProperties.$uiClient.registerWSonOpenListener(() => {
+ app.config.globalProperties.$uiClient.registerWSEventListener('open', () => {
app.config.globalProperties.$uiClient
.listChargingStations()
.then((response: ResponsePayload) => {
<template>
- <Container id="charging-stations">
+ <Container id="charging-stations-container">
<Container id="buttons-container">
<Button id="simulator-button" @click="startSimulator()">Start Simulator</Button>
<Button id="simulator-button" @click="stopSimulator()">Stop Simulator</Button>
</script>
<style>
-#charging-stations {
+#charging-stations-container {
height: fit-content;
width: 100%;
display: flex;