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