mirror of
https://git.roussel.pro/telecom-paris/pact.git
synced 2026-02-09 10:30:17 +01:00
Implémentation basique notes avec les doigts
This commit is contained in:
@@ -109,7 +109,6 @@ class CameraPage {
|
||||
height = height * this.videoHeight * 2;
|
||||
x = x * this.videoWidth - width / 2;
|
||||
y = y * this.videoHeight - height / 2;
|
||||
console.log(width, height);
|
||||
if (effect.type == "thumbs_down") {
|
||||
this._drawThumbsDown(x, y, width, height);
|
||||
}
|
||||
|
||||
23
code/interface_borne/assets/js/grade_page.js
Normal file
23
code/interface_borne/assets/js/grade_page.js
Normal file
@@ -0,0 +1,23 @@
|
||||
class GradePage {
|
||||
constructor() {
|
||||
this.isEnabled = false;
|
||||
this.DOMElement = document.getElementById("grade");
|
||||
}
|
||||
|
||||
set enabled(isEnabled) {
|
||||
this.isEnabled = isEnabled;
|
||||
this.DOMElement.style.display = isEnabled ? "block" : "none";
|
||||
}
|
||||
|
||||
onNewCriteria(criteriaName) {
|
||||
document.getElementById("criteria").innerHTML = criteriaName;
|
||||
document.getElementById("criteria-grade").innerHTML = "";
|
||||
}
|
||||
onNewGrade(grade) {
|
||||
document.getElementById("criteria-grade").innerHTML = grade;
|
||||
}
|
||||
reset() {
|
||||
document.getElementById("criteria-grade").innerHTML = "";
|
||||
document.getElementById("criteria").innerHTML = "";
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
class WebsocketClient {
|
||||
constructor(onNewEffects, onNewState, onNewGrade, onReset, onRecordingDone) {
|
||||
constructor(onNewEffects, onNewState, onNewGrade, onReset, onRecordingDone, onNewCriteria, onNewCriteriaGrade) {
|
||||
this.socket = new WebSocket("ws://localhost:5000");
|
||||
this.socket.addEventListener("open", (event) => {
|
||||
this.socket.send("connected");
|
||||
@@ -10,16 +10,25 @@ class WebsocketClient {
|
||||
let msg = JSON.parse(event.data);
|
||||
if (msg.type == "effects") {
|
||||
onNewEffects(msg.effects);
|
||||
}else if(msg.type == "state") {
|
||||
}
|
||||
else if(msg.type == "state") {
|
||||
onNewState(msg.state);
|
||||
}else if(msg.type == "new_grade") {
|
||||
}
|
||||
else if(msg.type == "new_grade") {
|
||||
onNewGrade(msg.word);
|
||||
}else if(msg.type == "reset") {
|
||||
}
|
||||
else if(msg.type == "reset") {
|
||||
onReset();
|
||||
}
|
||||
else if(msg.type == "recording_done") {
|
||||
onRecordingDone();
|
||||
}
|
||||
else if(msg.type == "new_criteria") {
|
||||
onNewCriteria(msg.criteria)
|
||||
}
|
||||
else if(msg.type == "criteria_grade") {
|
||||
onNewCriteriaGrade(msg.grade);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
const STATE = {
|
||||
sleeping: 0,
|
||||
video: 1,
|
||||
audio: 2,
|
||||
thankYou: 3,
|
||||
grade: 2,
|
||||
audio: 3,
|
||||
thankYou: 4,
|
||||
};
|
||||
|
||||
class StateManager {
|
||||
@@ -12,6 +13,7 @@ class StateManager {
|
||||
this._sleepingPage = new SleepingPage();
|
||||
this._audioPage = new AudioPage();
|
||||
this._thankYouPage = new ThankYouPage();
|
||||
this._gradePage = new GradePage();
|
||||
|
||||
this.wsClient = new WebsocketClient(
|
||||
(effects) => {
|
||||
@@ -22,22 +24,30 @@ class StateManager {
|
||||
(grade) => this._audioPage.setGrade(grade),
|
||||
() => this.reset(),
|
||||
() => this._audioPage.onRecordingDone(),
|
||||
(crit) => this._gradePage.onNewCriteria(crit),
|
||||
(grade) => this._gradePage.onNewGrade(grade),
|
||||
);
|
||||
|
||||
this._sleepingPage.enabled = true;
|
||||
this._cameraPage.enabled = false;
|
||||
this._gradePage.enabled = false;
|
||||
this._audioPage.enabled = false;
|
||||
this._thankYouPage.enabled = false;
|
||||
}
|
||||
|
||||
setState(newState) {
|
||||
console.log("state change")
|
||||
console.log({current:this._state,new:newState})
|
||||
if(this._state == STATE.sleeping && newState == STATE.video) {
|
||||
this._cameraPage.enabled = true;
|
||||
this._sleepingPage.enabled = false;
|
||||
this._state = newState;
|
||||
}else if(this._state == STATE.video && newState == STATE.audio) {
|
||||
}else if(this._state == STATE.video && newState == STATE.grade) {
|
||||
this._cameraPage.enabled = false;
|
||||
this._gradePage.enabled = true;
|
||||
this._state = newState;
|
||||
}else if(this._state == STATE.grade && newState == STATE.audio) {
|
||||
this._gradePage.enabled = false;
|
||||
this._audioPage.enabled = true;
|
||||
this._state = newState;
|
||||
}else if(this._state == STATE.audio && newState == STATE.thankYou) {
|
||||
@@ -61,4 +71,4 @@ class StateManager {
|
||||
this._sleepingPage.enabled = true;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user