В данной библиотеке доступно расширение Limit, которое позволяет блокировать и выделять определённые даты или диапазоны дат.
Чтобы начать использовать этот плагин, просто активируйте его на вашей странице.
Обратите внимание, если вы используете Вид "Timeline", расширение 'limit' должно быть подключено раньше, чем 'timeline':
scheduler.plugins({
limit: true, timeline: true
});
Ниже представлены параметры конфигурации, доступные для этого расширения:
Related sample: Current time marking
Если пользователь попытается создать или изменить событие на недопустимую дату, будет вызвано событие onLimitViolation.
Существует несколько способов задать ограничения в Gantt:
Related sample: Blocking dates
Вы можете использовать эти два метода для подсветки определённых дат:
Related sample: Handling the pointer highlighting
Чтобы снять текущее выделение или блокировку промежутков времени, используйте следующие методы:
Related sample: Handling the pointer highlighting
Если используются несколько методов блокировки для разных диапазонов, приоритет блокировки работает следующим образом (от наивысшего к низшему):
Например:
scheduler.addMarkedTimespan({ // блокирует 4 июля 2012 года (среда).
days: new Date(2019, 7, 4),
zones: "fullday",
type: "dhx_time_block",
css: "red_section" // применён CSS-класс
});
scheduler.addMarkedTimespan({ // блокирует каждое воскресенье, понедельник, среду
days: [0, 1, 3],
zones: "fullday",
type: "dhx_time_block",
css: "blue_section" // применён CSS-класс
});
// блокирует только воскресенье и среду для элемента с id=2
scheduler.addMarkedTimespan({
days: [0,3],
zones: "fullday",
type: "dhx_time_block",
css: "gray_section", // применён CSS-класс
sections: { timeline: 2}
});
После этих вызовов Gantt будет работать следующим образом:
Если вы хотите отображать все маркеры вне зависимости от их приоритета, установите параметр overwrite_marked_timespans следующим образом:
scheduler.config.overwrite_marked_timespans_config = false;
Наверх