Я впервые использую FullCalendar вместе с плагином rrule в проекте .Net 8. Неповторяющиеся события отображаются правильно. Повторяющиеся события по какой-то причине начинаются с сегодняшнего дня, хотя дата начала находится в будущем. Вот мой код:
@section Scripts {
document.addEventListener('DOMContentLoaded', function () {
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
initialView: 'dayGridMonth',
eventDisplay: 'block',
dayMaxEvents: true,
headerToolbar: {
left: 'prev,next,today',
center: 'title',
right: 'multiMonthYear,dayGridMonth,timeGridWeek,timeGridDay,listMonth'
},
dateClick: function (info) {
var clickedDate = getDateWithoutTime(info.date);
var nowDate = getDateWithoutTime(new Date())
if (clickedDate >= nowDate) {
window.location.replace("/CalendarEvents/Create");
}
else alert("Sorry, you cannot create event for the past date.");
},
events: function (fetchInfo, successCallback, failureCallback) {
$.ajax({
url: "@Url.Action("GetCalendarEvents", "CalendarEvents")",
method: 'GET',
dataType: 'json',
success: function (response) {
var events = [];
$.each(response, function () {
events.push({
title: this.title,
start: this.event_start,
end: this.event_end,
backgroundColor: this.color,
borderColor: this.color,
textColor: '#ffffff',
dtstart:this.dtstart,
rrule: this.rrule,
extendedProps: {
description: this.description,
color: this.color,
id: this.id
}
});
});
successCallback(events);
},
error: function (jqXHR, textStatus, errorThrown) {
failureCallback();
}
});
},
eventMouseEnter: function (info) {
$(info.el).attr("tabindex", -1);
var editURL = 'https://' + window.location.host + '/CalendarEvents/Edit/' + info.event.extendedProps.id;
var deleteURL = 'https://' + window.location.host + '/CalendarEvents/Delete/' + info.event.extendedProps.id;
var details = "[b]Start Time:[/b] " + moment(info.event.start).format('MMMM D, YYYY, h:mm a') + "
[b]End Time:[/b] " + moment(info.event.end).format('MMMM D, YYYY, h:mm a') + "
[b]Description:[/b] " + info.event.extendedProps.description + "
Edit Delete";
$(info.el).popover({ title: info.event.title, content: details, html: true, trigger: 'hover focus', }).popover('toggle');
}
});
calendar.render();
});
function getDateWithoutTime(dt) {
dt.setHours(0, 0, 0, 0);
return dt;
}
}
Вот что я вижу в журнале консоли:
event_start: 2024-10-31T14:30:00
event_end: 2024- 11-08T15:31:00
dtstart: 2024-10-31T14:30:00
правило: FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR;UNTIL=20241109
Но это повторяющееся событие отображается с сегодняшнего дня, а не с 31 октября. Есть идеи, какую ошибку я совершаю?
Я впервые использую FullCalendar вместе с плагином rrule в проекте .Net 8. Неповторяющиеся события отображаются правильно. Повторяющиеся события по какой-то причине начинаются с сегодняшнего дня, хотя дата начала находится в будущем. Вот мой код: [code]
@section Scripts {
document.addEventListener('DOMContentLoaded', function () { var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, { initialView: 'dayGridMonth', eventDisplay: 'block', dayMaxEvents: true, headerToolbar: { left: 'prev,next,today', center: 'title', right: 'multiMonthYear,dayGridMonth,timeGridWeek,timeGridDay,listMonth' }, dateClick: function (info) { var clickedDate = getDateWithoutTime(info.date); var nowDate = getDateWithoutTime(new Date()) if (clickedDate >= nowDate) { window.location.replace("/CalendarEvents/Create"); } else alert("Sorry, you cannot create event for the past date."); }, events: function (fetchInfo, successCallback, failureCallback) { $.ajax({ url: "@Url.Action("GetCalendarEvents", "CalendarEvents")", method: 'GET', dataType: 'json', success: function (response) { var events = []; $.each(response, function () { events.push({ title: this.title, start: this.event_start, end: this.event_end, backgroundColor: this.color, borderColor: this.color, textColor: '#ffffff', dtstart:this.dtstart, rrule: this.rrule, extendedProps: { description: this.description, color: this.color, id: this.id } }); });
function getDateWithoutTime(dt) { dt.setHours(0, 0, 0, 0); return dt; }
} [/code] Вот что я вижу в журнале консоли: event_start: 2024-10-31T14:30:00 event_end: 2024- 11-08T15:31:00 dtstart: 2024-10-31T14:30:00 правило: FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR;UNTIL=20241109 Но это повторяющееся событие отображается с сегодняшнего дня, а не с 31 октября. Есть идеи, какую ошибку я совершаю?
fullcalendar js, когда к длинному событию добавляется заголовок, появляется каждую неделю. Это способ заставить заголовок отображаться один раз? Я пробую код на v5 и v6, заголовок появляется каждую неделю....
Я работаю над проектом codeIgniter. Я использую FullCalendar для вставки событий. Концепция, которую я хочу реализовать, похожа на Календарь Google. Когда пользователь щелкает день в календаре, он вставляет событие, начинающееся с даты выбранного...