Skip to content

Conversation

@ivanskv2000
Copy link
Owner

@ivanskv2000 ivanskv2000 commented Aug 22, 2025

✨ What's Changed?

Enhanced Search Experience

  • 300ms debounce - smooth typing without performance issues
  • Escape key clearing - quick search reset functionality
  • Multi-field search - search across multiple fields simultaneously

Improved Search Coverage

  • Events: search by id + name + description (was: name only)
  • Fields: search by id + name + description (was: name only)
  • Tags: added debounce + Escape to existing id + description search

Clean Architecture

  • Created universal searchMultiField() and filterMultiField() functions
  • Built adapters for TanStack Table (createTableFilter())
  • Pre-configured filters: filterEvents(), filterFields(), filterTags()
  • Strict TypeScript - no any types, proper Event/Field/Tag typing

Files Changed

  • shared/utils/tableFilters.ts - new universal search utilities
  • shared/components/data/DataTableInputFilter.vue - debounce + escape
  • modules/events/components/eventColumns.ts - multi-field filter
  • modules/fields/components/fieldColumns.ts - multi-field filter
  • modules/tags/pages/TagsPage.vue - debounce + escape

How to Test It

  1. Events page - type "auth" → finds events with "auth" in name, description, or ID
  2. Fields page - type "user" → finds fields with "user" in name, description, or ID
  3. Tags page - fast typing → no lag (debounce), press Escape → clears instantly
  4. Performance - type rapidly → smooth experience without stuttering

Example Searches:

  • "1" → finds items with ID=1 and text containing "1"
  • "user login" → finds events/fields mentioning user login
  • "auth" → finds auth-related content across all searchable fields

@sonarqubecloud
Copy link

@ivanskv2000 ivanskv2000 merged commit 066d5ee into main Aug 22, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants