addFilter(filter: Object, index: Number, select: Boolean);
filter. Фильтр. Параметр содержит поле Filters, которое является массивом элементов перечисления PP.Mb.Ui.MetabaseObjectClass, и поле ResourceKey, содержащее ключ ресурса для получения наименования фильтра;
index. Позиция добавляемого фильтра в массиве;
select. Признак того, что добавляемый фильтр будет текущим.
Метод addFilter добавляет фильтр в базовый диалог с репозиторием.
Для выполнения примера необходимо наличие на html-странице компонента MetabaseDialogBase с наименованием «metabaseDialogBase» (см. «Пример создания компонента MetabaseDialogBase»). Удалим все фильтры из диалога, а затем добавим новый фильтр и сделаем его текущим:
// Удалим все фильтры у диалога
metabaseDialogBase.clearFiltersSet()
console.log("Количество фильтров после очистки: " + metabaseDialogBase.getFiltersSet().length);
// Создадим фильтр для отображения регламентных отчётов
var filter = {
Filters: [2562], // Фильтр для регламентных отчётов
// Ключ ресурса для получения наименования фильтра
ResourceKey: "openDialogReports"
};
// Добавим данный фильтр и сделаем его текущим
metabaseDialogBase.addFilter(filter, 1, true);
console.log("Количество фильтров после добавления: " + metabaseDialogBase.getFiltersSet().length);
// Получим текущий фильтр
var currentFilter = metabaseDialogBase.getCurrentFilter();
console.log("Текущий фильтр: " + PP.resourceManager.getString(currentFilter.ResourceKey).Content);
В результате выполнения примера из диалога сначала были удалены все фильтры, а затем был добавлен и сделан текущим новый, позволяющий отображать регламентные отчёты. Об этом свидетельствуют сообщения, выведенные в консоли браузера:
Количество фильтров после очистки: 0
Количество фильтров после добавления: 1
Текущий фильтр: Регламентные отчеты
См. также: