Approved
Last Updated: 10 Jul 2019 08:00 by ADMIN
When the server's timezone is set to UTC-2 and timezones with bigger negative offset (e.g.  (UTC-08:00) Pacific Time (US & Canada) and (UTC-07:00) Mountain Time (US & Canada)) the appointments on July 1st at 1:30AM are not rendered.
Approved
Last Updated: 09 Apr 2019 13:56 by ADMIN
Approved
Last Updated: 20 Mar 2019 15:21 by ADMIN
Created by: Andy
Comments: 1
Category: Scheduler
Type: Bug Report
0
Using the following setup, resize the appointment so that when releasing the mouse, it is over the appointment as demonstrated in the attached video with the attached project.

<telerik:RadScheduler RenderMode="Lightweight" Font-Size="14px" runat="server" ID="RadScheduler1"
      SelectedDate="2012-04-16"
      OnClientAppointmentClick="OnClientAppointmentClick"
      OnClientAppointmentResizeEnd="OnClientAppointmentResizeEnd">
  </telerik:RadScheduler>

<script>
    function OnClientAppointmentResizeEnd(sender, args) {
    }
 
    function OnClientAppointmentClick(sender, args) {
        alert("OnClientAppointmentClick")
    }
</script>

private const string ProviderSessionKey = "Telerik.Web.Examples.Scheduler.XmlSchedulerProvider.DefaultCS";
 
    // You can safely ignore this method.
    // Its purpose is to limit the changes to the underlying data only to the active user session.
    protected void Page_Init(object sender, EventArgs e)
    {
        Telerik.Web.UI.XmlSchedulerProvider provider;
        if ((Session[ProviderSessionKey] == null) || (!IsPostBack))
        {
            provider = new Telerik.Web.UI.XmlSchedulerProvider(Server.MapPath("~/App_Data/Appointments.xml"), true);
            Session[ProviderSessionKey] = provider;
        }
        else
        {
            provider = (Telerik.Web.UI.XmlSchedulerProvider)Session[ProviderSessionKey];
        }
 
        RadScheduler1.Provider = provider;
    }

Approved
Last Updated: 31 Jan 2019 09:13 by Tanu
The RecurrenceRule does not have the correct Exceptions when modifying the series. The behavior in Outlook is to clear all exceptions when modifying the series. The behavior in Google Calendar is to consider the exception and modify the recurrence rule accordingly.

Create a recurrence appointment (starts on 20th Feb at 8:00 am, recurring daily), whose recurrence rule will be stored in the database as (Picture 1):

DTSTART:20180220T080000Z
DTEND:20180220T083000Z
RRULE:FREQ=DAILY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR,SA,SU

Further, I create an exception on 23rd Feb, which changes the start time to 8:15 am. This now, in Addition to inserting a new record for the exception, updates the master's recurrence rule to (Picture 2):

DTSTART:20180220T080000Z
DTEND:20180220T083000Z
RRULE:FREQ=DAILY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR,SA,SU
EXDATE:20180223T080000Z

So far, so good. Now I edit the master and change its start date to 19th Feb. I expect, that the master keeps the exception for 23rd, but the result is another one. The exception record is kept unchanged as expected! BUT the EXDATE in the master is wrong (Picture 3):

DTSTART:20180219T080000Z
DTEND:20180219T083000Z
RRULE:FREQ=DAILY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR,SA,SU
EXDATE:20180222T080000Z
Approved
Last Updated: 24 Oct 2018 14:17 by ADMIN
https://www.screencast.com/t/OQyCn2jM

Approved
Last Updated: 27 Mar 2018 14:50 by ADMIN
ADMIN
Created by: Peter Milchev
Comments: 0
Category: Scheduler
Type: Bug Report
1
https://www.screencast.com/t/KlQtYDOxl

Workaround: 

var $ = $ || $telerik.$;
var $T = Telerik.Web.UI;
var $TS = $T.Scheduler,
$TSR = $TS.Rendering,
$DateTime = $TS.DateTime;
var $SB = Telerik.Web.StringBuilder,
timePerMinute = 60000,
timePerHour = timePerMinute * 60,
timePerDay = timePerHour * 24,
daysInWeek = 7,
roundedCornersHeight,
anchorDateFormat = "yyyy-MM-dd";

$TSVM = Telerik.Web.UI.Scheduler.Views.Month;
$TSVM.Model.prototype._createTimeSlot = function (rawIndex, startTime, element) {
    if (startTime.getHours() == 23) {
        startTime = $DateTime.add(startTime, 2 * timePerHour);
    }

    return new $TSVM.TimeSlot(rawIndex, startTime, element);
}

$TSVM.Model.prototype.getTimeSlotFromDomElement = function (domElement) {
    var rawIndex = this._getRawIndexFromDomElement(domElement),
                startTime = this._getTimeFromDomElement(domElement);
    if (startTime.getHours() == 23) {
        startTime = $DateTime.add(startTime, 2 * timePerHour);
    }

    return new $TSVM.TimeSlot(rawIndex, startTime, domElement);
}


Telerik.Web.UI.Scheduler.Rendering.MonthViewRenderer.prototype._updateColumnHeaders = function () {
    var renderer = this,
        dayHeaderDateFormat = this._model.get_dayHeaderDateFormat(),
        firstDayHeaderDateFormat = this._model.get_firstDayHeaderDateFormat(),
        currentMonth = renderer._owner.get_selectedDate().getMonth(),
        visibleRangeStart = renderer._model.get_visibleRangeStart();

    $.each(this._contentTables, function () {
        var dateLabels = $("td div.rsDateWrap div.rsDateBox a", this),
            dayStart = visibleRangeStart,
            weekDayIndex = 0,
            weekStart = new Date(dayStart.getTime());

        dateLabels.each(function () {
            var isFirstVisibleDateOfMonth =
                    $DateTime.subtract(dayStart, visibleRangeStart) == 0 &&
                    dayStart.getMonth() == currentMonth;
            var dateHeaderText;

            if (renderer._owner._renderMode == $T.RenderMode.Mobile) {
                dateHeaderText = dayStart.getDate().toString();
            }
            else if (dayStart.getDate() == 1 || isFirstVisibleDateOfMonth) {
                dateHeaderText = dayStart.localeFormat(firstDayHeaderDateFormat);
            } else {
                dateHeaderText = renderer._getFormattedDateText(dayStart, dayHeaderDateFormat);
            }

            this.href = "#" + dayStart.format(anchorDateFormat);
            this.innerHTML = dateHeaderText;
            this.title = dayStart.localeFormat(Sys.CultureInfo.CurrentCulture.dateTimeFormat.ShortDatePattern);

            var otherMonthCell = currentMonth != dayStart.getMonth(),
                dateWrapElement = this.parentNode.parentNode.parentNode;

            $(dateWrapElement).toggleClass('rsOtherMonth', otherMonthCell);

            if (weekDayIndex == renderer._weekLength - 1) {
                // Move to the next week, skipping invisible days.
                weekStart = $DateTime.add(weekStart, 7 * timePerDay);
                dayStart = new Date(weekStart.getTime());
                weekDayIndex = 0;
            } else {
                dayStart = $DateTime.add(dayStart, timePerDay);
                weekDayIndex++;
            }
            if (dayStart.getHours() == 23) {
                dayStart = $DateTime.add(dayStart, 2 * timePerHour);
            } else if (dayStart.getHours() == 1) {
                dayStart = $DateTime.add(dayStart, -timePerHour);
            }
            if (weekStart.getHours() == 23) {
                weekStart = $DateTime.add(weekStart, 2 * timePerHour);
            } else if (weekStart.getHours() == 1) {
                weekStart = $DateTime.add(dayStart, -timePerHour);
            }
            // Wrappers are cleared here to avoid second
            // traversal of the cells.
            renderer._clearExtraWraps(dateWrapElement);
        });
    });
}
Approved
Last Updated: 16 Feb 2018 19:11 by Donny
ADMIN
Created by: Peter Milchev
Comments: 2
Category: Scheduler
Type: Bug Report
0
The Button text initially shows "Never", even though the appointment has a different recurrence. https://www.screencast.com/t/55Rl1CSa7F7y
Approved
Last Updated: 11 Jan 2018 14:06 by IT Manager
Approved
Last Updated: 10 Jan 2018 15:07 by ADMIN
ADMIN
Created by: Peter Milchev
Comments: 0
Category: Scheduler
Type: Bug Report
0

			
Approved
Last Updated: 31 Jul 2017 14:32 by ADMIN
There is a display issue when using the agenda view - if there are fewer than 4 events displayed then clicking on the date range in the header shows a calendar which is clipped at the bottom. Presumably this is due to it being constrained by the height of the events area. This occurs even though there is plenty of height available to the control. Please see the attached screenshot which is taken from your demo site:
http://demos.telerik.com/aspnet-ajax/scheduler/examples/overview/defaultcs.aspx
Approved
Last Updated: 20 Jun 2017 14:48 by ADMIN
Approved
Last Updated: 06 Mar 2017 12:24 by ADMIN
Approved
Last Updated: 14 Sep 2016 20:42 by Mark
Created by: Mark
Comments: 3
Category: Scheduler
Type: Feature Request
8
For a planner, it's very normal to have a list of tasks to be finished.
And with each task, it will require different type of resources.

In my case, the resource is the employee, which can have different skill sets.
I want to be able to select the task, and based on the skill required by the task, to filter the employees as resource. Then based on the availability of the filtered employees, assign specific task to a specific employee.

I think it's nature of the process for planning and scheduling.

For some reason, radscheduler rebind on client side can't update the resource. According to Telerik's feed back, it seems only way to achieve this is to do a post back(partially by ajaxmanager or full).

I am hoping it can be done as radgrid.
Approved
Last Updated: 01 Aug 2016 14:15 by OMAR
Created by: OMAR
Comments: 0
Category: Scheduler
Type: Feature Request
3
RadScheduler RTL Support
Approved
Last Updated: 26 Jul 2016 10:30 by GREGOIRE
Functionality requested by a prestigious customer (AIRBUS).
1 2 3