Skip to content

Conversation

@TszTungChau-Jo
Copy link

@TszTungChau-Jo TszTungChau-Jo commented Nov 29, 2025

Fixes #13054

Outline of Solution

Replaced the recipient dropdown with a typeahead search component that supports substring filtering, allowing users to search recipients by typing any part of their name (case-insensitive).

Key Updates:

  • Implemented ngbTypeahead from ng-bootstrap for autocomplete functionality with 200ms debounce
  • Added substringFilter() method for case-insensitive substring matching anywhere in recipient names
  • Added click-to-show-all functionality with a dropdown arrow icon for users to view all options without typing

Testing Done:

  • All existing unit tests pass (95 tests)

  • Lint and build successful

  • Manual testing completed:

    • Substring search works correctly (case-insensitive, matches anywhere in name)
    • Click dropdown arrow to shows all available recipients
    • Selection question types correctly filter out already-selected recipients
    • Reset button properly clears random text and restores last submitted values
    • No duplicate recipients appear in multiple selection fields
    • Manually deleted recipients can be searched and selected again

Screenshots:
image
image

TszTungChau-Jo added 9 commits November 24, 2025 19:07
…tring filtering

- Replace dropdown with ng-bootstrap typeahead for better UX
- Add substring filtering that matches anywhere in recipient names (case-insensitive)
- Add click-to-show-all functionality to view all recipients
- Add dropdown arrow icon for visual clarity
- Fix reset behavior to restore last submitted state (not initial state)
- Show all recipients on click, filter by selection only during typing
- Support FLEXIBLE_RECIPIENT mode with proper state management
@github-actions
Copy link

Hi @TszTungChau-Jo, thank you for your interest in contributing to TEAMMATES!
However, your PR does not appear to follow our contribution guidelines:

  • Title must start with the issue number the PR is fixing in square brackets, e.g. [#<issue-number>]
  • Description must reference the issue number the PR is fixing, e.g. Fixes #<issue-number> (or Part of #<issue-number> if the PR does not address the issue fully)

Please address the above before we proceed to review your PR.

@TszTungChau-Jo TszTungChau-Jo changed the title Resolve issue #13054 - enhance recipient search selection [#13054] Resolve - Enhanced recipient search selection Nov 29, 2025
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.

Make substrings of the name in dropdown selections of recipient to be searchable

1 participant