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

filter()

Описание

Фильтрует элементы диаграммы

Использование

filter(
rule?: function,
config?: {
id?: string,
add?: boolean,
permanent?: boolean
}
): void;

// или

filter(
rule?:{
by?: string | number,
match?: string | number | boolean,
compare?: (value, match, item) => {}
},
config?:{
id?: string,
add?: boolean,
permanent?: boolean
}
): void;

Параметры

  • rule - (необязательный) критерий фильтрации
    • Если задан как функция, фильтрация будет выполнена по правилу, указанному в этой функции. Функция принимает объект элемента данных в качестве параметра
    • Если задан как объект, параметр может иметь следующие атрибуты:
      • by - (необязательный) ключ атрибута элемента
      • match - (необязательный) шаблон для сопоставления
      • compare - (необязательный) функция для расширенной фильтрации. Функция возвращает true или false и принимает три параметра:
        • value - значение для сравнения
        • match - шаблон для сопоставления
        • item - элемент данных, значения которого нужно сравнить (например, фигура)
  • config - (необязательный) объект, определяющий параметры фильтрации. Объект может содержать следующие свойства:
    • id - (необязательный) id фильтра
    • add - (необязательный) определяет, будет ли каждая следующая фильтрация применяться к уже отфильтрованным данным (true), или к исходным данным (false, по умолчанию)
    • permanent - (необязательный) true, чтобы сделать текущий фильтр постоянным. Он будет применяться, даже если в объекте конфигурации следующей фильтрации отсутствует свойство add:true. Такой фильтр можно удалить только с помощью метода resetFilter()

Пример

const diagram = new dhx.Diagram("diagram_container", {
type: "default"
});
diagram.data.parse(data);

// фильтрация по правилу, заданному в функции
diagram.data.filter(function (shape) {
return shape.id > 3;
});

// фильтрация по ключу атрибута фигуры
diagram.data.filter({ by: "text", match: "Read N" });

Чтобы вернуть диаграмму в исходное состояние, вызовите метод filter() без параметров.

diagram.data.filter();

Полезная статья: Фильтрация элементов

Связанный пример: Diagram. Данные. Фильтрация фигур

Журнал изменений: Обновлено в v6.0