Skip to content

Commit 4e2e67f

Browse files
committed
Small refact using date
- use the current date from only one point - small optimization of data loading with counters - usу localDateString() to export to csv
1 parent 600906d commit 4e2e67f

File tree

6 files changed

+37
-39
lines changed

6 files changed

+37
-39
lines changed

src/scripts/activity.js

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@ class Activity {
4949
if (setting_restriction_list !== undefined && setting_restriction_list.length > 0) {
5050
var item = setting_restriction_list.find(o => isDomainEquals(extractHostname(o.domain), extractHostname(domain)));
5151
if (item !== undefined) {
52-
var today = new Date().toLocaleDateString("en-US");
53-
var data = tab.days.find(x => x.date == today);
52+
var data = tab.days.find(x => x.date == todayLocalDate());
5453
if (data !== undefined) {
5554
var todayTimeUse = data.summary;
5655
if (todayTimeUse >= item.time) {
@@ -117,25 +116,25 @@ class Activity {
117116
}
118117

119118
addTimeInterval(domain) {
120-
var item = timeIntervalList.find(o => o.domain === domain && o.day == new Date().toLocaleDateString("en-US"));
119+
var item = timeIntervalList.find(o => o.domain === domain && o.day == todayLocalDate());
121120
if (item != undefined) {
122-
if (item.day == new Date().toLocaleDateString("en-US"))
121+
if (item.day == todayLocalDate())
123122
item.addInterval();
124123
else {
125-
var newInterval = new TimeInterval(new Date().toLocaleDateString("en-US"), domain);
124+
var newInterval = new TimeInterval(todayLocalDate(), domain);
126125
newInterval.addInterval();
127126
timeIntervalList.push(newInterval);
128127
}
129128
} else {
130-
var newInterval = new TimeInterval(new Date().toLocaleDateString("en-US"), domain);
129+
var newInterval = new TimeInterval(todayLocalDate(), domain);
131130
newInterval.addInterval();
132131
timeIntervalList.push(newInterval);
133132
}
134133
}
135134

136135
closeIntervalForCurrentTab() {
137136
if (currentTab !== '' && timeIntervalList != undefined) {
138-
var item = timeIntervalList.find(o => o.domain === currentTab && o.day == new Date().toLocaleDateString("en-US"));
137+
var item = timeIntervalList.find(o => o.domain === currentTab && o.day == todayLocalDate());
139138
if (item != undefined)
140139
item.closeInterval();
141140
}
@@ -146,7 +145,7 @@ class Activity {
146145
if (setting_notification_list !== undefined && setting_notification_list.length > 0) {
147146
var item = setting_notification_list.find(o => isDomainEquals(extractHostname(o.domain), extractHostname(domain)));
148147
if (item !== undefined) {
149-
var today = new Date().toLocaleDateString("en-US");
148+
var today = todayLocalDate();
150149
var data = tab.days.find(x => x.date == today);
151150
if (data !== undefined) {
152151
var todayTimeUse = data.summary;

src/scripts/background.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,7 @@ function mainTRacker(activeUrl, tab, activeTab) {
8080
}
8181
if (setting_view_in_badge === true) {
8282
chrome.browserAction.setBadgeBackgroundColor({ color: '#1aa1434d' })
83-
var today = new Date().toLocaleDateString("en-US");
84-
var summary = tab.days.find(s => s.date === today).summary;
83+
var summary = tab.days.find(s => s.date === todayLocalDate()).summary;
8584
chrome.browserAction.setBadgeText({
8685
tabId: activeTab.id,
8786
text: String(convertSummaryTimeToBadgeString(summary))
@@ -296,7 +295,7 @@ function deleteTimeIntervalFromTabs() {
296295
}
297296

298297
function deleteYesterdayTimeInterval() {
299-
timeIntervalList = timeIntervalList.filter(x => x.day == new Date().toLocaleDateString("en-US"));
298+
timeIntervalList = timeIntervalList.filter(x => x.day == todayLocalDate());
300299
}
301300

302301
function loadBlackList() {

src/scripts/common.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,4 +230,8 @@ function treatAsUTC(date) {
230230
function daysBetween(startDate, endDate) {
231231
var millisecondsPerDay = 24 * 60 * 60 * 1000;
232232
return ((treatAsUTC(endDate) - treatAsUTC(startDate)) / millisecondsPerDay) + 1;
233+
}
234+
235+
function todayLocalDate(){
236+
return new Date().toLocaleDateString('en-US');
233237
}

src/scripts/settings.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ function toCsv(tabsData) {
295295
var str = 'domain,date,time(sec)\r\n';
296296
for (var i = 0; i < tabsData.length; i++) {
297297
for (var y = 0; y < tabsData[i].days.length; y++) {
298-
var line = tabsData[i].url + ',' + tabsData[i].days[y].date + ',' + tabsData[i].days[y].summary;
298+
var line = tabsData[i].url + ',' + new Date(tabsData[i].days[y].date).toLocaleDateString() + ',' + tabsData[i].days[y].summary;
299299
str += line + '\r\n';
300300
}
301301
}

src/scripts/tab.js

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,29 +20,24 @@ class Tab {
2020

2121
incSummaryTime() {
2222
this.summaryTime += 1;
23-
24-
var today = new Date().toLocaleDateString("en-US");
25-
var day = this.days.find(x => x.date == today);
23+
var day = this.days.find(x => x.date == todayLocalDate());
2624
if (day === undefined) {
27-
this.addNewDay(today);
25+
this.addNewDay(todayLocalDate());
2826
}
2927
else {
3028
day['summary'] += 1;
3129
}
3230
}
3331

3432
getTodayTime(){
35-
var today = new Date().toLocaleDateString("en-US");
36-
return this.days.find(x => x.date == today).summary;
33+
return this.days.find(x => x.date == todayLocalDate()).summary;
3734
}
3835

3936
incCounter(){
4037
this.counter +=1;
41-
42-
var today = new Date().toLocaleDateString("en-US");
43-
var day = this.days.find(x => x.date == today);
38+
var day = this.days.find(x => x.date == todayLocalDate());
4439
if (day === undefined) {
45-
this.addNewDay(today);
40+
this.addNewDay(todayLocalDate());
4641
}
4742
else {
4843
day['counter'] += 1;

src/scripts/webact.js

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ var totalTime, averageTime;
77
var tabsFromStorage;
88
var targetTabs;
99
var currentTypeOfList;
10-
var today = new Date().toLocaleDateString("en-US");
1110
var setting_range_days;
1211
var setting_dark_mode;
1312
var restrictionList;
@@ -202,11 +201,11 @@ function getTabsFromStorage(tabs) {
202201
counterOfSite = tabs.length;
203202
}
204203
if (currentTypeOfList === TypeListEnum.ToDay) {
205-
targetTabs = tabs.filter(x => x.days.find(s => s.date === today));
204+
targetTabs = tabs.filter(x => x.days.find(s => s.date === todayLocalDate()));
206205
counterOfSite = targetTabs.length;
207206
if (targetTabs.length > 0) {
208207
targetTabs = targetTabs.sort(function (a, b) {
209-
return b.days.find(s => s.date === today).summary - a.days.find(s => s.date === today).summary;
208+
return b.days.find(s => s.date === todayLocalDate()).summary - a.days.find(s => s.date === todayLocalDate()).summary;
210209
});
211210

212211
totalTime = getTotalTime(targetTabs);
@@ -230,9 +229,10 @@ function getTabsFromStorage(tabs) {
230229
var summaryTime;
231230
var counter;
232231
if (currentTypeOfList === TypeListEnum.ToDay) {
233-
summaryTime = targetTabs[i].days.find(x => x.date == today).summary;
234-
if (targetTabs[i].days.find(x => x.date == today))
235-
counter = targetTabs[i].days.find(x => x.date == today).counter;
232+
summaryTime = targetTabs[i].days.find(x => x.date == todayLocalDate()).summary;
233+
let item = targetTabs[i].days.find(x => x.date == todayLocalDate());
234+
if (item != null)
235+
counter = item.counter;
236236
}
237237
if (currentTypeOfList === TypeListEnum.All) {
238238
summaryTime = targetTabs[i].summaryTime;
@@ -263,7 +263,7 @@ function getTabsForTimeChart(timeIntervals) {
263263
var resultArr = [];
264264
if (timeIntervals != undefined) {
265265
timeIntervals.forEach(function (data) {
266-
if (data.day == today) {
266+
if (data.day == todayLocalDate()) {
267267
data.intervals.forEach(function (interval) {
268268
resultArr.push({ 'domain': data.domain, 'interval': interval });
269269
});
@@ -300,9 +300,10 @@ function getTabsFromStorageForExpander(tabs) {
300300
var summaryTime;
301301
var counter;
302302
if (currentTypeOfList === TypeListEnum.ToDay) {
303-
summaryTime = targetTabs[i].days.find(x => x.date == today).summary;
304-
if (targetTabs[i].days.find(x => x.date == today))
305-
counter = targetTabs[i].days.find(x => x.date == today).counter;
303+
summaryTime = targetTabs[i].days.find(x => x.date == todayLocalDate()).summary;
304+
let item = targetTabs[i].days.find(x => x.date == todayLocalDate());
305+
if (item != undefined)
306+
counter = item.counter;
306307
}
307308
if (currentTypeOfList === TypeListEnum.All) {
308309
summaryTime = targetTabs[i].summaryTime;
@@ -320,7 +321,7 @@ function getTabsFromStorageForExpander(tabs) {
320321
function getTotalTime(tabs) {
321322
var total;
322323
if (currentTypeOfList === TypeListEnum.ToDay) {
323-
var summaryTimeList = tabs.map(function (a) { return a.days.find(s => s.date === today).summary; });
324+
var summaryTimeList = tabs.map(function (a) { return a.days.find(s => s.date === todayLocalDate()).summary; });
324325
total = summaryTimeList.reduce(function (a, b) { return a + b; })
325326
}
326327
if (currentTypeOfList === TypeListEnum.All) {
@@ -410,7 +411,7 @@ function setStatData(array) {
410411
});
411412

412413
arrayAscByTimeWithoutCurrentDay = arrayAscByTime.filter(function (item) {
413-
return item.date != today;
414+
return item.date != todayLocalDate();
414415
})
415416

416417
arrayAscByTime = arrayAscByTime.sort(function (a, b) {
@@ -421,15 +422,15 @@ function setStatData(array) {
421422
return a.total - b.total;
422423
});
423424

424-
stat.inActiveDay = new Date(arrayAscByTime[0].date).toLocaleDateString('ru-RU');
425-
stat.activeDay = new Date(arrayAscByTime[arrayAscByTime.length - 1].date).toLocaleDateString('ru-RU');;
425+
stat.inActiveDay = new Date(arrayAscByTime[0].date).toLocaleDateString();
426+
stat.activeDay = new Date(arrayAscByTime[arrayAscByTime.length - 1].date).toLocaleDateString();;
426427
stat.inActiveDayTime = arrayAscByTime[0].total;
427428
stat.activeDayTime = arrayAscByTime[arrayAscByTime.length - 1].total;
428429

429430
//exclude current day from summary statistics
430431
if (arrayAscByTimeWithoutCurrentDay.length > 0) {
431-
stat.inActiveDayWithoutCurrentDay = new Date(arrayAscByTimeWithoutCurrentDay[0].date).toLocaleDateString('ru-RU');
432-
stat.activeDayWithoutCurrentDay = new Date(arrayAscByTimeWithoutCurrentDay[arrayAscByTimeWithoutCurrentDay.length - 1].date).toLocaleDateString('ru-RU');
432+
stat.inActiveDayWithoutCurrentDay = new Date(arrayAscByTimeWithoutCurrentDay[0].date).toLocaleDateString();
433+
stat.activeDayWithoutCurrentDay = new Date(arrayAscByTimeWithoutCurrentDay[arrayAscByTimeWithoutCurrentDay.length - 1].date).toLocaleDateString();
433434
stat.inActiveDayTimeWithoutCurrentDay = arrayAscByTimeWithoutCurrentDay[0].total;
434435
stat.activeDayTimeWithoutCurrentDay = arrayAscByTimeWithoutCurrentDay[arrayAscByTimeWithoutCurrentDay.length - 1].total;
435436
}
@@ -438,7 +439,7 @@ function setStatData(array) {
438439
stat.inActiveDayWithoutCurrentDay = 'No data';
439440
}
440441

441-
stat.firstDay = new Date(array[0]).toLocaleDateString('ru-RU');;
442+
stat.firstDay = new Date(array[0]).toLocaleDateString();;
442443
stat.activeDays = array.length;
443444
stat.averageTime = Math.round(totalTime / array.length);
444445
stat.totalDays = daysBetween(array[0], array[array.length - 1]);

0 commit comments

Comments
 (0)