refactor: implement operations on nested events

This commit is contained in:
Carlos Valente
2025-04-17 09:36:22 +02:00
committed by arc-alex
parent 6fb42b989e
commit dd6d74121c
10 changed files with 257 additions and 139 deletions
@@ -29,7 +29,7 @@ export function makeRundownMetadata(selectedEventId: MaybeString) {
isNext: false,
isNextDay: false,
totalGap: 0,
isLinkedToLoaded: true,
isLinkedToLoaded: false,
isLoaded: false,
};
@@ -56,6 +56,7 @@ function processEntry(
processedData.isLoaded = false;
processedData.previousEntryId = processedData.thisId;
processedData.thisId = entry.id;
processedData.previousEvent = processedData.latestEvent;
if (entry.id === selectedEventId) {
processedData.isLoaded = true;
@@ -65,19 +66,18 @@ function processEntry(
if (isOntimeEvent(entry)) {
// event indexes are 1 based in UI
processedData.eventIndex += 1;
processedData.previousEvent = processedData.latestEvent;
if (isPlayableEvent(entry)) {
processedData.isNextDay = checkIsNextDay(entry, processedData.previousEvent);
processedData.totalGap += entry.gap;
if (!processedData.isPast) {
processedData.totalGap += entry.gap;
if (!processedData.isPast && !processedData.isLoaded) {
/**
* isLinkToLoaded is a chain value that we maintain until we find an unlinked event
* or we find a countToEnd event
* isLinkToLoaded is a chain value that we maintain until we
* a) find an unlinked event
* b) find a countToEnd event
*/
processedData.isLinkedToLoaded =
processedData.isLinkedToLoaded && entry.linkStart && !processedData.previousEvent?.countToEnd;
processedData.isLinkedToLoaded = entry.linkStart && !processedData.previousEvent?.countToEnd;
}
if (isNewLatest(entry, processedData.previousEvent)) {