Merge remote-tracking branch 'origin'
This commit is contained in:
@@ -3,7 +3,9 @@
|
|||||||
import { useTinyRouter } from 'svelte-tiny-router';
|
import { useTinyRouter } from 'svelte-tiny-router';
|
||||||
import { api } from '../../urls.svelte.js';
|
import { api } from '../../urls.svelte.js';
|
||||||
import { t } from '../../translations.svelte.js';
|
import { t } from '../../translations.svelte.js';
|
||||||
|
import { timetrack } from '../../user.svelte.js';
|
||||||
import { display } from '../../time.svelte.js';
|
import { display } from '../../time.svelte.js';
|
||||||
|
import { now } from '../../time.svelte';
|
||||||
|
|
||||||
import TimeEditor from '../../Components/TimeRecordEditor.svelte';
|
import TimeEditor from '../../Components/TimeRecordEditor.svelte';
|
||||||
|
|
||||||
@@ -25,6 +27,21 @@
|
|||||||
let timeMap = $derived.by(calcYearMap);
|
let timeMap = $derived.by(calcYearMap);
|
||||||
let selectionSum = $derived(sortedTimes.filter(time => selected[time.id]).map(time => time.duration).reduce((acc, a) => acc + a, 0));
|
let selectionSum = $derived(sortedTimes.filter(time => selected[time.id]).map(time => time.duration).reduce((acc, a) => acc + a, 0));
|
||||||
|
|
||||||
|
async function addTime(task_id){
|
||||||
|
const url = api(`time/track_task/${task_id}`);
|
||||||
|
const resp = await fetch(url,{
|
||||||
|
credentials : 'include',
|
||||||
|
method : 'POST',
|
||||||
|
body : now()
|
||||||
|
}); // create new time or return time with assigned tasks
|
||||||
|
if (resp.ok) {
|
||||||
|
const track = await resp.json();
|
||||||
|
timetrack.running = track;
|
||||||
|
} else {
|
||||||
|
error = await resp.text();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function calcYearMap(){
|
function calcYearMap(){
|
||||||
let result = {
|
let result = {
|
||||||
months : {},
|
months : {},
|
||||||
@@ -230,7 +247,7 @@
|
|||||||
<td class="subject" onclick={e => {detail = time.id}}>
|
<td class="subject" onclick={e => {detail = time.id}}>
|
||||||
{time.subject}
|
{time.subject}
|
||||||
</td>
|
</td>
|
||||||
<td class="tasks" onclick={e => {detail = time.id}}>
|
<td class="tasks">
|
||||||
<ul>
|
<ul>
|
||||||
{#each time.task_ids as tid}
|
{#each time.task_ids as tid}
|
||||||
{#if tasks[tid]}
|
{#if tasks[tid]}
|
||||||
@@ -239,6 +256,7 @@
|
|||||||
<a href="/project/{tasks[tid].project_id}/view" {onclick}>{projects[tasks[tid].project_id].name}</a> /
|
<a href="/project/{tasks[tid].project_id}/view" {onclick}>{projects[tasks[tid].project_id].name}</a> /
|
||||||
{/if}
|
{/if}
|
||||||
<a href="/task/{tid}/view" {onclick}>{tasks[tid].name}</a>
|
<a href="/task/{tid}/view" {onclick}>{tasks[tid].name}</a>
|
||||||
|
<button class="symbol" title={t('timetracking')} onclick={e => addTime(tid)}></button>
|
||||||
</li>
|
</li>
|
||||||
{/if}
|
{/if}
|
||||||
{/each}
|
{/each}
|
||||||
|
|||||||
Reference in New Issue
Block a user