Fix #49 : Tous les indices n'étaient pas remis lors du changement de clavier

This commit is contained in:
JonathanMM 2022-03-02 18:42:29 +01:00
parent 3fa2c6ae6a
commit 69ee8062a4

View file

@ -14,7 +14,7 @@ export default class Input {
private _longueurMot: number; private _longueurMot: number;
private _motSaisi: string; private _motSaisi: string;
private _estBloque: boolean; private _estBloque: boolean;
private _resultats: Array<LettreResultat>; private _resultats: Array<Array<LettreResultat>>;
public constructor(gestionnaire: Gestionnaire, configuration: Configuration, longueurMot: number, premiereLettre: string) { public constructor(gestionnaire: Gestionnaire, configuration: Configuration, longueurMot: number, premiereLettre: string) {
this._grille = document.getElementById("grille") as HTMLElement; this._grille = document.getElementById("grille") as HTMLElement;
@ -24,7 +24,7 @@ export default class Input {
this._gestionnaire = gestionnaire; this._gestionnaire = gestionnaire;
this._motSaisi = ""; this._motSaisi = "";
this._estBloque = false; this._estBloque = false;
this._resultats = new Array<LettreResultat>(); this._resultats = new Array<Array<LettreResultat>>();
this.ajouterEvenementClavierPhysique(); this.ajouterEvenementClavierPhysique();
@ -68,7 +68,7 @@ export default class Input {
this._inputArea.appendChild(ligneDiv); this._inputArea.appendChild(ligneDiv);
} }
this.ajouterEvenementClavierVirtuel(); this.ajouterEvenementClavierVirtuel();
this.updateClavier(this._resultats); this.remettrePropositions();
} }
private getDisposition(clavier: ClavierDisposition): Array<Array<string>> { private getDisposition(clavier: ClavierDisposition): Array<Array<string>> {
@ -182,7 +182,17 @@ export default class Input {
} }
public updateClavier(resultats: Array<LettreResultat>): void { public updateClavier(resultats: Array<LettreResultat>): 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<LettreResultat>): void {
let statutLettres: { [lettre: string]: LettreStatut } = {}; let statutLettres: { [lettre: string]: LettreStatut } = {};
// console.log(statutLettres); // console.log(statutLettres);
for (let resultat of resultats) { for (let resultat of resultats) {