diff --git a/src_data/pages/settings.html b/src_data/pages/settings.html index 2240cac..2c36304 100644 --- a/src_data/pages/settings.html +++ b/src_data/pages/settings.html @@ -796,6 +796,10 @@ maxTemp: null }; + const hasNeedDecimationChart = () => { + return window.innerWidth <= 800; + } + const makeEquithermChart = () => { if (etChart == null) { const ctx = document.getElementById('etChart').getContext('2d'); @@ -830,6 +834,7 @@ }, options: { responsive: true, + resizeDelay: 500, parsing: false, interaction: { mode: 'nearest', @@ -850,7 +855,7 @@ display: false }, decimation: { - enabled: false, + enabled: hasNeedDecimationChart(), algorithm: 'lttb', samples: 30, threshold: 30 @@ -1202,9 +1207,8 @@ if (etChart) { etChart.resize(); - const decimation = window.innerWidth <= 800; - if (etChart.options.plugins.decimation.enabled != decimation) { - etChart.options.plugins.decimation.enabled = decimation; + if (etChart.options.plugins.decimation.enabled != hasNeedDecimationChart()) { + etChart.options.plugins.decimation.enabled = hasNeedDecimationChart(); etChart.update(); } } diff --git a/src_data/scripts/utils.js b/src_data/scripts/utils.js index d758a73..bb6a190 100644 --- a/src_data/scripts/utils.js +++ b/src_data/scripts/utils.js @@ -5,8 +5,13 @@ const setupForm = (formSelector, onResultCallback = null, noCastItems = []) => { } form.querySelectorAll('input').forEach(item => { - item.addEventListener('change', (e) => { - e.target.setAttribute('aria-invalid', !e.target.checkValidity()); + item.addEventListener('change', (event) => { + if (!event.target.checkValidity()) { + event.target.setAttribute('aria-invalid', true); + + } else if (event.target.hasAttribute('aria-invalid')) { + event.target.removeAttribute('aria-invalid'); + } }) }); @@ -650,7 +655,7 @@ const setRadioValue = (selector, value, parent = undefined) => { const checked = item.value == value; if (item.checked != checked) { item.checked = checked; - + setTimeout(() => { item.dispatchEvent(new Event("change")); }, 10);