Skip to content
Snippets Groups Projects
Commit 97457392 authored by Konrad Mohrfeldt's avatar Konrad Mohrfeldt :fist:
Browse files

feat: indicate if relativeStartTime is not in order

parent 777e6e12
Branches
Tags
No related merge requests found
......@@ -17,6 +17,7 @@
:item="item"
:top-offset="top"
:calculated-start-time="calculateStartTime(index)"
:class="{ '!tw-text-rose-600': !!sequenceItemWithInvalidTimesMap[item.id] }"
@update:relative-start-time="updateSequenceItem(item.id, 'relativeStartTime', $event)"
/>
</template>
......@@ -121,6 +122,19 @@ const { batch, clear, pause, resume, commit, undo, undoStack, redo, redoStack }
})
const sequenceItemElements = useTemplateRefsList<typeof AContentSequenceItem>()
const uniqueSequenceItemElements = computed(() => sequenceItemElements.value.filter(unique))
const sequenceItemWithInvalidTimesMap = computed(() => {
const itemsWithInvalidTime = []
let lastTime = 0
for (const item of sequenceItems.value) {
if (item.relativeStartTime === null) continue
const itemTime = parseTime(item.relativeStartTime)
if (itemTime < lastTime) {
itemsWithInvalidTime.push(item)
}
lastTime = itemTime
}
return Object.fromEntries(itemsWithInvalidTime.map((item) => [item.id, item]))
})
function calculateStartTime(index: number): string {
const items = uniqueSequenceItemElements.value.slice(0, index)
......
<template>
<li
class="tw-absolute tw-max-w-full tw-left-0 tw-z-10 tw-group"
class="tw-absolute tw-max-w-full tw-left-0 tw-z-10 tw-group tw-text-gray-700"
:class="{ 'tw-transition-transform': isReady }"
:style="{ transform: `translateY(${item.position.top - topOffset}px)` }"
>
......@@ -28,9 +28,9 @@
@edit="isEditingStartTime = true"
>
<template #not-editing-pre>
<span class="tw-text-sm tw-font-bold tw-text-gray-700">{{
item.relativeStartTime ?? calculatedStartTime
}}</span>
<span class="tw-text-sm tw-font-bold">
{{ item.relativeStartTime ?? calculatedStartTime }}
</span>
</template>
<input
ref="relativeStartTimeInput"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment