This commit is contained in:
mup 2025-10-16 13:41:04 +02:00
parent 640b576841
commit 7fad2abc2e

View file

@ -386,13 +386,9 @@ export class TimeView implements Component<TimeViewAttributes> {
size = maxSize - eventShift - arrayIndexToGridIndex
}
size += 1
} else {
const myOriginalSize = 1
const arrayIndexToGridIndex = 1 + columnIndex
size = Math.max(Math.floor((maxSize - eventShift) / (numOfColumnsWithBlockers + myOriginalSize)) - arrayIndexToGridIndex, 1)
}
let i = columnIndex + 1
while (i < columnIndex + size) {
if (i >= allColumns.length) {
break
@ -405,14 +401,31 @@ export class TimeView implements Component<TimeViewAttributes> {
return !alreadyInBlockers && overlapRows
})
console.log(hasConflict, eventShift, i - columnIndex)
if (hasConflict.length > 0) {
size -= Math.abs(i - columnIndex)
i = columnIndex + 1
continue
size -= allColumns.length - i - 1
break
}
i++
}
} else {
const myOriginalSize = 1
const columnsWithConflict = allColumns.slice(columnIndex + 1).reduce((prev, column) => {
if (
Array.from(column.events.entries()).some(([evId, eventData]) => {
return eventData.rowStart < eventRowData.rowEnd && eventData.rowEnd > eventRowData.rowStart
})
) {
return prev + 1
}
return prev
}, 0)
size = Math.max(Math.floor((maxSize - eventShift) / (columnsWithConflict + myOriginalSize)), 1)
}
//iterate over blockers
for (const blockerGroup of this.blockingGroups.get(eventId) ?? []) {
for (const blocker of blockerGroup.keys()) {