isLinkAllowed

проверяет, является ли указанный линк корректным

boolean isLinkAllowed(string | number | LinkForValidation linkOrFrom, [boolean from_start,string | number | null | undefined to,boolean to_start] );
linkOrFromstring | number | LinkForValidationлибо ID источника (предшествующей) задачи, либо объект линка со следующими свойствами:
from_startbooleanнеобязательный, указывает, перетаскивается ли линк с начала источника (предшествующей) задачи (*true*) или с её конца (*false*). Не требуется, если первый параметр задан как объект
tostring | number | null | undefinedнеобязательный, ID целевой (последующей) задачи. Может иметь значение *null* или *undefined*, если целевая задача ещё не указана. Не требуется, если первый параметр задан как объект
to_startbooleanнеобязательный, указывает, перетаскивается ли линк к началу целевой (последующей) задачи (*true*) или с её конца (*false*). Не требуется, если первый параметр задан как объект
booleantrue, если линк корректен. В противном случае false

Example

const link = {
    source:2,
    target:2,
    type:gantt.config.link.start_to_start
};
if(gantt.isLinkAllowed(link))// -> false (поскольку source==target)
    gantt.addLink(link);

Details

Объект линка отличается от объекта Link и имеет только 3 свойства:

  • source - (string | number) - ID источника (предшествующей) задачи.
  • target - (string | number) - ID целевой (последующей) задачи.
  • type - (string) - тип линка.

Случаи, когда линк считается некорректным:

  1. ID источника задачи равен ID целевой задачи.
  2. Если тип установлен на значение, которое не равно 0, 1, 2 или 3.
  3. Если линк не прошёл валидацию.
  4. Если линк создаётся от проектной задачи к её подзадаче. Даты проектной задачи зависят от дат дочерних задач.

Метод вызывает событие onLinkValidation. Поэтому, если событие onLinkValidation возвращает false, линк также будет считаться некорректным.


Обратите внимание, что существует второй способ вызова метода:

gantt.isLinkAllowed(from, from_start, to, to_start )

Вот описание типов аргументов:

  • from - (string | number | object) - либо ID источника (предшествующей) задачи, либо объект линка со следующими свойствами:
  • from_start? - (boolean) - необязательный, указывает, перетаскивается ли линк с начала источника (предшествующей) задачи (true) или с её конца (false). Не требуется, если первый параметр задан как объект
  • to? - (string | number | null | undefined) - необязательный, ID целевой (последующей) задачи. Может иметь значение null или undefined, если целевая задача ещё не указана. Не требуется, если первый параметр задан как объект
  • to_start? - (boolean) - необязательный, указывает, перетаскивается ли линк к началу целевой (последующей) задачи (true) или с её конца (false). Не требуется, если первый параметр задан как объект

Например, приведённый выше код можно изменить следующим образом:

//var link = {
//    source:2,
//    target:2,
//    type:gantt.config.link.start_to_start
//};
 
if(gantt.isLinkAllowed(2, true, 2, true))// -> false (поскольку source==target)
//do something
К началу