Completed
Last Updated: 12 Oct 2022 07:26 by ADMIN
Release 3.7.0 (09 Nov 2022)
Created by: Uluç
Comments: 1
Category: Calendar
Type: Bug Report
1

In the Calendar documentation, it says that we can selected multiple dates either by holding Shift to select a range or holding control to select multiple individual dates.

 

Expected behavior (Windows & Mac):

* Shift - Range Select

* Control - Individual Multiple Selection

 

Result (Windows):

* Shift -

* Control -

Result (Mac):

* Shift -

* Control -

Explanation:

On Mac holding control and selecting a date toggles a right-click (displays options menu), I cannot seem to be able to select more than one date with holding control down.

Completed
Last Updated: 02 Jun 2022 09:19 by ADMIN
Release 3.4.0

For example, if you want to prevent the user from selecting all dates prior to February 2021 you can set the Min parameter to new DateTime(2021, 2, 1). In this case, if you navigate to 2022 and then try to navigate back to 2021 through the Decade view, it is not possible, you can only select future year. 

Pressing the Today button works as expected.

 

===========

ADMIN EDIT

===========

Meanwhile, if you want to disable all past dates, a workaround you may try is handle the OnCellRender event of the Calendar and add a CSS class to the cells to style them as disabled. The sample below demonstrates how to achieve that.

<style>
    .not-allowed-cell {
        pointer-events: none;
        cursor: not-allowed;
        background-color: whitesmoke;
        opacity: 0.6;
    }
</style>

<TelerikCalendar @bind-Date="aDate" OnCellRender="RenderCell"></TelerikCalendar>

@code{
    DateTime aDate { get; set; } = DateTime.Now;

    void RenderCell(CalendarCellRenderEventArgs args)
    {
        switch (args.View)
        {
            case CalendarView.Month:
                if (args.Date < DateTime.Today)
                {
                    args.Class = "not-allowed-cell";
                }
                break;
            case CalendarView.Year:
                if (args.Date.Month < DateTime.Today.Month && args.Date.Year == DateTime.Today.Year)
                {
                    args.Class = "not-allowed-cell";
                }
                break;
            case CalendarView.Decade:
                if (args.Date.Year < DateTime.Today.Year)
                {
                    args.Class = "not-allowed-cell";
                }
                break;
            case CalendarView.Century:
                if (DateTime.Today.Year - args.Date.Year >= 10)
                {
                    args.Class = "not-allowed-cell";
                }
                break;
            default:
                break;
        }
    }
}