]>
git.wh0rd.org - chrome-ext/tabs-backup.git/blob - options.js
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 chrome
.storage
.local
.set({
58 prefs_backup_timer
: parseInt(getSelectValue("prefsSelectBackupPeriod")),
59 prefs_max_backup_items
: parseInt(getSelectValue("prefsSelectMaxBackups")),
60 prefs_theme
: document
.getElementById('prefsTheme').value
,
63 // Re-initialize the backup alarm
64 chrome
.runtime
.sendMessage({action
: 'initAlarm'});
66 // Update status to let user know options were saved.
67 var status
= document
.getElementById("statusDiv");
68 status
.innerHTML
= "Options Saved";
69 setTimeout(function() {
70 status
.innerHTML
= "";
74 function restoreToDefault() {
75 // those values are also set in background.js..
76 setSelectValue ("prefsSelectBackupPeriod", "5");
77 setSelectValue ("prefsSelectMaxBackups", "30");
78 setThemeValue("system");
83 function restoreOptions() {
84 chrome
.storage
.local
.get(function(items
) {
85 setSelectValue("prefsSelectBackupPeriod", items
.prefs_backup_timer
);
86 setSelectValue("prefsSelectMaxBackups", items
.prefs_max_backup_items
);
87 setThemeValue(items
.prefs_theme
);