From 86bace16d0395c688a60b9acde6df861f5455ed5 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Fri, 21 Apr 2023 23:46:06 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20(task=20record)=20task=20record?= =?UTF-8?q?=20duration=20depends=20on=20step=20record=20durations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/record/hooks/useTaskRecordMetadata.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/modules/record/hooks/useTaskRecordMetadata.ts b/src/modules/record/hooks/useTaskRecordMetadata.ts index 7aece08..216e8e8 100644 --- a/src/modules/record/hooks/useTaskRecordMetadata.ts +++ b/src/modules/record/hooks/useTaskRecordMetadata.ts @@ -5,13 +5,21 @@ import type { TaskRecord } from '../models/task-record' export const useTaskRecordMetadata = ( record: TaskRecord | Ref ) => { - const duration = computed(() => { + const taskDurations = computed(() => { const recordValue = isRef(record) ? record.value : record if (!recordValue?.end) { - return null + return [] } - return formatDiffInMinutes(recordValue.start, recordValue?.end) + const finishedTaskDurations = Object.values(recordValue.stepRecords) + .filter((record) => !!record.end) + .map((record) => formatDiffInMinutes(record.start, record.end!)) + + return finishedTaskDurations + }) + + const duration = computed(() => { + return taskDurations.value.reduce((a, b) => a + b, 0) }) return {