cmtracker/assets/js/app/notes.js
Ryan Prather d51c67db3d up: notes.js
* Convert duration to hours/units
* Move calcTime method here
2025-02-09 18:08:32 -05:00

92 lines
2.7 KiB
JavaScript

export function filterNotes()
{
let referralId = document.getElementById('referralList').value;
let startDate = document.getElementById('startDate').value;
let endDate = document.getElementById('endDate').value;
let caseId = null;
if (referralId.substr(0, 5) == 'case-') {
caseId = referralId.substr(5);
referralId = null;
}
fetch('/api/filter-notes', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
'referral': referralId,
'startDate': startDate,
'endDate': endDate,
'case': caseId
})
})
.then(response => response.json())
.then(data => {
const noteList = document.getElementById('note-list');
noteList.innerHTML = '';
data.forEach(i => {
let duration = (parseInt(i.duration) / 60).toFixed(2);
noteList.innerHTML += `
<tr>
<td>${i.date}<br/>
${i.startTime}-${i.endTime} (${duration})</td>
<td class='text-center'>${i.location}</td>
<td class='text-center'>${i.method}</td>
<td'>${i.members}</td>
<td style='text-align: right;'>
<a href='/edit-note/${i.noteType}/${i.id}' class='text-secondary' title='Edit Note'>
<i class="material-symbols-rounded opacity-5">edit</i>
</a>
</td>
</tr>`;
})
});
}
export function calcTime(precision = 15) {
if (!document.getElementById('note_form_startTime').value || !document.getElementById('note_form_endTime').value) {
console.log('ending');
return;
}
let st = document.getElementById('note_form_startTime').value.split(':');
let et = document.getElementById('note_form_endTime').value.split(':');
let sd = new Date();
let ed = new Date();
sd.setHours(st[0]);
sd.setMinutes(st[1]);
sd.setSeconds(0);
ed.setHours(et[0]);
ed.setMinutes(et[1]);
ed.setSeconds(0);
let timediff = (ed.getTime() - sd.getTime()) / 1000;
let increments = (timediff / 60) / precision;
if (isFloat(increments)) {
let mod = (timediff / 60) % precision;
if (mod >= (precision / 2)) {
increments++;
}
increments = parseInt(increments);
}
document.getElementById('case-mins').value = (increments * precision)+' minutes';
document.getElementById('case-hours').value = ((increments * precision) / 60)+' hours';
}
export function autosaveNote()
{
}
export function checkNotes() {
}