implemented updating timetrack table on stopping/starting timetrack

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2025-11-21 21:18:08 +01:00
parent 0486289beb
commit 374f85ee1d
2 changed files with 15 additions and 1 deletions

View File

@@ -19,6 +19,7 @@
body : now()
});
if (resp.ok){
timetrack.stopped = await resp.json();
timetrack.running = null;
timetrack.elapsed = null;
timetrack.start = null;

View File

@@ -32,6 +32,14 @@
let selectionSum = $derived(sortedTimes.filter(time => selected[time.id]).map(time => time.duration).reduce((acc, a) => acc + a, 0));
let users = null;
$effect(() => {
if (timetrack.running) {
show(timetrack.running);
} else {
show(timetrack.stopped);
}
});
async function addTime(task_id){
const url = api(`time/track_task/${task_id}`);
const resp = await post(url,now()); // create new time or return time with assigned tasks
@@ -144,7 +152,6 @@
}
async function multi_update(changeSet){
console.log({ids:Object.keys(selected),patch:patch});
changeSet.ids = Object.keys(selected).map(id => +id);
const url = api('time');
const res = await patch(url,changeSet);
@@ -167,6 +174,11 @@
loadTimes();
}
function show(track){
if (times && track) times[track.id] = track;
}
function toggleRange(range){
let affected = sortedTimes.filter(time => time.start.startsWith(range));
if (ranges[range]){
@@ -214,6 +226,7 @@
<title>Umbrella {t('timetracking')}</title>
</svelte:head>
<h1>{t('timetracking')}</h1>
{#if times}
{#if selectionSum}