Проблема с планировщиком Kendo на дату начала и окончания DayLight Savings - PullRequest
0 голосов
/ 12 марта 2020

Получение проблемы по экономии дневного света при использовании в Kendo Scheduler. Выяснили способ исправить это, используя Kendo.timezones js в качестве добавления ссылки на проект, но теперь получаю еще один вопрос о дате начала и окончания планировщика.

Даты после этого показывают данные правильно

Использование культуры в качестве kendo.culture ("en-GB");

, а также с использованием kendo.timezones. js.

и настройкой часового пояса в виде Европы / Лондона, но проблема заключается в дате начала и окончания перехода на летнее время. Кендо-планировщик неправильно устанавливает время

            $scheduler.kendoScheduler({
                date: new Date(),
                startTime: moment(currentDate.format("DD/MM/YYYY"), "DD/MM/YYYY").toDate(),
                workDayStart: startTime.toDate(),
                workDayEnd: workDayEnd.toDate(),
                showWorkHours: true,
                eventTemplate: $("#schooldiary-template").html(),
                views: [
                    { type: "day", dateHeaderTemplate: "<span class='k-link k-nav-day'>#=kendo.toString(date, 'ddd dd/MM')#</span>", selected: DefaultView == "1" ? true : false },
                    { type: "week", dateHeaderTemplate: "<span class='k-link k-nav-day'>#=kendo.toString(date, 'ddd dd/MM')#</span>", selected: DefaultView == "2" ? true : false },
                    { type: "month", selected: DefaultView == "3" ? true : false },
                    { type: "workWeek", dateHeaderTemplate: "<span class='k-link k-nav-day'>#=kendo.toString(date, 'ddd dd/MM')#</span>", selected: !ShowWeekends }
                ],
                editable: {
                    editRecurringMode: "occurrence"
                },
                timezone: "Europe/London",
                navigate: function (e) {

                },
                moveStart: function (e) {
                    e.preventDefault();
                    return;
                },
                resizeStart: function (e) {
                    e.preventDefault();
                    return;
                },
               dataBound: function (e) {
                    var dataSource = [];
                    var startDate = e.sender._selectedView.startDate();
                    var endDate = e.sender._selectedView.endDate();
                    if (e.sender._selectedView.options.name == "DayView") {
                        startDate = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate(), 0, 0, 0);
                        endDate = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate(), 23, 59, 0);
                    }

                    if (startDate.getTime() == currentStartDate.getTime() && endDate.getTime() == currentEndDate.getTime()) {
                        return;
                    }

                    kendo.ui.progress($scheduler, true);
                    ajaxCall(url+ "list", JSON.stringify({
                        Type:Type,
                        startDate: startDate,
                        endDate: endDate,

                    }), function (data) {

                        currentStartDate = startDate;
                        currentEndDate = endDate;

                        data.d.forEach(function (item) {
                            var startDate = moment(item.StartDate);
                            var endDate = moment(item.EndDate);
                            if (item.RecurrencePatternSettings) {
                                var sDate = moment(moment(item.StartDate).startOf("day").toDate());
                                endDate = sDate.add(endDate.hours(), "hours").add(endDate.minutes(), "minutes");
                            }
                            dataSource.push({
                                id: item.ID,
                                start: startDate.toDate(),
                                end: endDate.toDate(),
                                description: item.Description,

                            });
                        });

                        kendo.ui.progress($scheduler, false);

                        $scheduler.data("kendoScheduler").setDataSource(dataSource);
                    });                       
                }

enter image description here

enter image description here

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...