Skip to content
This repository was archived by the owner on Nov 28, 2024. It is now read-only.

Commit ea73568

Browse files
authored
Remove irrelevant check for the multidayview's invalidation in order to prevent issues where update is needed. (#456)
Co-authored-by: atanas.popatanasov <[email protected]>
1 parent 4ae48db commit ea73568

File tree

1 file changed

+34
-37
lines changed

1 file changed

+34
-37
lines changed

Controls/Input/Input.UWP/Calendar/View/MultiDayView/MultiDayViewSettings.cs

Lines changed: 34 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -695,49 +695,46 @@ internal void Invalidate(MultiDayViewUpdateFlag flag)
695695
RadCalendar calendar = this.owner;
696696
if (calendar != null && calendar.IsTemplateApplied && calendar.Model.IsTreeLoaded)
697697
{
698-
if (calendar.IsLoaded)
698+
CalendarMultiDayViewModel multiDayViewModel = this.owner.Model.multiDayViewModel;
699+
if (flag == MultiDayViewUpdateFlag.All)
699700
{
700-
CalendarMultiDayViewModel multiDayViewModel = this.owner.Model.multiDayViewModel;
701-
if (flag == MultiDayViewUpdateFlag.All)
702-
{
703-
multiDayViewModel.CalendarCells?.Clear();
704-
multiDayViewModel.CalendarHeaderCells?.Clear();
705-
multiDayViewModel.CalendarDecorations?.Clear();
706-
multiDayViewModel.allDayAppointmentInfos?.Clear();
707-
multiDayViewModel.appointmentInfos?.Clear();
708-
709-
calendar.allDayAreaLayer?.ClearRealizedAppointmentVisuals();
710-
calendar.timeRulerLayer?.ClearRealizedAppointmentVisuals();
711-
calendar.contentLayer?.RecycleAllVisuals();
712-
}
713-
714-
if (flag == MultiDayViewUpdateFlag.AffectsTimeRuler)
715-
{
716-
this.RecycleTimeRulerVisuals();
717-
multiDayViewModel.timeRulerItems?.Clear();
718-
multiDayViewModel.timerRulerLines?.Clear();
719-
multiDayViewModel.appointmentInfos?.Clear();
720-
}
701+
multiDayViewModel.CalendarCells?.Clear();
702+
multiDayViewModel.CalendarHeaderCells?.Clear();
703+
multiDayViewModel.CalendarDecorations?.Clear();
704+
multiDayViewModel.allDayAppointmentInfos?.Clear();
705+
multiDayViewModel.appointmentInfos?.Clear();
706+
707+
calendar.allDayAreaLayer?.ClearRealizedAppointmentVisuals();
708+
calendar.timeRulerLayer?.ClearRealizedAppointmentVisuals();
709+
calendar.contentLayer?.RecycleAllVisuals();
710+
}
721711

722-
if (flag == MultiDayViewUpdateFlag.AffectsAppointments)
723-
{
724-
multiDayViewModel.appointmentInfos?.Clear();
725-
multiDayViewModel.allDayAppointmentInfos?.Clear();
726-
calendar.allDayAreaLayer?.ClearRealizedAppointmentVisuals();
727-
calendar.timeRulerLayer?.ClearRealizedAppointmentVisuals();
728-
}
712+
if (flag == MultiDayViewUpdateFlag.AffectsTimeRuler)
713+
{
714+
this.RecycleTimeRulerVisuals();
715+
multiDayViewModel.timeRulerItems?.Clear();
716+
multiDayViewModel.timerRulerLines?.Clear();
717+
multiDayViewModel.appointmentInfos?.Clear();
718+
}
729719

730-
if (flag == MultiDayViewUpdateFlag.AffectsSpecialSlots)
731-
{
732-
multiDayViewModel.specialSlots?.Clear();
733-
calendar.timeRulerLayer?.ClearRealizedSlotVisuals();
734-
}
720+
if (flag == MultiDayViewUpdateFlag.AffectsAppointments)
721+
{
722+
multiDayViewModel.appointmentInfos?.Clear();
723+
multiDayViewModel.allDayAppointmentInfos?.Clear();
724+
calendar.allDayAreaLayer?.ClearRealizedAppointmentVisuals();
725+
calendar.timeRulerLayer?.ClearRealizedAppointmentVisuals();
726+
}
735727

736-
calendar.Model.multiDayViewModel.updateFlag = flag;
737-
calendar.timeRulerLayer.shouldArrange = true;
738-
calendar.allDayAreaLayer.shouldArrange = true;
728+
if (flag == MultiDayViewUpdateFlag.AffectsSpecialSlots)
729+
{
730+
multiDayViewModel.specialSlots?.Clear();
731+
calendar.timeRulerLayer?.ClearRealizedSlotVisuals();
739732
}
740733

734+
calendar.Model.multiDayViewModel.updateFlag = flag;
735+
calendar.timeRulerLayer.shouldArrange = true;
736+
calendar.allDayAreaLayer.shouldArrange = true;
737+
741738
calendar.Invalidate();
742739
}
743740
}

0 commit comments

Comments
 (0)