Completed
Last Updated: 08 Jun 2022 07:21 by ADMIN
Release 3.4.0

If you drag an occurrence to a different time slot, a new appointment is created and the series is accordingly updated. However, if you are editing an occurrence via the edit form to change its start and end, a new appointment is correctly created but the initial occurrence remains not updated in the series.

Can be reproduced in the Appointment Editing demo.

Unplanned
Last Updated: 27 Jan 2022 10:06 by ADMIN

Currently, creating an appointment is made by double clicking on a slot. The case of single clicking to create an appointment is already in another request.

If you take the example of Google agenda, you can create an appointment by selecting directly the dates by sweeping with one long single click.

Here would be the request:

An event similar to SchedulerEditEventArgs (containing Start, End, IsAllDay, IsNew ; IsCancelled: to be able to have a custom edit form) that would be triggered with one long single click selecting the dates/hours slots of the appointment.

---

ADMIN EDIT

---

Although the discussion targets different functionality, we are keeping the current request open as we consider it valid to ensure better UX for appointment creation on mobile devices and we would like to see how the demand for that goes.

Unplanned
Last Updated: 12 Aug 2022 06:01 by Holger
Created by: Holger
Comments: 0
Category: Scheduler
Type: Bug Report
1

I have created an event series with the following RecurrenceRule:

RecurrenceRule = "FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR"

However, it looks like the collection of days is not taken into consideration and the events are created for every day of the week as if I have only set:

RecurrenceRule = "FREQ=DAILY"

---

ADMIN EDIT

---

A possible workaround for the time being is to use  "FREQ=WEEKLY" and extend the occurrence to the desired days of the week. For example, targeting the "Morning run" appointment: https://blazorrepl.telerik.com/cQuiFGOK01nSotIT28.

Duplicated
Last Updated: 26 Jul 2022 08:40 by ADMIN
Created by: Rick
Comments: 3
Category: Scheduler
Type: Feature Request
1
This ticket is similar to this ticket. We are needing the scheduler control with various timeline views, most importantly with the Month View.
Completed
Last Updated: 27 Oct 2021 08:48 by ADMIN
Release 2.28.0
When you drag or resize an appointment, its start and end fields in the Scheduler data are updated before any logic in the OnUpdate handler is performed. Thus, if you want to prevent the update based on some condition, you are not able to do so when drag or resize.
Completed
Last Updated: 04 Jan 2024 07:46 by ADMIN
Release 5.1.0 (31 Jan 2024) (R1 2024)

Hello!

After update to 2.27 there is a bug to scheduler with number of days and refresh.

You can check your live demo also:

https://demos.telerik.com/blazor-ui/scheduler/multiday-view

Unplanned
Last Updated: 08 Mar 2021 08:04 by ADMIN
Created by: Wes
Comments: 0
Category: Scheduler
Type: Feature Request
1

I am using resources in the scheduler and I need to require the user to select a resource from the list when adding an appointment. Maybe a "Required" option when you declare the resource?

---

ADMIN EDIT

At the moment, a custom edit form is the only option: https://github.com/telerik/blazor-ui/tree/master/scheduler/custom-edit-form

If you need to add resources only in one mode (edit or insert), please provide an example of how you would expect that to be controller through data annotations since they would be in effect in both modes if used.

---

Unplanned
Last Updated: 25 May 2021 09:13 by ADMIN
Created by: Marco
Comments: 3
Category: Scheduler
Type: Bug Report
1

That's pretty weird but nevertheless very specific: if the Scheduler is loaded with POCO objects from EntityFramework with LazyLoading enabled (Castle.Proxies objects) them the k-event-drag-hint box is not shown (!)

 

It took me some time to figure it out...
Completed
Last Updated: 27 Oct 2021 08:49 by ADMIN
Release 2.28.0
When you try to group by resource with a type different of string (long, int, etc.), an "Error: System.ArgumentException: Arg_ObjObjEx" appears.
Unplanned
Last Updated: 30 Jun 2020 14:21 by ADMIN
Created by: How PK
Comments: 3
Category: Scheduler
Type: Feature Request
1
I would like to be able to set overnight display for the Scheduler, for example, to see overnight working shifts. 
Completed
Last Updated: 13 Jan 2021 21:12 by Mallika
Release 2.17.0
Created by: Vic
Comments: 1
Category: Scheduler
Type: Bug Report
1
When the view modes options (Month, day, week, etc...) is collapsed and the arrow is clicked, the drop menu shows behind the main scheduler window.
Completed
Last Updated: 18 Mar 2020 10:02 by ADMIN
Release 2.9.0
Created by: Gerard
Comments: 1
Category: Scheduler
Type: Feature Request
0

 There doesn't appear to be any examples of this. Is the feature not implemented and if not when is it going to be 

Gerard

 

Duplicated
Last Updated: 20 Sep 2021 10:57 by ADMIN
Created by: Ian
Comments: 1
Category: Scheduler
Type: Feature Request
0

The application users would like the scheduler to default to the work day view instead of the full day view.

Currently the only way to do this is to create a @ref to a property on my page and then override OnAfterRender to set the ShowWorkHours property to true. When examining the property I see that it is decorated with a HideFromApiRef attribute. Would it not be possible to change that to a Parameter so that the property could be set in the definition, or even bound to a variable?

Completed
Last Updated: 11 Sep 2021 17:43 by ADMIN
Created by: Paul
Comments: 1
Category: Scheduler
Type: Feature Request
0

Request either demo or functionality to either allow for "paging" of large scheduler data or functionality to utilize odata format for performance of scheduler data presentation.

 

My query even with just a year of data takes a few seconds to fetch from the database as well as several more seconds for the scheduler to process the data.  Having functionality for changing views or switching days/weeks/months to allow for quick data updates from the back end would greatly improve overall performance.

Duplicated
Last Updated: 28 Apr 2023 13:29 by ADMIN
Created by: Stewart
Comments: 4
Category: Scheduler
Type: Bug Report
0

 If I change the width of the scheduler component it doesn't move the events to the correct place

I am currentl looking at printing the Scheduler but I ran into this issue when trying to adjust the scheduler to fit on a page

Declined
Last Updated: 05 Jul 2024 08:55 by ADMIN
Created by: Maximilian
Comments: 1
Category: Scheduler
Type: Bug Report
0

Hi, 

I'm building a Grid which contains a nested Grid in it's `<DetailTemplate/>`.

When I'm opening the details, the grid events fire, the data gets loaded correctly but the data doesn't show up in the UI. Using .NET 8 Blazor with Telerik UI for Blazor Version 6.0.2.

 

This is the grid containing the Grid (data here gets loaded correctly):


<TelerikGrid @ref="@_grid" TItem="ChecklistDetailModel" Pageable Page="@_settings.CurrentPageNumber" PageSize="@_settings.Limit" OnRead="@OnPageReadAsync" Width="100%" Height="100%">
    <GridToolBarTemplate>
        <LawAreaSelect SelectedLawAreaId="_settings.SelectedLawAreaId" SelectedCountryId="_settings.SelectedCountryId" OnLawAreaSelected="OnLawAreaSelected" Width="250px" />
        <CountriesSelect Value="_settings.SelectedCountryId" OnChangeCallback="OnCountrySelected" Width="250px" />
        <TelerikButton Icon="FontIcon.FileAdd" OnClick="OnCreateChecklistButtonClick" Title="@Localizer["ChecklistOverview.Create"]" />
    </GridToolBarTemplate>
    <GridColumns>
        <GridColumn Title="ID" Width="50px">
            <Template Context="checklist">
                @{
                    var model = checklist as ChecklistDetailModel;
                    <span>@model.Id</span>
                }
            </Template>
        </GridColumn>
        <GridColumn Title="@Localizer["Data.LawArea"]">
            <Template Context="checklist">
                @{
                    var model = checklist as ChecklistDetailModel;
                    <span>@model.LawArea.Name</span>
                }
            </Template>
        </GridColumn>
        <GridColumn Title="@Localizer["Data.Country"]">
            <Template Context="checklist">
                @{
                    var model = checklist as ChecklistDetailModel;
                    <span>@model.Country.Name</span>
                }
            </Template>
        </GridColumn>
        <GridColumn Title="@Localizer["Data.Checklist.Revision"]">
            <Template Context="checklist">
                @{
                    var model = checklist as ChecklistDetailModel;
                    @if (model.RevisionName != null)
                    {
                        <span>@model.RevisionName</span>
                    }
                    else
                    {
                        <i>@Localizer["Data.Checklist.NoRevision"]</i>
                    }
                }
            </Template>
        </GridColumn>
        <GridColumn Title="@Localizer["Data.ChecklistRevisionDate"]">
            <Template Context="checklist">
                @{
                    var model = checklist as ChecklistDetailModel;
                    @if (model.LastUpdated.HasValue)
                    {
                        <span>@model.LastUpdated.Value.ToShortDateString()</span>
                    }
                    else
                    {
                        <span>@model.CreatedDate.ToShortDateString()</span>
                    }
                }
            </Template>
        </GridColumn>
        <GridCommandColumn>
            <GridCommandButton Icon="FontIcon.EditTools" OnClick="OnEditChecklistButtonClick" />
            <GridCommandButton Icon="FontIcon.PaperPlane" OnClick="OnAssignChecklistButtonClick" />
        </GridCommandColumn>
    </GridColumns>
    <DetailTemplate Context="checklist">
        <CustomerChecklistGrid ChecklistId="checklist.Id" OnEditCustomerChecklistButtonClick="OnEditCustomerChecklistButtonClick" OnNavigateToCustomerChecklistButtonClick="OnNavigateToCustomerChecklistButtonClick" />
    </DetailTemplate>
</TelerikGrid>

This is the `CustomerChecklistGrid` code inserted into the DetailTemplate of the Grid above:


<TelerikGrid @ref="_grid" TItem="CustomerChecklistModel" Pageable Page="_settings.CurrentPageNumber" PageSize="_settings.Limit" OnRead="OnPageReadAsync">
    <GridToolBarTemplate>
        <CustomerSelect OnCustomerSelected="OnCustomerSelected" SelectedCustomerId="_settings.SelectedCustomerId" Width="250px" />
    </GridToolBarTemplate>
    <GridColumns>
        <GridColumn Title="ID" Width="50px">
            <Template Context="customerChecklist">
                @{
                    var model = customerChecklist as CustomerChecklistModel;
                    <span>@model.Id</span>
                }
            </Template>
        </GridColumn>
        <GridColumn Title="@Localizer["Data.Customer"]">
            <Template Context="customerChecklist">
                @{
                    var model = customerChecklist as CustomerChecklistModel;
                    <span>@model.Customer.Name</span>
                }
            </Template>
        </GridColumn>
        <GridColumn Title="@Localizer["ChecklistsOverview.CompletedOn"]">
            <Template Context="customerChecklist">
                @{
                    var model = customerChecklist as CustomerChecklistModel;
                    @if (model.CompletedOn.HasValue)
                    {
                        <span>@model.CompletedOn.Value.ToShortDateString()</span>
                    }
                    else
                    {
                        <i>@Localizer["ChecklistsOverview.NotCompleted"]</i>
                    }
                }
            </Template>
        </GridColumn>
        <GridCommandColumn Context="customerChecklist">
            <GridCommandButton Icon="FontIcon.EditTools" OnClick="OnEditCustomerChecklistButtonClickAsync" />
            @{
                var model = customerChecklist as CustomerChecklistModel;
                if (!model.CompletedOn.HasValue)
                {
                    <GridCommandButton Icon="FontIcon.PaperPlane" OnClick="OnNavigateToCustomerChecklistButtonClickAsync" />
                }
            }
        </GridCommandColumn>
    </GridColumns>
</TelerikGrid>

This is the backing C# code for the grid:


public partial class CustomerChecklistGrid
{
    [Parameter] public int ChecklistId { get; set; }
    [Parameter] public EventCallback<CustomerChecklistModel> OnEditCustomerChecklistButtonClick { get; set; }
    [Parameter] public EventCallback<CustomerChecklistModel> OnNavigateToCustomerChecklistButtonClick { get; set; }
    [Inject] public ICustomerChecklistService CustomerChecklistService { get; set; }
    [Inject] public IStringLocalizer<SharedResources> Localizer { get; set; }
    [CascadingParameter] public Routes App { get; set; }

    private CustomerChecklistSettings _settings = new();
    private PageResult<CustomerChecklistModel> _data = new();

    private TelerikGrid<CustomerChecklistModel> _grid;

    private async void OnPageReadAsync(GridReadEventArgs args)
    {
        var newOffset = args.Request.PageSize * (args.Request.Page - 1);
        _settings.Offset = newOffset;
        _settings.CurrentPageNumber = args.Request.Page;
        var request = new CustomerChecklistRequestModel
        {
            Offset = _settings.Offset,
            Limit = _settings.Limit,
            ChecklistId = ChecklistId,
            OrderBy = _settings.OrderBy,
            IsCompleted = _settings.IsCompleted,
            CustomerId = _settings.SelectedCustomerId
        };

        _data = await CustomerChecklistService.GetPageAsync(request);
        args.Data = _data.Items;
        args.Total = _data.Total;
        StateHasChanged();
    }

    private void OnCustomerSelected(int customerId)
    {
        _settings.SelectedCustomerId = customerId;
        _settings.CurrentPageNumber = 1;
        _grid.Rebind();
    }

    private async Task OnEditCustomerChecklistButtonClickAsync(GridCommandEventArgs args)
    {
        var customerChecklist = args.Item as CustomerChecklistModel;
        if (OnEditCustomerChecklistButtonClick.HasDelegate)
        {
            await OnEditCustomerChecklistButtonClick.InvokeAsync(customerChecklist);
        }
    }

    private async Task OnNavigateToCustomerChecklistButtonClickAsync(GridCommandEventArgs args)
    {
        var customerChecklist = args.Item as CustomerChecklistModel;
        if (OnNavigateToCustomerChecklistButtonClick.HasDelegate)
        {
            await OnNavigateToCustomerChecklistButtonClick.InvokeAsync(customerChecklist);
        }
    }

    private sealed class CustomerChecklistSettings
    {
        public int Offset { get; set; }
        public int Limit { get; set; } = 25;
        public int CurrentPageNumber { get; set; } = 1;
        public int? SelectedCustomerId { get; set; }
        public bool? IsCompleted { get; set; }
        public string OrderBy { get; set; } = "customer";
    }
}

This is a screenshot of the UI I'm seeing. I'm expecting data to show up in the inner grid, data gets loaded correctly (when debugging I see data is available), however no records are shown.

Declined
Last Updated: 25 Sep 2024 10:34 by ADMIN
Created by: DRASKO
Comments: 4
Category: Scheduler
Type: Bug Report
0

When adding / editing the last time slot for the day, SchedulerEditEventArgs has wrong End value.

For example Start value is 28.12.2023. 23:30:00 and end value is 28.12.2023. 00:00:00. Should instead be 28.12.2023. 23:59:59 or 29.12.2023. 00:00:00.

 

Duplicated
Last Updated: 04 Oct 2022 14:08 by ADMIN

Hi there.

So I've been struggling for the last 2 days with the scheduler having this weird issue where setting it to Today's date set's the Scheduler's date correctly, but the incorrect date is shown in the date picker, with the correct date in the picker's popup. 

I then went to the Scheduler overview screen and noticed the exact same bug there, so I'll be linking that page to show the issue along with an attached screenshot of the issue.
https://demos.telerik.com/blazor-ui/scheduler/month-view

1 2 3 4 5 6