Для того чтобы запустить событие перетаскивания сразу после загрузки страницы, необходимо использовать метод, который инициирует процесс перетаскивания у созданного события. Однако, в большинстве библиотек, даже в EventCalendar (если это аналог FullCalendar), прямая инициатива перетаскивания программным путем может быть не поддержана.
Тем не менее, вы можете попробовать программно имитировать поведение "перетаскивания". Обычно для этого нужно:
1. Создать событие.
2. Использовать событие для инициализации перетаскивания.
Поскольку в данной библиотеке может не быть встроенного метода для начала перетаскивания, придется использовать JavaScript, чтобы добавить поведение по перетаскиванию. Ваша задача сводится к созданию события, а затем визуальному изменению его положения.
Ниже приведен пример, как это можно сделать:
```javascript
// Инициализация календаря
const ec = new EventCalendar(document.getElementById('calendar'), {
view: 'resourceTimeGridDay',
locale: 'ru',
navLinks: true,
allDaySlot: false,
allDayContent: false,
weekNumberCalculation: 'ISO',
firstDay: 1,
editable: true,
slotMinTime: '07:00:00',
headerToolbar: {
start: 'prev,next today',
center: 'title',
end: 'dayGridMonth,timeGridWeek,resourceTimeGridDay'
},
dayHeaderFormat: {
weekday: 'long',
},
buttonText: {
today: 'Сегодня',
dayGridMonth: 'Месяц',
timeGridWeek: 'Неделя',
resourceTimeGridDay: 'День'
},
resources: [
{id: 1, title: 'Тестовый замерщик'},
],
events: [
{
id: '1',
title: 'Тестовый замер {{ $order_id }}',
start: '2025-03-07T09:00:00',
end: '2025-03-07T11:00:00',
resourceId: 1,
editable: true,
startEditable: true,
}
],
eventDrop: function(info) {
console.log(info.event);
},
eventReceive: function(info) {
console.log(info.event);
},
eventDragStart: function(info) {
console.log(info.event);
}
});
// Создание нового события
let newEvent = {
id: '2',
title: 'Новый тестовый замер',
start: '2025-03-07T11:00:00', // Устанавливайте начальное время
end: '2025-03-07T12:00:00', // Устанавливайте конечное время
resourceId: 1, // Убедитесь, что у вас есть соответствующий ресурс
editable: true,
startEditable: true,
};
// Добавление события в календарь
ec.addEvent(newEvent);
// Функция для имитации перетаскивания
function startDraggingEvent(eventId) {
const event = ec.getEventById(eventId);
if (event) {
// Здесь вы должны реализовать логику для "перетаскивания"
// Например, вы можете изменить позицию события, или отдать управление другим компонентам
console.log(`Перетаскивание события ${event.title}`);
// Возможно вам понадобиться использовать внутренний API библиотеки для управления событиями (если доступен)
}
}
// Запуск имитации перетаскивания после загрузки страницы
startDraggingEvent('2');
```
Учтите, что библиотека может не поддерживать полноценное перетаскивание программным путем из-за архитектуры. В этом случае, вам необходимо будет взаимодействовать с ее внутренним API или расширять функциональность через события или слушатели, если это доступно.