From 69ee8062a4ef1989cb1fb826a8460c54eec505b4 Mon Sep 17 00:00:00 2001 From: JonathanMM Date: Wed, 2 Mar 2022 18:42:29 +0100 Subject: [PATCH] =?UTF-8?q?Fix=20#49=20:=20Tous=20les=20indices=20n'=C3=A9?= =?UTF-8?q?taient=20pas=20remis=20lors=20du=20changement=20de=20clavier?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ts/input.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/ts/input.ts b/ts/input.ts index 975875d..2a48b42 100644 --- a/ts/input.ts +++ b/ts/input.ts @@ -14,7 +14,7 @@ export default class Input { private _longueurMot: number; private _motSaisi: string; private _estBloque: boolean; - private _resultats: Array; + private _resultats: Array>; public constructor(gestionnaire: Gestionnaire, configuration: Configuration, longueurMot: number, premiereLettre: string) { this._grille = document.getElementById("grille") as HTMLElement; @@ -24,7 +24,7 @@ export default class Input { this._gestionnaire = gestionnaire; this._motSaisi = ""; this._estBloque = false; - this._resultats = new Array(); + this._resultats = new Array>(); this.ajouterEvenementClavierPhysique(); @@ -68,7 +68,7 @@ export default class Input { this._inputArea.appendChild(ligneDiv); } this.ajouterEvenementClavierVirtuel(); - this.updateClavier(this._resultats); + this.remettrePropositions(); } private getDisposition(clavier: ClavierDisposition): Array> { @@ -182,7 +182,17 @@ export default class Input { } public updateClavier(resultats: Array): void { - this._resultats = resultats; // On sauvegarde au cas où on doit redessiner tout le clavier + this._resultats.push(resultats); // On sauvegarde au cas où on doit redessiner tout le clavier + this.updateClavierAvecProposition(resultats); + } + + private remettrePropositions(): void { + for (let resultat of this._resultats) { + this.updateClavierAvecProposition(resultat); + } + } + + private updateClavierAvecProposition(resultats: Array): void { let statutLettres: { [lettre: string]: LettreStatut } = {}; // console.log(statutLettres); for (let resultat of resultats) {