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

search feature revamp #619

Open
20 of 30 tasks
Domiii opened this issue Nov 30, 2021 · 1 comment
Open
20 of 30 tasks

search feature revamp #619

Domiii opened this issue Nov 30, 2021 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@Domiii
Copy link
Owner

Domiii commented Nov 30, 2021

Bugs

  • result counts in SearchBar remains (N/A) even there are some results
    • Test with express#1, searchTerm='get,put,get'

search functions

  • implement multiple search modes
    • contexts
    • traces
    • primtive values (matching only number and string values via val.includes(searchTerm))
      • Make sure that primitives that are nested inside of other values are also searched.
      • e.g.: we should find 5 his inside: var s = 'hi'; var a = [[[['hi']], { x: 'hi' } ]].concat(s, s)
      • make unique by valueId so that var s = 'hi' only generates 1 (and not 2 or 3) match(es).
        • -> maybe add duplicate occurrences of same valueId as children to the "first found node"?
    • modules
    • object keys
      • e.g., there should be 3 x's inside: var b = { x: { x: { ['a'] }, x: 'b' }
  • if search targets elements of smaller size than context (i.e. trace):
    • show separate count and next/previous buttons for traces
    • select relevant traces when going through search results
  • allow mixture of different search options, with parentheses and AND and OR relationships

UI

  • add one command per search mode. When executed:
    • the command takes you to the Call Graph (if not open)
    • sets the search mode to enabled and focuses the text input box.

Tests

  • check express#1: can we quickly find the bug by searching for GET,PUT,GET?

Done

  • when clicking on a value, it goes to the context, not the trace.
  • remove the second search button
  • replace the first button with a drop down to select the search mode
  • new component Search Manager(or Search Bar) which acts like common search bar in Chrome, including
    • show match counts
    • previous/next button
    • clear search button
    • able to toggle the search bar through original search buttons
  • show all results in a new SearchResultsNode in the new GlobalAnalysisView using a TraceContainerNode, and focus and expand that node
  • when exiting search mode, make sure to reset highlights/focus
  • stop searching when pressing Esc
  • make sure, search feature searches all active applications
  • move search features to SearchController class, similar to the controllers we use for TreeViews.
@Domiii Domiii added enhancement New feature or request priority labels Nov 30, 2021
@MiccWan
Copy link
Collaborator

MiccWan commented Dec 17, 2021

Blocked by #618

@MiccWan MiccWan added blocked Cannot currently continue on this due to other unresolved issues. and removed blocked Cannot currently continue on this due to other unresolved issues. labels Dec 17, 2021
@Domiii Domiii changed the title Replace the old CallGraph search feature search feature revamp Dec 23, 2021
This was referenced Jan 19, 2022
@MiccWan MiccWan removed the priority label Mar 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants