The following date in the Scheduler RecurrenceRule cannot be parsed and is ignored:
RecurrenceRule = "FREQ=DAILY;UNTIL=20210722T000000"
According to the RFC5545 specification, this should be a valid date format.
These formats will work:
RecurrenceRule = "FREQ=DAILY;UNTIL=2021-07-22T00:00:00"
RecurrenceRule = "FREQ=DAILY;UNTIL=2021-07-22T00:00:00.000Z"
EDIT:
This is my work-around. It captures the date portion of the UNTIL clause, converts it into the date string style that Telerik can understand, then reassembles the rule stringprivate string TransformRecurrenceRule()
{
const string untilSeparator = "UNTIL=";
var ruleParts = RecurrenceRule.Split(untilSeparator, StringSplitOptions.RemoveEmptyEntries);
if (ruleParts.Length <= 1)
{
// There was no Until clause to worry about
return RecurrenceRule;
}
// Save the first part of the rule
var ruleBeginning = ruleParts[0];
// Split the date part of the until clause from any following clauses
var remainingClauses = ruleParts[1].Split(';', 2, StringSplitOptions.RemoveEmptyEntries);
//Save the date part of the until clause
var untilDate = remainingClauses[0];
// Save any following clauses with the `;` replaced
var ruleEnding = "";
if (remainingClauses.Length == 2)
{
ruleEnding = $";{remainingClauses[1]}";
}
// Convert the until date into .net parsable format
const string format = "yyyyMMddTHHmmss";
var date = DateTime.ParseExact(untilDate, format, CultureInfo.InvariantCulture);
var dateStr = date.ToString("yyyy-MM-ddTHH:mm:ss");
// recombine rule components
var newRuleParts = new[] {ruleBeginning, untilSeparator, dateStr, ruleEnding};
var newRule = string.Join("",newRuleParts);
return newRule;
}
When using Vertical Grouping by multiple resources and Timeline View, the group rows without appointments do not have min-height as the rest of the group rows. Thus, they appear shorter which causes an offset of the events on the next rows.
Steps to reproduce:
===
ADMIN EDIT
===
A possible workaround for the time being is to set min-height to all rows. Apply this style only when Timeline view is selected, so this does not break the rendering of the other views.
Example: https://blazorrepl.telerik.com/mHYmwsOt30fjTZ6a32.
If the Start and End match exactly, the rendering of the Scheduler breaks in Day view. If another view is used, the event looks as if it is rendered on the previous day.
===
ADMIN EDIT
===
A possible workaround for the time being is to use a custom edit form and implement some kind of validation that prevents the user from selecting the same value for the Start and End of an event.
I have located an issue with the scheduler in Firefox
It currently is not possible to edit an appointment in Firefox when visiting the following demo page:
https://demos.telerik.com/blazor-ui/scheduler/appointment-editing
Edge and Chrome work as expected.
I noticed this issue in my local project and referred to the demo's to see if I was doing something stupid :-).
I am assuming that the demo's are running in .net 5 and that the demo's are blazor server applications.
In a Scheduler with vertical grouping, I am dynamically changing the displayed resources during runtime. It looks like displaying a longer resource name breaks the rendering.
The Scheduler does not recalculate the cell width when changing the resource list.
---
ADMIN EDIT
---
Possible workarounds:
The Scheduler seems to be showing the previous month in the header.
When you have an event that starts between 11:30pm and 12:00am - the default last slot of the Timeline view, the Scheduler throws the following error:
Error: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection
I have a problem with Scheduler TimelineView. When there are a bit more appointments in the first resource group, the last appointment from the last group is positioned incorrectly/outside of the Scheduler component.
I think the CSS parameter "top" is calculated in the wrong mode. See the attached recording.
The appointments at the start of the day seem accurate. If you scroll down, the position of the appointments does not line up with the grid line for the hour that it starts at or ends at. The issue can be observed in the live demo.
I am using the Scheduler component in Telerik for Blazor and am getting an intermittent exception being thrown, usually when navigating quickly through the application (ie. navigating to another page before the initial page containing the Scheduler has finished rendering).
This is the exception received:
===
ADMIN EDIT
===
The Scheduler must render in the browser and then it measures and adjusts its layout with JavaScript. You may hit this error if the component is disposed before or during this JavaScript call.
Example use cases:
<TelerikScheduler AllowCreate="@Editing" AllowDelete="@Editing" AllowUpdate="@Editing" OnDelete="@AppointmentDelete" OnEdit="@AppointmentEdit" OnUpdate="AppointmentUpdate" Data=…
The above line breaks only with AllowUpdate.
I default Editing false, then toggle it true in the hosting component and do a InvokeAsync(StateHasChanged).
The result is I can create and delete, but while the appointment hover cursor changes to the hand or arrows and I can see the handlebars to resize the appointment, I'm not able to update the appointment until I switch the SchedulerView. After switching SchedulerView updating works as expected.
Hi,
I have a recurrent event with the following dates:
"Start": "2022-08-01T07:00:00", "End": "2022-08-01T08:00:00", "RecurrenceRule": "FREQ=DAILY;UNTIL=2022-08-04T05:00:00"
https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10 says:
The UNTIL rule part defines a DATE or DATE-TIME value that bounds the recurrence rule in an inclusive manner. If the value specified by UNTIL is synchronized with the specified recurrence, this DATE or DATE-TIME becomes the last instance of the recurrence. The value of the UNTIL rule part MUST have the same value type as the "DTSTART" property
I generated the events with Thunderbird, synchronized to the caldav-Server and read it from there.
In the Telerik Scheduler I got only 3 occurences of the event: from the 1st to the 3rd.
In Thunderbird I got 4. From the 1st to the 4th. According with the RFC, Thunderbird is right :-)
----------------------- ADMIN EDIT -----------------------
The recurrence generation currently considers the time in the recurring rules. To workaround the issue, you should manually change the until parameter to contain the maximum possible hour, minute and second for the day. Here is an example:
// item is your appointment item
var rule = RecurrenceRule.Parse(item.RecurrenceRule);
if(rule.Until.HasValue)
{
var untilDate = rule.Until.Value;
rule.Until = new DateTime(untilDate.Year, untilDate.Month, untilDate.Day, 23, 59, 59);
}
item.RecurrenceRule = rule.ToString();
--------------------------------------------------------------------
Scheduler cells are not aligned correctly in the Timeline View when Bootstrap Theme is used.
To reproduce the problem:
1. Open the following Scheduler Demo:
https://demos.telerik.com/blazor-ui/scheduler/overview
2. Select the Bootstrap Theme
3. Open the Timeline View
Event Popup Edit: Object of type 'Telerik.Blazor.Components.Scheduler.Models.Resource' cannot be converted to type 'System.String'.
When try to click on the Save button in an Event Scheduler Popup window, an error appears.Check the following configuration: https://blazorrepl.telerik.com/cHvuPOYX27peykXr18 ( SlotDuration="720" SlotDivisions="1").
The start time of the appointment is 12:00 PM today. The Scheduler, however, displays the start at 12:00 AM on the next day even though the arrow indicates the event continues from the previous day.
For reference, if I set SlotDivisions="2", I get the expected result: https://blazorrepl.telerik.com/GxFOvYED302CzPCo32.
I am using a Scheduler with vertical grouping by multiple resources. In Timeline view, some of the appointments appear with an offset and are not correctly aligned in the cell. In some cases, the appointment is even rendered outside the slot it is associated with.
The issue seems to occur as of UI for Blazor 4.2.0. The same configuration worked fine in 4.1.0.
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...