Содержание
dhtmlxScheduler, без сомнения, является одним из самых мощных компонентов планировщика с открытым исходным кодом / платным планировщиком, который вы можете найти в Интернете для создания потрясающего планировщика с различными режимами просмотра и даже временной шкалой. Во многих случаях вам нужно будет установить длительность по умолчанию для событий, чтобы ускорить процесс планирования вашего клиента, к счастью, dhtmlxScheduler позволяет это простым способом для общих представлений (и временной шкалы с небольшим фокусом), и мы покажем Вы, как это легко сделать в этой статье.
Режим просмотра недели и дня
Чтобы изменить продолжительность планировщика по умолчанию в представлении дня, недели и месяца, вы сможете изменить продолжительность добавляемого события по умолчанию, установив event_duration
собственность config
планировщика (Узнайте больше об этой опции здесь):
// 1. Set the auto end date option to true, so the end date will be added
// automatically and set the "event_duration" to an integer value that
// is represented in minutes e.g 60 minutes.
scheduler.config.event_duration = 60;
scheduler.config.auto_end_date = true;
// 2. Initialize your scheduler as usual and rest of configuration
scheduler.init('scheduler_here', new Date(2018, 05, 11), "week");
Таким образом, если вы щелкнете один раз в области планировщика, начальная продолжительность события составит 60 минут (1 час).
График
Если вы используете компонент Premium Timeline в dhtmlxScheduler, вы заметите, что предыдущий способ установить время по умолчанию для события не будет работать в этом представлении. К сожалению, нет никаких настроек для настройки такой вещи в режиме временной шкалы, однако вы сможете реализовать небольшой трюк при создании события в планировщике.
Хитрость заключается в том, чтобы установить дату окончания события вручную, имея в качестве точки отсчета дату начала, где вы можете изменить добавление минут / часов и т. Д., Чтобы у вас была желаемая «длительность события по умолчанию» в этом режиме:
scheduler.attachEvent("onEventCreated", function(id, e){
// Check if the selected view is timeline
if(scheduler.getState().mode == "timeline"){
// Retrieve the event object by its temporal id
var event = scheduler.getEvent(id);
// Set the end date of the scheduler. The scheduler date helper allows you to add minutes to a date
// easily, so the duration would depend on the minutes added to the start date
event.end_date = scheduler.date.add(ev.start_date, 60, "minute");
}
});
После щелчка один раз на временной шкале продолжительность события по умолчанию в этом представлении составит 60 минут.