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

Reimplementation of Searchbar #630

Draft
wants to merge 3 commits into
base: dev
Choose a base branch
from

Conversation

JamesKunstle
Copy link
Contributor

@JamesKunstle JamesKunstle commented Jan 26, 2024

The searchbar has always been a bit painful in our app because we drove it with the backend- each key press registered as an HTTP request to the app server, and the updated search results were returned.

In this setup, we send ALL options to the frontend and let the React MultiSelect component handle search for us.

This should minimize the weird search behavior of orgs being duplicated and repos not being entered correctly.

I also took this opportunity to think through how we could reorganize our interfaces to Augur, unpacking the AugurManager object and creating a new MSOptionsHandler object ("MultiSelect Options Handler") that replaces the searchbar features that used to be in the AugurManager.

  • moves searchbar pre-querying into _multiselect.py file
  • manages sqlalchemy engine in models.py file
  • reflects table metadata from 'repo' and 'repo_groups' tables in Augur
  • switches searchbar to search through available options locally.

next step is to handle user groups in this same way, likely with a second, optional multiselect bar that is enabled when the user is logged in.

I'd also like to consider having Repos and Orgs in separate search bars, and discouraging querying for entire orgs by putting orgs behind a dropdown (MOST of the time looking at the entire org isn't necessary).

cdolfi and others added 3 commits January 18, 2024 14:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Testing | Waiting on PR response | Blocked
Development

Successfully merging this pull request may close these issues.

2 participants