aboutsummaryrefslogtreecommitdiff
path: root/src/background.ts
diff options
context:
space:
mode:
authorDeterminant <ted.sybil@gmail.com>2019-02-14 00:00:35 -0500
committerDeterminant <ted.sybil@gmail.com>2019-02-14 00:00:35 -0500
commitb88894cd027d27b8fb7ab358128f52c6f24fbe0d (patch)
tree62c47a4685484d6165c039aba3631f1ecc12ec76 /src/background.ts
parent6ebb7f7ed0b603425c618bde9129ad09b1308c4e (diff)
...
Diffstat (limited to 'src/background.ts')
-rw-r--r--src/background.ts38
1 files changed, 20 insertions, 18 deletions
diff --git a/src/background.ts b/src/background.ts
index 2a23b57..fbae2b6 100644
--- a/src/background.ts
+++ b/src/background.ts
@@ -1,22 +1,22 @@
import * as gapi from './gapi';
-import { msgType, Msg } from './msg';
-import { Duration } from './duration';
+import { MsgType, Msg } from './msg';
+import { Duration, TrackPeriod } from './duration';
import moment from 'moment';
-import { getChartData } from './Chart';
+import { GraphData, getGraphData } from './graph';
import { PatternEntry } from './pattern';
-let mainPatterns: number[] = [];
-let analyzePatterns = [];
-let calendars = {};
-let calData = {};
-let config = {
+let mainPatterns: PatternEntry[] = [];
+let analyzePatterns: PatternEntry[] = [];
+let calendars: {[id: string]: gapi.GCalendarMeta} = {};
+let calData: {[id: string]: gapi.GCalendar} = {};
+let config: TrackPeriod[] = {
trackedPeriods: [
{name: 'Today', start: Duration.days(1), end: Duration.days(0)},
{name: 'Yesterday', start: Duration.days(2), end: Duration.days(1)},
{name: 'This Week', start: Duration.weeks(1), end: Duration.weeks(0)},
{name: 'This Month', start: Duration.months(1), end: Duration.months(0)}]
};
-let mainGraphData = [];
+let mainGraphData: GraphData[] = [];
let dirtyMetadata = false;
function loadMetadata() {
@@ -107,7 +107,9 @@ function updateMainGraphData() {
end: e.end.getTime()
})))).then(results => {
mainGraphData[i] = {
- name: p.name, start, end,
+ name: p.name,
+ start: start.toDate(),
+ end: end.toDate(),
data: results.patternGraphData
};
}));
@@ -133,7 +135,7 @@ chrome.runtime.onConnect.addListener(function(port) {
let msg = Msg.inflate(_msg);
console.log(msg);
switch (msg.type) {
- case msgType.updatePatterns: {
+ case MsgType.updatePatterns: {
let patterns = msg.data.patterns.map(p => PatternEntry.inflate(p));
if (msg.data.id == 'analyze')
analyzePatterns = patterns;
@@ -143,7 +145,7 @@ chrome.runtime.onConnect.addListener(function(port) {
port.postMessage(msg.genResp(null));
break;
}
- case msgType.getPatterns: {
+ case MsgType.getPatterns: {
let patterns;
if (msg.data.id == 'analyze')
patterns = analyzePatterns;
@@ -152,13 +154,13 @@ chrome.runtime.onConnect.addListener(function(port) {
port.postMessage(msg.genResp(patterns.map(p => p.deflate())));
break;
}
- case msgType.updateCalendars: {
+ case MsgType.updateCalendars: {
calendars = msg.data;
dirtyMetadata = true;
port.postMessage(msg.genResp(null));
break;
}
- case msgType.getCalendars: {
+ case MsgType.getCalendars: {
let cals = calendars;
if (msg.data.enabledOnly)
{
@@ -169,7 +171,7 @@ chrome.runtime.onConnect.addListener(function(port) {
port.postMessage(msg.genResp(cals));
break;
}
- case msgType.getCalEvents: {
+ case MsgType.getCalEvents: {
getCalEvents(msg.data.id, msg.data.start, msg.data.end).then(data => {
console.log(data);
let resp = msg.genResp(data.map(e => {
@@ -184,7 +186,7 @@ chrome.runtime.onConnect.addListener(function(port) {
});
break;
}
- case msgType.updateConfig: {
+ case MsgType.updateConfig: {
config.trackedPeriods = msg.data.trackedPeriods.map(p => ({
name: p.name,
start: Duration.inflate(p.start),
@@ -194,13 +196,13 @@ chrome.runtime.onConnect.addListener(function(port) {
port.postMessage(msg.genResp(null));
break;
}
- case msgType.getConfig: {
+ case MsgType.getConfig: {
let res = {};
msg.data.forEach(prop => res[prop] = config[prop]);
port.postMessage(msg.genResp(res));
break;
}
- case msgType.getGraphData: {
+ case MsgType.getGraphData: {
(msg.data.sync ? updateMainGraphData() : Promise.resolve()).then(() => (
port.postMessage(msg.genResp(mainGraphData.map(d => ({
name: d.name,