コード例 #1
0
        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();
            }
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        /// <summary>
        /// Close picker popup
        /// </summary>
        public async Task Close()
        {
            await LeftCalendar.CalculateCalendar();

            await RightCalendar.CalculateCalendar();

            Visible = false;
            await OnClosed.InvokeAsync(null);
        }
コード例 #4
0
        private async Task OnHoverDate(DateTimeOffset date)
        {
            if (!TEndDate.HasValue)
            {
                HoverDate = date;
                await LeftCalendar.CalculateCalendar();

                await RightCalendar.CalculateCalendar();
            }
        }
コード例 #5
0
        protected override async Task OnParametersSetAsync()
        {
            if (TimePicker == true && AutoApply == true)
            {
                AutoApply = false;
            }
            await LeftCalendar.CalculateCalendar();

            await RightCalendar.CalculateCalendar();
        }
コード例 #6
0
        protected override async Task OnParametersSetAsync()
        {
            await LeftCalendar.CalculateCalendar();

            await RightCalendar.CalculateCalendar();
        }