auto complete
This commit is contained in:
parent
642ccf4c1a
commit
1ee3b2d207
9 changed files with 2166 additions and 2163 deletions
27
src/componentes/EliEntrada/utils/filtroSelecao.ts
Normal file
27
src/componentes/EliEntrada/utils/filtroSelecao.ts
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
/**
|
||||
* Utilitário de filtragem para os componentes de seleção (EliEntradaSelecao e EliEntradaSelecaoMultipla).
|
||||
*
|
||||
* Normaliza a string removendo acentos e convertendo para minúsculas antes de comparar,
|
||||
* garantindo que "São Paulo" seja encontrado digitando "sao paulo" ou "SÃO PAULO".
|
||||
*/
|
||||
|
||||
/** Remove acentos e converte para minúsculas para comparação insensível. */
|
||||
function normalizar(texto: string): string {
|
||||
return texto
|
||||
.normalize("NFD") // decompõe caracteres acentuados (ex: "ã" → "a" + diacrítico)
|
||||
.replace(/\p{Diacritic}/gu, "") // remove os diacríticos
|
||||
.toLowerCase()
|
||||
}
|
||||
|
||||
/**
|
||||
* Função de filtro customizada para v-autocomplete do Vuetify.
|
||||
*
|
||||
* Vuetify passa (value, query, item):
|
||||
* - `value` → texto do item renderizado (item-title resolvido)
|
||||
* - `query` → texto digitado pelo usuário
|
||||
* - `item` → objeto completo do item (não usado aqui)
|
||||
*/
|
||||
export function filtroSelecao(value: string, query: string): boolean {
|
||||
if (!query) return true
|
||||
return normalizar(value).includes(normalizar(query))
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue