@@ -305,7 +305,8 @@ export function calculateTimeSlotPropertiesForView(
305305 "minutes" ,
306306 )
307307 if ( oneDayMinutes === 0 ) {
308- const endOfDay = dayjs ( ) . endOf ( "day" )
308+ // I set it on purpose to 23h 59min
309+ /*const endOfDay = dayjs().endOf("day")
309310 endHour = endOfDay.hour()
310311 endMinute = endOfDay.minute()
311312 oneDayMinutes = endOfDay.diff(
@@ -314,7 +315,8 @@ export function calculateTimeSlotPropertiesForView(
314315 .add(startHour, "hours")
315316 .add(endHour, "minutes"),
316317 "minutes",
317- )
318+ )*/
319+ oneDayMinutes = 24 * 60
318320 }
319321
320322 const timeFrameDay : TimeFrameDay = Object . freeze ( {
@@ -325,28 +327,6 @@ export function calculateTimeSlotPropertiesForView(
325327 oneDayMinutes,
326328 } )
327329
328- // how many minutes has 1 time slot
329- const unitDays = dayjs ( )
330- . startOf ( "day" )
331- . add ( 1 , unit )
332- . diff ( dayjs ( ) . startOf ( "day" ) , "days" )
333- //const timeSlotMinutes = unitDays * oneDayMinutes
334- let timeSlotMinutes = timeStepsMinute
335- switch ( viewType ) {
336- case "days" : {
337- timeSlotMinutes = oneDayMinutes
338- break
339- }
340- case "weeks" : {
341- timeSlotMinutes = 6 * 24 * 60 + oneDayMinutes
342- break
343- }
344- case "months" : {
345- timeSlotMinutes = 29 * 24 * 60 + oneDayMinutes
346- break
347- }
348- }
349-
350330 return Object . freeze ( {
351331 timeFrameDay,
352332 slotsArray,
@@ -422,24 +402,34 @@ export function getLeftAndWidth(
422402
423403 if ( itemModEnd . isAfter ( timeFrameEndEnd ) ) {
424404 itemModEnd = timeFrameEndEnd
425- } else if ( item . endDate . hour ( ) === 0 && item . endDate . minute ( ) === 0 ) {
405+ // } else if (item.endDate.hour() === 0 && item.endDate.minute() === 0) {
426406 //itemModEnd = itemModEnd.subtract(1, "second") // this is a hack to make the end time of the day inclusive
427407 //console.log("HACK APPLIED", itemModEnd)
428- // itemModEnd = timeFrameEndEnd
429- // .startOf("day")
430- // .add(timeFrameDay.endHour, "hour")
431- // .add(timeFrameDay.endMinute, "minutes")
408+ itemModEnd = timeFrameEndEnd
409+ . startOf ( "day" )
410+ . add ( timeFrameDay . endHour , "hour" )
411+ . add ( timeFrameDay . endMinute , "minutes" )
432412 } else if (
433- item . endDate . hour ( ) > timeFrameDay . endHour ||
413+ ( ( timeFrameDay . endHour > timeFrameDay . startHour ||
414+ ( timeFrameDay . endHour === timeFrameDay . startHour &&
415+ timeFrameDay . endMinute > timeFrameDay . startMinute ) ) &&
416+ item . endDate . hour ( ) > timeFrameDay . endHour ) ||
434417 ( item . endDate . hour ( ) === timeFrameDay . endHour &&
435418 item . endDate . minute ( ) > timeFrameDay . endMinute )
436419 ) {
437- if ( timeFrameDay . endHour !== 0 && timeFrameDay . endMinute !== 0 ) {
438- console . log ( "WARG" , item , itemModEnd , timeFrameDay )
439- itemModEnd = itemModEnd
440- . startOf ( "day" )
441- . add ( timeFrameDay . endHour , "hour" )
442- . add ( timeFrameDay . endMinute , "minutes" )
420+ console . log ( "WARG" , item , itemModEnd , timeFrameDay )
421+ itemModEnd = itemModEnd
422+ . startOf ( "day" )
423+ . add ( timeFrameDay . endHour , "hour" )
424+ . add ( timeFrameDay . endMinute , "minutes" )
425+ if (
426+ timeFrameDay . endHour < timeFrameDay . startHour ||
427+ ( timeFrameDay . endHour === timeFrameDay . startHour &&
428+ timeFrameDay . endMinute <= timeFrameDay . startMinute )
429+ ) {
430+ if ( viewType !== "hours" ) {
431+ itemModEnd = itemModEnd . add ( 1 , "day" )
432+ }
443433 }
444434 }
445435 }
@@ -483,7 +473,7 @@ export function getLeftAndWidth(
483473 //width = endSlot + 1 - startSlot - (left + width)
484474 //width = endSlot - startSlot + width - left
485475
486- if ( width < 0 ) {
476+ if ( width <= 0 ) {
487477 // this should not happen, but if it does, we need to log it to find the error
488478 console . error (
489479 "LPTimeTable - item with negative width found:" ,
@@ -636,7 +626,13 @@ export function getStartAndEndSlot(
636626 . add ( timeFrameDay . endHour , "hours" )
637627 . add ( timeFrameDay . endMinute , "minutes" )
638628 . add ( 1 , viewType )
639- . subtract ( 1 , "day" )
629+ if (
630+ timeFrameDay . endHour > timeFrameDay . startHour ||
631+ ( timeFrameDay . endHour === timeFrameDay . startHour &&
632+ timeFrameDay . endMinute > timeFrameDay . startMinute )
633+ ) {
634+ endSlotEnd = endSlotEnd . subtract ( 1 , "day" )
635+ }
640636 }
641637 if ( item . startDate . isAfter ( endSlotEnd ) ) {
642638 return { startSlot : endSlot , endSlot : endSlot , status : "after" }
0 commit comments