Êtes-vous sûr de vouloir abandonner ?
-
@@ -23,6 +24,34 @@
var trigger = document.getElementById('abandon-trigger');
var popover = document.getElementById('abandon-popover');
var cancel = document.getElementById('abandon-cancel');
+ var form = document.getElementById('abandon-form');
+ var attemptedLettersInput = document.getElementById('abandon-attempted-letters');
+
+ function collectAttemptedLetters() {
+ if (!attemptedLettersInput) {
+ return;
+ }
+
+ var attemptedLetters = {};
+ document.querySelectorAll('#actors input[data-row-index][data-char-index]').forEach(function(input) {
+ var value = (input.value || '').trim().toUpperCase();
+ if (!/^[A-Z]$/.test(value)) {
+ return;
+ }
+
+ var rowIndex = input.getAttribute('data-row-index');
+ var charIndex = input.getAttribute('data-char-index');
+
+ if (!attemptedLetters[rowIndex]) {
+ attemptedLetters[rowIndex] = {};
+ }
+
+ attemptedLetters[rowIndex][charIndex] = value;
+ });
+
+ attemptedLettersInput.value = JSON.stringify(attemptedLetters);
+ }
+
trigger.addEventListener('click', function() {
popover.classList.toggle('open');
});
@@ -34,6 +63,7 @@
popover.classList.remove('open');
}
});
+ form.addEventListener('submit', collectAttemptedLetters);
})();
{% else %}
@@ -49,6 +79,7 @@
width: width,
middle: middle,
revealed: game.status == constant('App\\Entity\\Game::STATUS_ABANDONED'),
+ attemptedLetters: attemptedLetters,
}) }}>