]> git.wh0rd.org - chrome-ext/tabs-backup.git/blame - options.js
initial import 0.2.1
[chrome-ext/tabs-backup.git] / options.js
CommitLineData
70c1267e
MF
1
2document.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
10function getSelectValue (selectId) {
11 var select = document.getElementById(selectId);
12 var value = select.children[select.selectedIndex].value;
13
14 return value;
15}
16
17function 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
28function 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.extension.getBackgroundPage().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
46function restoreToDefault() {
47 // those values are also set in background.js..
48 setSelectValue ("prefsSelectBackupPeriod", "5");
49 setSelectValue ("prefsSelectMaxBackups", "30");
50
51 saveOptions();
52}
53
54function restoreOptions() {
55 var backupPeriodMinutes = localStorage.prefsBackupTimer;
56 var backupMaxItems = localStorage.prefsMaxBackupItems;
57
58 setSelectValue ("prefsSelectBackupPeriod", backupPeriodMinutes);
59 setSelectValue ("prefsSelectMaxBackups", backupMaxItems);
60}