Improve date parsing

This commit is contained in:
Daniel Triendl
2020-11-04 23:34:03 +01:00
parent 7db79afca2
commit ecb9097f5f
3 changed files with 27 additions and 25 deletions

View File

@@ -3532,7 +3532,7 @@ class call_history_CallHistory {
updateCallHistoryEntry(call, callerId) {
if (callerId.tD_NAME !== '') {
var span = call.querySelector('span');
this.showTimeManager(call, span.nextSibling.textContent, callerId);
this.showTimeManager(call, span.nextSibling.textContent.trim(), callerId);
var text = span.textContent;
span.textContent = callerId.tD_NAME;
var br = document.createElement('br');
@@ -3543,30 +3543,30 @@ class call_history_CallHistory {
span.parentNode.insertBefore(span2, span.nextSibling);
}
}
showTimeManager(call, time, callerId) {
showTimeManager(call, date, callerId) {
if (!callerId.tD_ID) {
return;
}
var timeParts = time.split(/, /);
var dateParts = date.match(/^(?<date>.*), (?<duration>[0-9]{2}:[0-9]{2}:[0-9]{2})$/);
var duration = '00:00:00';
if (timeParts.length >= 1) {
time = timeParts[0];
if (dateParts) {
date = dateParts.groups.date;
duration = dateParts.groups.duration;
}
if (timeParts.length >= 2) {
duration = timeParts[1];
}
var parsedDate = dist["de"].parseDate(time);
var parsedDate = dist["de"].parseDate(date);
if (!parsedDate) {
parsedDate = dist["parseDate"](time);
parsedDate = dist["parseDate"](date);
}
if (!parsedDate) {
return;
}
// Date parsing is awful, just assume the first number is the day of month
var day = date.match(/[0-9]+/)[0];
var parsedDuration = dist["parseDate"](duration);
console.log('TAPI call history time:', time, 'parsedDate:', parsedDate, 'duration:', duration, 'parsedDuration:', parsedDuration);
console.log('TAPI call history time:', date, 'parsedDate:', parsedDate, 'duration:', duration, 'parsedDuration:', parsedDuration);
var connect = parsedDate.getFullYear().toString() +
(parsedDate.getMonth() + 1).toString().padStart(2, '0') + // (January gives 0)
parsedDate.getDate().toString().padStart(2, '0') +
day.toString().padStart(2, '0') +
parsedDate.getHours().toString().padStart(2, '0') +
parsedDate.getMinutes().toString().padStart(2, '0');
var length = (parsedDuration.getHours() * 60 + parsedDuration.getMinutes()).toString();