Unified search algorithm across all lists; per-section record visibility (contacts, deals, activities, leads, finance, tickets, notes, projects)

This commit is contained in:
2026-10-06 15:04:46 +03:30
parent 43717392b2
commit e08f1452ef
38 changed files with 699 additions and 420 deletions
@@ -1,5 +1,6 @@
<script setup lang="ts">
import { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue';
import { matchesSearch } from '@/lib/search';
import TableColumnsMenu from '@/components/TableColumnsMenu.vue';
import axios from 'axios';
import { api } from '@/lib/api';
@@ -79,7 +80,7 @@ const visibleItems = computed(() => {
if (statusFilter.value === 'active' && !row.isActive) return false;
if (statusFilter.value === 'inactive' && row.isActive) return false;
if (!q) return true;
return `${row.name} ${row.description ?? ''} ${row.body}`.includes(q);
return matchesSearch(q, [row.name, row.description, row.body]);
});
});