forked from Stigmatoz/web-activity-time-tracker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcommon.js
More file actions
95 lines (81 loc) · 2.35 KB
/
common.js
File metadata and controls
95 lines (81 loc) · 2.35 KB
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
90
91
92
93
94
95
var RangeForDays = {
days2: 'days2',
days3: 'days3',
days4: 'days4',
days5: 'days5',
days6: 'days6',
days7: 'days7',
month1: 'month1',
month2: 'month2',
month3: 'month3'
};
var InactivityInterval = {
second30: 30,
second45: 45,
min1: 60,
min2: 120,
min5: 300,
min10: 600,
min20: 1200,
min30: 1800
};
var TypeListEnum = {
ToDay: 1,
All: 2,
ByDays: 3,
};
var STORAGE_TABS = 'tabs';
var SETTINGS_INTERVAL_INACTIVITY_DEFAULT = InactivityInterval.second30;
var SETTINGS_INTERVAL_CHECK_DEFAULT = 1000;
var SETTINGS_INTERVAL_SAVE_STORAGE_DEFAULT = 3000;
var SETTINGS_INTERVAL_CHECK_STORAGE_DEFAULT = 3000;
var SETTINGS_INTERVAL_RANGE_DEFAULT = RangeForDays.days7;
var SETTINGS_VIEW_TIME_IN_BADGE_DEFAULT = true;
var SETTINGS_INTERVAL_INACTIVITY = 'inactivity_interval';
var SETTINGS_INTERVAL_SAVE_STORAGE = 'interval_save_in_storage';
var SETTINGS_INTERVAL_RANGE = 'range_days';
var SETTINGS_VIEW_TIME_IN_BADGE = 'view_time_in_badge';
function isEmpty(obj) {
for (var prop in obj) {
if (obj.hasOwnProperty(prop))
return false;
}
return JSON.stringify(obj) === JSON.stringify({});
}
function convertSummaryTimeToBadgeString(summaryTime) {
var sec = (summaryTime);
var min = (summaryTime / 60).toFixed(0);
var hours = (summaryTime / (60 * 60)).toFixed(0);
var days = (summaryTime / (60 * 60 * 24)).toFixed(0);
if (sec < 60) {
return sec + "s";
} else if (min < 60) {
return min + "m";
} else if (hours < 24) {
return hours + "h";
} else {
return days + "d"
}
}
function convertSummaryTimeToString(summaryTime) {
var days = Math.floor(summaryTime / 3600 / 24);
var totalHours = summaryTime % (3600 * 24);
var hours = Math.floor(totalHours / 3600);
var totalSeconds = summaryTime % 3600;
var mins = Math.floor(totalSeconds / 60);
var seconds = totalSeconds % 60;
hours = zeroAppend(hours);
mins = zeroAppend(mins);
seconds = zeroAppend(seconds);
if (days > 0)
return days + 'd ' + hours + 'h ' + mins + 'm ' + seconds + 's';
else return hours + 'h ' + mins + 'm ' + seconds + 's';
}
function zeroAppend(time) {
if (time < 10)
return '0' + time;
else return time;
}
function isDateInRange(date, range){
return date >= range.from && date <= range.to;
}