/
popup.js
89 lines (86 loc) · 3.48 KB
/
popup.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
document.addEventListener("DOMContentLoaded", function () {
const enabled = document.getElementById("ogeEnabled");
const leaveGrayBorders = document.getElementById("ogeLeaveGrayBorders");
const onlyAdjacent = document.getElementById("ogeOnlyAdjacent");
const excludeThreads = document.getElementById("ogeExcludeThreads");
const groupedNumberTemplate = document.getElementById(
"ogeGroupedNumberTemplate"
);
const runHowOften = document.getElementById("ogeRunHowOften");
const matchOn = document.getElementById("ogeMatchOn");
const senderList = document.getElementById("ogeSenderList");
const subjectList = document.getElementById("ogeSubjectList");
const senderBlacklist = document.getElementById("ogeSenderBlacklist");
const subjectBlacklist = document.getElementById("ogeSubjectBlacklist");
// Load stored states or default to true or false
chrome.storage.sync.get(
{
enabled: true, // Default to enabled
leaveGrayBorders: true, // Default to enabled
onlyAdjacent: false, // Default to disabled
excludeThreads: false, // Default to disabled
groupedNumberTemplate: "({{n}}) -",
runHowOften: 2,
matchOn: "Sender & Subject",
senderList: "",
subjectList: "",
senderBlacklist: "",
subjectBlacklist: "",
},
function (items) {
enabled.checked = items.enabled;
leaveGrayBorders.checked = items.leaveGrayBorders;
onlyAdjacent.checked = items.onlyAdjacent;
excludeThreads.checked = items.excludeThreads;
groupedNumberTemplate.value = items.groupedNumberTemplate;
runHowOften.value = items.runHowOften;
matchOn.value = items.matchOn;
senderList.value = items.senderList;
subjectList.value = items.subjectList;
senderBlacklist.value = items.senderBlacklist;
subjectBlacklist.value = items.subjectBlacklist;
}
);
// Finish button
document
.getElementById("finish-button")
.addEventListener("click", function () {
window.close(); // This closes the popup
});
// Save states when checkboxes are clicked
enabled.addEventListener("change", function () {
chrome.storage.sync.set({ enabled: enabled.checked });
});
leaveGrayBorders.addEventListener("change", function () {
chrome.storage.sync.set({ leaveGrayBorders: leaveGrayBorders.checked });
});
onlyAdjacent.addEventListener("change", function () {
chrome.storage.sync.set({ onlyAdjacent: onlyAdjacent.checked });
});
excludeThreads.addEventListener("change", function () {
chrome.storage.sync.set({ excludeThreads: excludeThreads.checked });
});
groupedNumberTemplate.addEventListener("change", function () {
chrome.storage.sync.set({
groupedNumberTemplate: groupedNumberTemplate.value,
});
});
runHowOften.addEventListener("change", function () {
chrome.storage.sync.set({ runHowOften: runHowOften.value });
});
matchOn.addEventListener("change", function () {
chrome.storage.sync.set({ matchOn: matchOn.value });
});
senderList.addEventListener("change", function () {
chrome.storage.sync.set({ senderList: senderList.value });
});
subjectList.addEventListener("change", function () {
chrome.storage.sync.set({ subjectList: subjectList.value });
});
senderBlacklist.addEventListener("change", function () {
chrome.storage.sync.set({ senderBlacklist: senderBlacklist.value });
});
subjectBlacklist.addEventListener("change", function () {
chrome.storage.sync.set({ subjectBlacklist: subjectBlacklist.value });
});
});