Перейти к основному содержимому

onBeforeTaskChanged

Description

Срабатывает после того, как пользователь закончил перетаскивание и отпустил кнопку мыши, но до применения каких-либо изменений

onBeforeTaskChanged: (id: string | number, mode: string, task: Task) => boolean;

Parameters

  • id - (required) string | number - идентификатор задачи
  • mode - (required) string - режим drag-and-drop ("resize", "progress", "move", "ignore")
  • task - (required) Task - копия объекта задачи в её исходном состоянии (до перетаскивания)

Returns

  • result - (boolean) - определяет, будет ли выполнено действие по умолчанию (true) или отменено (false)

Example

gantt.attachEvent("onBeforeTaskChanged", function(id, mode, task){
// здесь можно добавить пользовательскую логику
return true;
});

Details

  • Это событие происходит, когда задача перетаскивается внутри области timeline.
  • Его можно заблокировать, вернув false, что отменит операцию перетаскивания.
  • Срабатывает до события onAfterTaskDrag.

Параметр task представляет исходный (неизменённый) объект задачи, в то время как данные задачи, получаемые через gantt.getTask(id), отражают обновлённое состояние. Это позволяет сравнивать и определить, что изменилось во время drag-and-drop - например, увеличилась или уменьшилась длительность, или сдвинулась дата начала вперёд или назад.
Возврат false из этого события приведёт к тому, что задача в Gantt вернётся к исходным значениям.