update
Took 4 hours 31 minutes
This commit is contained in:
@ -2,4 +2,5 @@ export enum RequestType {
|
||||
CONTAINERS = "CONTAINERS",
|
||||
INGREDIENTS = "INGREDIENTS",
|
||||
STATS = "STATS",
|
||||
JOB = "JOB",
|
||||
}
|
@ -7,5 +7,7 @@ export enum WebSocketEvent {
|
||||
TARE = "TARE",
|
||||
SETUP = "SETUP",
|
||||
REQUEST = "REQUEST",
|
||||
RESPONSE = "RESPONSE"
|
||||
RESPONSE = "RESPONSE",
|
||||
FILL = "FILL",
|
||||
CANCEL = "CANCEL"
|
||||
}
|
@ -43,6 +43,11 @@ router.ws('/', async (ws, req, next) => {
|
||||
log(msg);
|
||||
|
||||
switch (msg.event) {
|
||||
case WebSocketEvent.FILL : {
|
||||
iTender.setStatus(iTenderStatus.FILLING);
|
||||
break;
|
||||
}
|
||||
|
||||
case WebSocketEvent.TARE: {
|
||||
if (msg.data["state"] == true) {
|
||||
iTender.toggleTare(true);
|
||||
|
@ -2,6 +2,9 @@ import {WebSocketPayload} from "../WebSocketPayload";
|
||||
import {IDrink} from "../database/IDrink";
|
||||
import {Pane} from "./Pane";
|
||||
import {Setup} from "./Setup";
|
||||
import {Modal} from "./Modal";
|
||||
import {WebSocketEvent} from "../WebSocketEvent";
|
||||
import {WebWebSocketHandler} from "./WebWebSocketHandler";
|
||||
|
||||
export class WebHandler {
|
||||
static get currentPane(): Pane {
|
||||
@ -38,6 +41,13 @@ export class WebHandler {
|
||||
drinkImg.src = "/images/" + drink.name + ".png";
|
||||
drinkName.innerText = drink.name;
|
||||
|
||||
|
||||
|
||||
drinkEle.onclick = () => {
|
||||
let payload = new WebSocketPayload(WebSocketEvent.FILL, false, {drink: drink._id });
|
||||
WebWebSocketHandler.send(payload);
|
||||
}
|
||||
|
||||
/*
|
||||
let ingredients = "<ul style='list-style-type: disc;'>";
|
||||
for (let i of drink.ingredients) {
|
||||
|
@ -7,6 +7,7 @@ import {WebHandler} from "./WebHandler";
|
||||
import {Setup} from "./Setup";
|
||||
import {Pane} from "./Pane";
|
||||
import {RequestType} from "../RequestType";
|
||||
import {IDrink} from "../database/IDrink";
|
||||
|
||||
export class WebWebSocketHandler {
|
||||
private static socket: WebSocket;
|
||||
@ -61,8 +62,8 @@ export class WebWebSocketHandler {
|
||||
switch (status) {
|
||||
case iTenderStatus.READY: {
|
||||
Modal.close("start");
|
||||
Modal.close("refreshing");
|
||||
Modal.close("setup");
|
||||
Modal.close("fill");
|
||||
WebHandler.openPane(Pane.MAIN);
|
||||
(document.getElementById("menuBtn") as HTMLButtonElement).disabled = false;
|
||||
break;
|
||||
@ -88,7 +89,52 @@ export class WebWebSocketHandler {
|
||||
case iTenderStatus.SETUP: {
|
||||
Modal.close("start");
|
||||
Setup.openSetup();
|
||||
break;
|
||||
}
|
||||
case iTenderStatus.FILLING: {
|
||||
|
||||
let modal = new Modal("fill", "Getränk wird ausgegeben");
|
||||
let header = document.createElement("h2");
|
||||
header.innerText = "";
|
||||
|
||||
modal.addContent(header);
|
||||
|
||||
let txt = document.createElement("p");
|
||||
txt.innerHTML = `Dein Cocktail wird gerade zubereitet`;
|
||||
txt.id = "main_fillTxt";
|
||||
|
||||
let waterAnimDiv = document.createElement("div");
|
||||
waterAnimDiv.classList.add("water");
|
||||
modal.addContent(txt);
|
||||
|
||||
modal.addContent(waterAnimDiv);
|
||||
|
||||
let cancelBtn = document.createElement("button");
|
||||
cancelBtn.classList.add("btn", "btn-danger");
|
||||
cancelBtn.innerText = "Abbrechen";
|
||||
cancelBtn.disabled = true;
|
||||
setTimeout(() => {
|
||||
cancelBtn.disabled = false;
|
||||
}, 1000);
|
||||
cancelBtn.onclick = () => {
|
||||
cancelBtn.disabled = true;
|
||||
txt.innerHTML = "Der Vorgang wird abgebrochen...";
|
||||
waterAnimDiv.classList.add("waterCancel");
|
||||
|
||||
WebWebSocketHandler.send(new WebSocketPayload(WebSocketEvent.CANCEL));
|
||||
};
|
||||
modal.addContent(cancelBtn);
|
||||
|
||||
WebWebSocketHandler.request(RequestType.JOB).then((payload) => {
|
||||
let drink = payload.data as IDrink;
|
||||
waterAnimDiv.style.backgroundImage = "/images/" + drink.name + ".png";
|
||||
header.innerText = drink.name;
|
||||
});
|
||||
|
||||
modal.open();
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user