onBeforeDrop

сработает перед тем, как пользователь отпустит кнопку мыши при перетаскивании задачи на чарте

boolean onBeforeDrop(object task,object context);
taskobjectобъект задачи
contextobjectобъект с контекстом операции drop
booleanесли вернуть false, операции drop на чарте будут заблокированы

Example

$$("gantt1").attachEvent("onBeforeDrop", function(task, context) {
  const name = item.text || "(no title)";
  const mode = context.mode;
  if (mode == "move") {
    webix.message("'" + name + "' has been moved");
  }
  // ...
});

Related samples

Details

Объект context включает в себя поле mode, которое хранит режим drop операции со следующими возможными значениями:

  • "move" - перед тем, как бросить задачу на чарте: начальная и конечная даты будут изменены
  • "start" / "end" - при изменении продолжительности задачи (размера задачи на чарте): начальная и конечная даты будут изменены. В этом режиме объект context дополнительно содержит поле timeShift, которое определяет в каком направлении меняется начальная/конечная дата (вперёд или назад)
  • "progress" - при завершении изменения прогресса задачи. В этом режиме объект context дополнительно содержит поле progress, которое хранит конечный индикатор прогресса
  • "link" - при создании связи между задачами. В этом режиме объект context дополнительно содержит:
    • targetId - ID задачи, с которой установлена связь
    • linkType - тип cвязи:
      • 0 - "конец-начало"
      • 1 -"начало-начало"
      • 2 - "конец-конец"
      • 3 - "начало-конец".

Если вы вернёте false из обработчика события, любая операция drop с задачами на чарте (создание связи, изменение прогресса задачи, и т.д.) будет заблокирована.

$$("gantt1").attachEvent("onBeforeDrop", function(task, context) {
  return false; 
});

Обратите внимание, что событие срабатывает только при работе с задачами на чарте, и не срабатывает при работе с деревом задач.

See also
Наверх