From 624991870df0e804d64cf4d9359c63435513d61b Mon Sep 17 00:00:00 2001
From: Catalin Mititiuc
Date: Tue, 2 Jul 2024 13:12:21 -0700
Subject: Allow selecting elevation level with up/down buttons
---
src/index.js | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
(limited to 'src')
diff --git a/src/index.js b/src/index.js
index efc6784..f1bc918 100644
--- a/src/index.js
+++ b/src/index.js
@@ -208,6 +208,22 @@ document.querySelector('#roll-dice').addEventListener('click', () => {
});
});
+document.querySelectorAll('.select-elevation button').forEach(el => el.addEventListener('click', () => {
+ const current = document.querySelector('.select-elevation input:checked');
+ const siblingMethod = `${el.classList.contains('up') ? 'previous' : 'next'}ElementSibling`;
+ let next = current;
+
+ do {
+ next = next[siblingMethod];
+ } while (next !== null && !next.matches('input'));
+
+ if (next) {
+ next.checked = true;
+ const event = new Event('change', { value: next.value });
+ next.dispatchEvent(event);
+ }
+}));
+
document.querySelectorAll('[name="select-elevation"]').forEach(el => {
el.addEventListener('change', function (e) {
document.querySelector('object').contentDocument.querySelector('.gameboard').dataset.viewElevation = this.value;
--
cgit v1.2.3