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. Если это событие возвращает 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)
    //делать что-то
К началу