]> git.wh0rd.org Git - chrome-ext/tabs-backup.git/blob - options.js
my customizations
[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 }