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

getTaskBy

Description

Осуществляет поиск задачи на основе заданных критериев

getTaskBy: (propertyName: string | GanttCallback, propertyValue?: string | number | boolean | any[], types?: any) => Array<Task>

Parameters

  • propertyName - (required) string | function - свойство для поиска или функция фильтрации
  • propertyValue - (optional) string | number | boolean | array - значение для совпадения по свойству
  • types - (optional) object - объект, указывающий, какие типы задач включать в результаты

Returns

  • tasks - (Array <Task>) - массив объектов задач, соответствующих критериям

Example

// базовый поиск
const userTasks = gantt.getTaskBy("user_id", [5]);

// использование функции фильтрации
let userTasks = gantt.getTaskBy(function(task){
return task.user_id == 5 || !task.user_id;
});

userTasks = gantt.getTaskBy(task => task.user_id == 5);

Details

  • Этот метод позволяет выбрать задачи на основе значения свойства, например, найти задачи, назначенные определённому пользователю, или задачи, которые завершены.
  • При вызове gantt.getTaskBy(propertyName, propertyValue) используется нестрогое сравнение ("двойное равно", ==).
  • Результаты вызова gantt.getTaskBy(propertyName, propertyValue) могут кэшироваться gantt, что делает этот вариант потенциально более быстрым по сравнению с использованием функции фильтрации gantt.getTaskBy((task: object) => boolean).

По умолчанию gantt.getTaskBy() возвращает только задачи и вехи, соответствующие критериям, исключая элементы проектов.

Чтобы включить все типы записей, используйте третий параметр:

gantt.getTaskBy("progress", 1, { task: true, project: true, milestone: true });

Чтобы получить только определённый тип элемента, укажите его в третьем параметре:

gantt.getTaskBy("progress", 1, { project: true})

Change log

  • параметр types был добавлен в версии v8.0