const callDetailsModalContentDiv = document.getElementById('callDetailsModalContent'); const callDetailsModalContainerDiv = document.getElementById('callDetailsModalContainer'); var callDetailsModalEnable = true; var callDetailsModalFloatEnable = false; var callDetailAbsolutePositionX = window.innerWidth * 0.35; var callDetailAbsolutePositionY = window.innerHeight * 0.05; function drawActivityBar (canvas, callList, earliest_start, latest_end, groupName, tgId, markPlayedCalls=true) { const bgColor = '#000000'; var ctx = canvas.getContext('2d', {alpha: false}); ctx.imageSmoothingEnabled = false; ctx.fillStyle = bgColor; ctx.fillRect(0, 0, canvas.width, canvas.height); const timeScale = canvas.width / (latest_end - earliest_start); const invTimeScale = (latest_end - earliest_start) / canvas.width; for (var i=0; i= timePos) { matchingCall = callList[i]; break; } } if (matchingCall) { clc.updateHtml(abc.filteredCalls[groupName][tgId]); pbc.playCall(groupName, tgId, matchingCall['uuid']) } }); canvas.addEventListener('mousemove', function (event) { if (callDetailsModalEnable) { const mousePos = getMousePos(canvas, event); const timePos = parseInt(earliest_start + (mousePos.x * invTimeScale)); callDetailAbsolutePositionX = window.innerWidth * 0.35; callDetailAbsolutePositionY = window.innerHeight * 0.05; // find the matching call var matchingCall = undefined; for (var i=0; i= timePos) { matchingCall = callList[i]; break; } } if (matchingCall) { if (!callDetailsModalFloatEnable) { callDetailsModalContainerDiv.style.top = callDetailAbsolutePositionY + 'px'; callDetailsModalContainerDiv.style.left = callDetailAbsolutePositionX + 'px'; } else { callDetailsModalContainerDiv.style.top = (event.clientY + 20) + 'px'; callDetailsModalContainerDiv.style.left = event.clientX + 'px'; } var html = ''; html += 'Call Details

'; html += ''; html += ''; html += ''; html += ''; html += ''; html += ''; html += ''; html += '
Talker:' + matchingCall['talker_id'] + '
Talkgroup ID:' + matchingCall['tg_id'] + '
Talkgroup Name:' + matchingCall['tg_name'] + '
Talkgroup Tags:' + matchingCall['tg_tags'] + '
Span:' + matchingCall['nice_start'] + ' to ' + matchingCall['nice_end'] + '
Transcription:' + matchingCall['transcription'] + '
'; callDetailsModalContentDiv.innerHTML = html; callDetailsModalContainerDiv.style.display = 'block'; } else { callDetailsModalContainerDiv.style.display = 'none'; } } } ) } function getMousePos (canvas, evt) { var rect = canvas.getBoundingClientRect(); return { x: evt.clientX - rect.left, y: evt.clientY - rect.top } }