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;
}
The behavior is reproducible only in the Material and Bootstrap themes - it can be observed in the online demo.
When I scroll to a point where an appointment is not fully visible and click it, the page scrolls up. This does not happen in the other themes.
Reproduction video: https://www.loom.com/share/b8303675096d42ea8582a1638f37571f.
Once a user has clicked an appointment to select it, I'd like the ability to clear this selection. For example, if you show one set of appointments, then click a radio button on the page to switch to a different set of appointments, I'd like to clear the selection so that no appointment is selected. The way it works now, the component appears to store the index of the selected appointment and then re-apply that when it's rendered with new appointments.
More context here: https://www.telerik.com/forums/how-to-clear-the-selected-slot-in-the-scheduler
In the scheduler for Asp.net Ajax, the month view would put a k-other-month class on the cells from other months outside of the current one and those cells would have a different style (grayed day numbers or background, etc.). In the Blazor scheduler component it doesn't look like that class is being put on those cells anymore. The Telerik SCSS themes still allow for that class, so is there a way to add them or is there a workaround so that those cells can be re-styled similar to the way the Ajax Scheduler functions?
Thanks,
Mike
When SchedulerGroupOrientation is set to vertical, increasing the height of the `SchedulerResourceGroupHeader` breaks the rendering of the Scheduler cells, which causes misalignment of the appointments. In my scenario, I want to have a Button and an Icon in the group header cell.
Reproduction example: https://blazorrepl.telerik.com/wJElGYvF02XSsN6j42
The appointment drag and drop functionality of the Scheduler does not work on mobile devices. When you try to drag an item, the item does not move.
You can test it by running the Scheduler overview demo by using Chrome's mobile device emulator and trying to drag and drop an appointment.
Hello,
I use the scheduler component with grouping ressources on a timeline view.
When there is only one ressource for the second group, there is no text showing on the view.
It works with 2 ressources.
I try over your demo and i have the same result.
https://blazorrepl.telerik.com/GyYAmBGE22N2CcIQ27
When I use 2 ressources it works.
Thank you
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 trying to look at the times 7pm - midnight. But if I set the end time to midnight, I get an error that the end time has to be greater than the start time. How do I set the timeline to show 7pm - midnight or 8pm - 2am?
I tried including the next date in the EndTime but the Scheduler does not take the date into consideration, it checks only the time portion.
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.
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();
--------------------------------------------------------------------
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...