private async Task MonthChanged(DateTimeOffset?leftDate, DateTimeOffset?rightDate) { Loading = true; if (leftDate.HasValue) { await LeftCalendar.ChangeMonth(leftDate.Value); } if (rightDate.HasValue) { await RightCalendar.ChangeMonth(rightDate.Value); } if (RunningTaskToken != null) { RunningTaskToken.Cancel(); RunningTaskToken.Dispose(); RunningTaskToken = null; } RunningTaskToken = new CancellationTokenSource(); var cts = RunningTaskToken; await OnMonthChanged.InvokeAsync(null); var task = OnMonthChangedAsync.InvokeAsync(RunningTaskToken.Token); await task; if (!cts.IsCancellationRequested) { Loading = false; StateHasChanged(); } }
private async Task ClickDate(DateTimeOffset date) { HoverDate = null; if (TEndDate.HasValue || TStartDate == null || date < TStartDate) { //picking start TEndDate = null; TStartDate = date.Date; await OnSelectionStart.InvokeAsync(date.Date); } else { // picking end TEndDate = date.Date.AddDays(1).AddTicks(-1); await OnSelectionEnd.InvokeAsync(TEndDate.Value); if (AutoApply == true) { await ClickApply(null); } } if (SingleDatePicker == true) { TStartDate = date.Date; TEndDate = TStartDate; await ClickApply(null); } await LeftCalendar.CalculateCalendar(); await RightCalendar.CalculateCalendar(); }
/// <summary> /// Close picker popup /// </summary> public async Task Close() { await LeftCalendar.CalculateCalendar(); await RightCalendar.CalculateCalendar(); Visible = false; await OnClosed.InvokeAsync(null); }
private async Task OnHoverDate(DateTimeOffset date) { if (!TEndDate.HasValue) { HoverDate = date; await LeftCalendar.CalculateCalendar(); await RightCalendar.CalculateCalendar(); } }
protected override async Task OnParametersSetAsync() { if (TimePicker == true && AutoApply == true) { AutoApply = false; } await LeftCalendar.CalculateCalendar(); await RightCalendar.CalculateCalendar(); }
protected override async Task OnParametersSetAsync() { await LeftCalendar.CalculateCalendar(); await RightCalendar.CalculateCalendar(); }