]> git.wh0rd.org - chrome-ext/tabs-backup.git/blob - options.js
add extended window/tab details to restore page
[chrome-ext/tabs-backup.git] / options.js
1
2 document.addEventListener('DOMContentLoaded', function () {
3 restoreOptions();
4 document.querySelector('#saveBtn').addEventListener('click', saveOptions);
5 document.querySelector('#restoreDefaultBtn').addEventListener('click', restoreToDefault);
6
7 //document.querySelector('body').addEventListener('click', restoreOptions);
8 });
9
10 function getSelectValue (selectId) {
11 var select = document.getElementById(selectId);
12 var value = select.children[select.selectedIndex].value;
13
14 return value;
15 }
16
17 function setSelectValue (selectId, value) {
18 var select = document.getElementById(selectId);
19 for (var i = 0; i < select.children.length; i++) {
20 var child = select.children[i];
21 if (child.value == value) {
22 child.selected = "true";
23 break;
24 }
25 }
26 }
27
28 function saveOptions () {
29 var backupPeriodMinutes = getSelectValue("prefsSelectBackupPeriod");
30 localStorage.prefsBackupTimer = backupPeriodMinutes;
31
32 var backupMaxItems = getSelectValue("prefsSelectMaxBackups");
33 localStorage.prefsMaxBackupItems = backupMaxItems;
34
35 // Re-initialize the backup alarm
36 chrome.runtime.getBackgroundPage((bg) => bg.initAlarm());
37
38 // Update status to let user know options were saved.
39 var status = document.getElementById("statusDiv");
40 status.innerHTML = "Options Saved";
41 setTimeout(function() {
42 status.innerHTML = "";
43 }, 3000);
44 }
45
46 function restoreToDefault() {
47 // those values are also set in background.js..
48 setSelectValue ("prefsSelectBackupPeriod", "5");
49 setSelectValue ("prefsSelectMaxBackups", "30");
50
51 saveOptions();
52 }
53
54 function restoreOptions() {
55 var backupPeriodMinutes = localStorage.prefsBackupTimer;
56 var backupMaxItems = localStorage.prefsMaxBackupItems;
57
58 setSelectValue ("prefsSelectBackupPeriod", backupPeriodMinutes);
59 setSelectValue ("prefsSelectMaxBackups", backupMaxItems);
60 }