Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
GitLab Community Edition
GitLab Community Edition
  • Project
    • Project
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
    • Locked Files
  • Issues 14,493
    • Issues 14,493
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 812
    • Merge Requests 812
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Registry
    • Registry
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • GitLab.org
  • GitLab Community EditionGitLab Community Edition
  • Merge Requests
  • !18323

You need to sign in or sign up before continuing.
Merged
Opened Apr 11, 2018 by Phil Hughes@iamphill
  • Report abuse
Report abuse

Added fuzzy file finder to web IDE

What does this MR do?

Adds a fuzzy file finder to the web IDE.

For performance this uses a virtual scroller. This ensures the DOM doesn't get overwhelmed with too many elements & cause the browser to crash. This in increases the performance by only rendering what the user can see.

For search it uses fuzzaldrin which ranks each item & then returns an array sorted by this ranking.

Each file has a lastOpenedAt unix timestamp attached to it which gets updated when a file is made active. This number is then used to order the initial files in the dropdown before filtering. Files opened more recently are sorted to the top of the list.

Different key commands open the dropdown. These are t, cmd p & ctrl p, these work when the editor is open & closed. esc key closes the dropdown as well as clicking outside of it. Full keyboard navigation is also available with the arrow keys changing the focused item up & down & then enter opening the selected file.

Screenshots (if relevant)

2018-04-12_09.45.44

What are the relevant issue numbers?

Closes #44841 (closed)

Edited Apr 16, 2018 by Phil Hughes
  • Discussion 49
  • Commits 27
  • Pipelines 24
  • Changes 26
Filipa Lacerda
Assignee
Filipa Lacerda @filipa
Assign to
10.8
Milestone
10.8
Assign milestone
Time tracking
2
Labels
frontend web ide
Assign labels
  • View project labels
Reference: gitlab-org/gitlab-ce!18323

Revert this merge request

This will create a new commit in order to revert the existing changes.

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.

Cherry-pick this merge request

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.