Add events for the time settings changes

This commit is contained in:
Lawrence Hook
2023-03-19 08:41:10 -04:00
parent aa6ca7c71e
commit 9f34de7529
2 changed files with 22 additions and 8 deletions
+3 -1
View File
@@ -152,7 +152,9 @@ function populateOptions(SECTIONS, headerSettings, SETTING_VALUES) {
searchBar.addEventListener('input', onSearchInput); searchBar.addEventListener('input', onSearchInput);
const turnBackOn = document.getElementById('turn_back_on'); const turnBackOn = document.getElementById('turn_back_on');
turnBackOn.addEventListener('click', e => updateSetting('global_enable', true, { manual: true })); turnBackOn.addEventListener('click', e => {
updateSetting('global_enable', true, { manual: true });
});
if (SETTING_VALUES['menu_timer']) { if (SETTING_VALUES['menu_timer']) {
HTML.setAttribute('menu_timer_counting_down', ''); HTML.setAttribute('menu_timer_counting_down', '');
+19 -7
View File
@@ -21,8 +21,12 @@ POWER_OPTIONS.forEach(o => {
o.addEventListener('click', e => { o.addEventListener('click', e => {
const enabled = HTML.getAttribute('global_enable') === 'true'; const enabled = HTML.getAttribute('global_enable') === 'true';
const nextTimedChange = Date.now() + 60_000 * Number(minutes);
recordEvent('Timed Change', { enabled, minutes });
updateSetting('global_enable', !enabled); updateSetting('global_enable', !enabled);
updateSetting('nextTimedChange', Date.now() + 60_000 * Number(minutes)); updateSetting('nextTimedChange', nextTimedChange);
updateSetting('nextTimedValue', enabled); updateSetting('nextTimedValue', enabled);
}); });
}); });
@@ -86,6 +90,9 @@ OPEN_SCHEDULE_OPTION.addEventListener('click', e => {
}); });
RESUME_SCHEDULE_OPTION.addEventListener('click', e => { RESUME_SCHEDULE_OPTION.addEventListener('click', e => {
const scheduleIsActive = checkSchedule(cache['scheduleTimes'], cache['scheduleDays']); const scheduleIsActive = checkSchedule(cache['scheduleTimes'], cache['scheduleDays']);
recordEvent('Resume schedule', { scheduleIsActive });
updateSetting('global_enable', scheduleIsActive); updateSetting('global_enable', scheduleIsActive);
updateSetting('nextTimedChange', false); updateSetting('nextTimedChange', false);
}); });
@@ -93,7 +100,7 @@ RESUME_SCHEDULE_OPTION.addEventListener('click', e => {
// Schedule on/off // Schedule on/off
scheduleToggleContainer.addEventListener('click', e => { scheduleToggleContainer.addEventListener('click', e => {
const enabled = scheduleToggle.toggleAttribute('active'); const enabled = scheduleToggle.toggleAttribute('active');
updateSetting('schedule', enabled); updateSetting('schedule', enabled, { manual: true });
}); });
// Schedule times // Schedule times
@@ -104,7 +111,7 @@ SCHEDULE_TIMES.addEventListener('input', e => {
SCHEDULE_TIMES.toggleAttribute('invalid', !isValid); SCHEDULE_TIMES.toggleAttribute('invalid', !isValid);
if (!isValid) return; if (!isValid) return;
updateSetting('scheduleTimes', times); updateSetting('scheduleTimes', times, { manual: true });
}); });
// Schedule days // Schedule days
@@ -121,11 +128,12 @@ SCHEDULE_DAYS_OPTIONS.forEach(o => {
newDays = currentDays.filter(d => d.toLowerCase().trim() !== day); newDays = currentDays.filter(d => d.toLowerCase().trim() !== day);
} }
updateSetting('scheduleDays', newDays.filter(d => d !== '').join(',')) const newDaysStr = newDays.filter(d => d !== '').join(',');
updateSetting('scheduleDays', newDaysStr, { manual: true });
}); });
}); });
// Schdule preset options // Schedule preset options
TIME_PRESETS.forEach(node => { TIME_PRESETS.forEach(node => {
node.addEventListener('click', e => { node.addEventListener('click', e => {
const times = node.getAttribute('times'); const times = node.getAttribute('times');
@@ -141,9 +149,13 @@ DAY_PRESETS.forEach(node => {
// Logging toggle // Logging toggle
const LOG_ENABLE = document.getElementById('log-enable'); const LOG_ENABLE = document.getElementById('log-enable');
LOG_ENABLE.addEventListener('click', e => updateSetting('log_enabled', true)); LOG_ENABLE.addEventListener('click', e => {
updateSetting('log_enabled', true, { manual: true });
});
const LOG_DISABLE = document.getElementById('log-disable'); const LOG_DISABLE = document.getElementById('log-disable');
LOG_DISABLE.addEventListener('click', e => updateSetting('log_enabled', false)); LOG_DISABLE.addEventListener('click', e => {
updateSetting('log_enabled', false, { manual: true });
});
// Export settings // Export settings