]>
git.wh0rd.org - chrome-ext/tabs-backup.git/blob - options.js
e014be8c154196c7fc444b5b9807ddb9d7ed3856
2 document
.addEventListener('DOMContentLoaded', function () {
4 document
.querySelector('#saveBtn').addEventListener('click', saveOptions
);
5 document
.querySelector('#restoreDefaultBtn').addEventListener('click', restoreToDefault
);
7 ['light', 'system', 'dark'].forEach((theme
) => {
8 document
.getElementById(`theme-${theme}`).addEventListener('click', setThemeClick
);
11 //document.querySelector('body').addEventListener('click', restoreOptions);
14 function getSelectValue (selectId
) {
15 var select
= document
.getElementById(selectId
);
16 var value
= select
.children
[select
.selectedIndex
].value
;
21 function setSelectValue (selectId
, value
) {
22 var select
= document
.getElementById(selectId
);
23 for (var i
= 0; i
< select
.children
.length
; i
++) {
24 var child
= select
.children
[i
];
25 if (child
.value
== value
) {
26 child
.selected
= "true";
32 function setThemeClick() {
33 const theme
= this.textContent
.toLowerCase();
38 function setThemeValue(value
) {
39 const element
= document
.getElementById('prefsTheme');
48 element
.value
= value
;
50 ['light', 'system', 'dark'].forEach((theme
) => {
51 document
.getElementById(`theme-${theme}`).className
=
52 value
== theme
? 'selected' : '';
56 function saveOptions () {
57 var backupPeriodMinutes
= getSelectValue("prefsSelectBackupPeriod");
58 localStorage
.prefsBackupTimer
= backupPeriodMinutes
;
60 var backupMaxItems
= getSelectValue("prefsSelectMaxBackups");
61 localStorage
.prefsMaxBackupItems
= backupMaxItems
;
63 var theme
= document
.getElementById('prefsTheme').value
;
64 localStorage
.prefsTheme
= theme
;
66 // Re-initialize the backup alarm
67 chrome
.runtime
.getBackgroundPage((bg
) => bg
.initAlarm());
69 // Update status to let user know options were saved.
70 var status
= document
.getElementById("statusDiv");
71 status
.innerHTML
= "Options Saved";
72 setTimeout(function() {
73 status
.innerHTML
= "";
77 function restoreToDefault() {
78 // those values are also set in background.js..
79 setSelectValue ("prefsSelectBackupPeriod", "5");
80 setSelectValue ("prefsSelectMaxBackups", "30");
81 setThemeValue("system");
86 function restoreOptions() {
87 var backupPeriodMinutes
= localStorage
.prefsBackupTimer
;
88 var backupMaxItems
= localStorage
.prefsMaxBackupItems
;
89 var theme
= localStorage
.prefsTheme
;
91 setSelectValue ("prefsSelectBackupPeriod", backupPeriodMinutes
);
92 setSelectValue ("prefsSelectMaxBackups", backupMaxItems
);