File tree 3 files changed +5086
-777
lines changed
3 files changed +5086
-777
lines changed Original file line number Diff line number Diff line change @@ -617,17 +617,44 @@ function getWeekViewHourGrid(
617
617
return { ...hour , segments } ;
618
618
} ) ;
619
619
620
+ function getColumnCount (
621
+ allEvents : DayViewEvent [ ] ,
622
+ prevOverlappingEvents : DayViewEvent [ ]
623
+ ) : number {
624
+ const columnCount = Math . max (
625
+ ...prevOverlappingEvents . map ( iEvent => iEvent . left + 1 )
626
+ ) ;
627
+
628
+ const nextOverlappingEvents = allEvents
629
+ . filter ( iEvent => iEvent . left >= columnCount )
630
+ . filter ( iEvent => {
631
+ return (
632
+ getOverLappingDayViewEvents (
633
+ prevOverlappingEvents ,
634
+ iEvent . top ,
635
+ iEvent . top + iEvent . height
636
+ ) . length > 0
637
+ ) ;
638
+ } ) ;
639
+
640
+ if ( nextOverlappingEvents . length > 0 ) {
641
+ return getColumnCount ( allEvents , nextOverlappingEvents ) ;
642
+ } else {
643
+ return columnCount ;
644
+ }
645
+ }
646
+
620
647
return {
621
648
hours,
622
649
date : day . date ,
623
650
events : dayView . events . map ( event => {
624
- const overLappingEvents = getOverLappingDayViewEvents (
651
+ const columnCount = getColumnCount (
625
652
dayView . events ,
626
- event . top ,
627
- event . top + event . height
628
- ) ;
629
- const columnCount = Math . max (
630
- ... overLappingEvents . map ( iEvent => iEvent . left + 1 )
653
+ getOverLappingDayViewEvents (
654
+ dayView . events ,
655
+ event . top ,
656
+ event . top + event . height
657
+ )
631
658
) ;
632
659
633
660
const width = 100 / columnCount ;
You can’t perform that action at this time.
0 commit comments