Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
O Gerenciador de Conexão de Filtro é usado para gerenciar as associações de filtragem entre formulários de filtro (FilterForm) e blocos de dados (tabelas, listas, gráficos, etc.). Ele é fornecido pelo BlockGridModel e está disponível apenas dentro do seu contexto (ex: blocos de formulário de filtro, blocos de dados).
| Cenário | Descrição |
|---|---|
| Bloco de Formulário de Filtro | Gerencia as configurações de conexão entre itens de filtro e blocos de destino; atualiza os dados de destino quando os filtros são alterados. |
| Bloco de Dados (Tabela/Lista) | Atua como um destino de filtro, vinculando condições de filtro via bindToTarget. |
| Regras de Vinculação / FilterModel Personalizado | Chama refreshTargetsByFilter dentro de doFilter ou doReset para acionar a atualização dos destinos. |
| Configuração de Campo de Conexão | Usa getConnectFieldsConfig e saveConnectFieldsConfig para manter os mapeamentos de campos entre filtros e destinos. |
Nota:
ctx.filterManagersó está disponível em contextos RunJS que possuem umBlockGridModel(ex: dentro de uma página que contém um formulário de filtro); ele seráundefinedem JSBlocks comuns ou páginas independentes. Recomenda-se usar o encadeamento opcional (optional chaining) antes de acessá-lo.
| Método | Descrição |
|---|---|
getFilterConfigs() | Obtém todas as configurações de conexão de filtro atuais. |
getConnectFieldsConfig(filterId) | Obtém a configuração de campo de conexão para um filtro específico. |
saveConnectFieldsConfig(filterId, config) | Salva a configuração de campo de conexão para um filtro. |
addFilterConfig(config) | Adiciona uma configuração de filtro (filterId + targetId + filterPaths). |
removeFilterConfig({ filterId?, targetId?, persist? }) | Remove configurações de filtro por filterId, targetId ou ambos. |
bindToTarget(targetId) | Vincula a configuração de filtro a um bloco de destino, acionando seu recurso para aplicar o filtro. |
unbindFromTarget(targetId) | Desvincula o filtro do bloco de destino. |
| `refreshTargetsByFilter(filterId | filterId[])` |
FilterFormItemModel), que deve implementar getFilterValue() para retornar o valor atual do filtro.resource deve suportar addFilterGroup, removeFilterGroup e refresh.