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);
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']) {
HTML.setAttribute('menu_timer_counting_down', '');
+19 -7
View File
@@ -21,8 +21,12 @@ POWER_OPTIONS.forEach(o => {
o.addEventListener('click', e => {
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('nextTimedChange', Date.now() + 60_000 * Number(minutes));
updateSetting('nextTimedChange', nextTimedChange);
updateSetting('nextTimedValue', enabled);
});
});
@@ -86,6 +90,9 @@ OPEN_SCHEDULE_OPTION.addEventListener('click', e => {
});
RESUME_SCHEDULE_OPTION.addEventListener('click', e => {
const scheduleIsActive = checkSchedule(cache['scheduleTimes'], cache['scheduleDays']);
recordEvent('Resume schedule', { scheduleIsActive });
updateSetting('global_enable', scheduleIsActive);
updateSetting('nextTimedChange', false);
});
@@ -93,7 +100,7 @@ RESUME_SCHEDULE_OPTION.addEventListener('click', e => {
// Schedule on/off
scheduleToggleContainer.addEventListener('click', e => {
const enabled = scheduleToggle.toggleAttribute('active');
updateSetting('schedule', enabled);
updateSetting('schedule', enabled, { manual: true });
});
// Schedule times
@@ -104,7 +111,7 @@ SCHEDULE_TIMES.addEventListener('input', e => {
SCHEDULE_TIMES.toggleAttribute('invalid', !isValid);
if (!isValid) return;
updateSetting('scheduleTimes', times);
updateSetting('scheduleTimes', times, { manual: true });
});
// Schedule days
@@ -121,11 +128,12 @@ SCHEDULE_DAYS_OPTIONS.forEach(o => {
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 => {
node.addEventListener('click', e => {
const times = node.getAttribute('times');
@@ -141,9 +149,13 @@ DAY_PRESETS.forEach(node => {
// Logging toggle
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');
LOG_DISABLE.addEventListener('click', e => updateSetting('log_enabled', false));
LOG_DISABLE.addEventListener('click', e => {
updateSetting('log_enabled', false, { manual: true });
});
// Export settings