diff --git a/app/src/plugins/tm@dashboard/projects/_components/a-project-filter.vue b/app/src/plugins/tm@dashboard/projects/_components/a-project-filter.vue index 4a37aa8..a113aeb 100644 --- a/app/src/plugins/tm@dashboard/projects/_components/a-project-filter.vue +++ b/app/src/plugins/tm@dashboard/projects/_components/a-project-filter.vue @@ -70,7 +70,16 @@ export default { projectsOptions() { // Added to "paginate" projects, because v-autocomplete was unable to handle so many projects at once - const projects = this.projects.filter(project => project.code.includes(this.projectCodeSearch)) + const pattern = /[^a-zA-Z0-9 ]/g + + const normalizedInput = this.projectCodeSearch + ? this.projectCodeSearch.normalize('NFD').replace(/[\u0300-\u036f]/g, '').replace(pattern, '') + : '' + + const projects = this.projects.filter(project => { + const normalizedProjectCode = project.code.normalize('NFD').replace(/[\u0300-\u036f]/g, '').replace(pattern, '') + return normalizedProjectCode.toLowerCase().includes(normalizedInput.toLowerCase()) + }) return projects?.length ? projects.slice(0, 10) : this.projects.slice(0, 10) } },