import { Controller } from "https://unpkg.com/@hotwired/stimulus@v3.2.2/dist/stimulus.js"; import { MARKERS, GameController } from "../models/gamecontroller.js"; export default class extends Controller { static targets = [ "key" ]; static outlets = [ "playfield" ]; tappedKey(ev) { ev.preventDefault(); let key = ev.target.dataset["key"]; this.playfieldOutlet.tappedKey(key); } colorizeKeys(ev) { let hits = ev.detail.hits; for (let k in hits) { let thisKey = k.toLowerCase(); let marker = hits[k]; let keyElement = this.keyTargets.filter((e) => e.dataset.key == thisKey)[0]; switch (marker) { case MARKERS.RIGHT_POS: keyElement.classList.value = "right-pos"; break; case MARKERS.RIGHT_CHAR: if (!keyElement.classList.contains("right-pos")) { keyElement.classList.add("right-char"); } break; case MARKERS.MISS: if (keyElement.classList.length == 0) { keyElement.classList.add("miss"); } break; } } } }