-
Notifications
You must be signed in to change notification settings - Fork 0
/
background.js
84 lines (75 loc) · 2.29 KB
/
background.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
let entries = [];
let numPages = 0;
let currentPage = 0;
let exportStarted = false;
let settings = {
title: "name",
custom_title: "",
include_description: true,
include_working_status: true,
include_planned_leave_status: true
};
chrome.runtime.onMessage.addListener(
(message, _, sendResponse) => {
if (message.action == "exportStarted") {
exportStarted = true;
}
else if (message.action == "exportReset") {
resetExport();
}
else if (message.action === 'getStatus') {
returnStatus(sendResponse);
}
else if (message.action === 'updateStatus') {
updateStatus(message);
}
else if (message.action === 'getSettings') {
returnSettings(sendResponse);
}
else if (message.action === 'updateSettings') {
updateSettings(message);
}
}
);
function resetExport() {
entries = [];
numPages = 0;
currentPage = 0;
exportStarted = false;
}
function returnStatus(sendResponse) {
let status = {
numPages: numPages,
currentPage: currentPage,
exportStarted: exportStarted,
entries: entries
}
sendResponse(status);
}
function updateStatus(message) {
const newStatus = {
numPages: message.data.numPages,
currentPage: message.data.currentPage,
entriesInPage: message.data.entriesInPage
}
numPages = newStatus.numPages;
currentPage = newStatus.currentPage;
entries = entries.concat(newStatus.entriesInPage);
}
function returnSettings(sendResponse) {
sendResponse(settings);
}
function updateSettings(message) {
const newSettings = {
title: message.data.title,
custom_title: message.data.custom_title,
include_description: message.data.include_description,
include_working_status: message.data.include_working_status,
include_planned_leave_status: message.data.include_planned_leave_status
}
settings.title = newSettings.title;
settings.custom_title = newSettings.custom_title;
settings.include_description = newSettings.include_description;
settings.include_working_status = newSettings.include_working_status;
settings.include_planned_leave_status = newSettings.include_planned_leave_status;
}