Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Student searchbar: Migrate to React component and optimize for larger lists #2485

merged 10 commits into from May 29, 2019


Copy link

This builds on #2194 and replaces it.

Who is this PR for?

districtwide admin, school admin in large buildings

What problem does this PR fix?

This searchbar can be quite slow for districtwide admin or schoolwide admin in large buildings.

The existing jQuery autocomplete UI doesn't have good hooks for truncating the results returned, and uses a library we'd like to remove as a dependency to limit pieces of UI we depend on.

Right now the way the student searchbar matches it won't match last name, first name or with partial matches.

What does this PR do?

Updates the student searchbar so that it matches any part of the student name in any order (eg, either last name or first name first is fine). Replaces autocomplete with react-autocomplete, keeping the same sessionStorage caching.

Revise the label text ahead of potentially adding a new searchbar for the feed notes, and add a placeholder text to the input.

Add some optimizations for truncating large lists (eg, >500 students), and in that case offer to link to the My students page instead.

Screenshot (if adding a client-side feature)

This shows fake names from (fake_names.rb):



Which features or pages does this PR touch?

  • Core

Does this PR use tests to help verify we can deploy these changes quickly and confidently?

  • Included specs for changes
  • Improved specs for existing code in need of better test coverage
  • Manual testing made more sense here

Copy link
Contributor Author


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet

Successfully merging this pull request may close these issues.

None yet

1 participant