Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, boa tarde a todos,
Criei um pequeno sistema pra filtrar diferentes tipos de usuários cadastrados em um site utilizando facetas (filtros) como os encontrados em algumas lojas virtuais (por exemplo, quando procuramos por notebooks e podemos refinar a pesquisa pela marca, tamanho de tela, sistema operacional, preço, etc).
Existem duas situações nesse sistema: uma que filtra pelo tipo de usuário (que pode ser um profissional, uma empresa ou uma academia), e outra q filtra pela área de atuação desses usuários. Segue um JSON para uma breve ilustração dos usuários:
[{
nome: "Maria de Souza Silva",
tipo: "Profissionais",
atuacao: "Educação Física, Fitness (academia)",
estado: "PR"
}, {
nome: "Sup Suplementos",
tipo: "Empresas",
atuacao: "",
estado: "SP"
}, {
nome: "Fulano de Tal",
tipo: "Profissionais",
atuacao: "Beleza / Estética",
estado: "MT"
}, {
nome: "Training Academia",
tipo: "Academias",
atuacao: "",
estado: "PR"
}, {
nome: "Sicrano de Moraes",
tipo: "Profissionais",
atuacao: "Beleza / Estética",
estado: "SP"
}];
O filtro por tipo está ok, mas estou com dificuldades em criar o filtro por área de atuação.
Por se tratar de uma propriedade com multiplos valores (veja a Maria de Souza Silva, que atua nas áreas 'Educação Física' e 'Fitness (academia)', faço um Split pela virgula para criar os itens da faceta e depois, usando indexOf, vejo se esse item se encontra na propriedade 'atuacao'.
Acontece que, apesar de conseguir o retorno de um objeto contendo apenas os usuários cuja atuação combina com o filtro, esse objeto não atualiza o HTML corretamente. Já filtro por tipo retorna um objeto identico e atualiza a View corretamente. Alguém poderia, por favor, me explicar onde estou errando?
Segue link para que possam vê-lo em funcionamento (ou em não-funcionamento....):
http://plnkr.co/edit/lJoK2OOvgvdME0QaGcEN?p=preview
Desde já agradeço a ajuda!
Carregando comentários...