Implement a scope selector for the global search

Authored by epriestley.


Implement a scope selector for the global search

See M1433. Fixes T7266. Fixes T4475. Ref T7314.

Future work/notes/etc:

  • Write the User Guide (see TODO).
  • This might needs some design tweaks -- I think it's functionally almost-equivalent to the mock, but the UI isn't quite the same.
  • (Mobile design is a touch off-looking I think?)
  • When you use a custom query, the duplicate "magnifying glass" icons are a little weird. Maybe change one or the other.
  • Maybe worth adding an "Open Documents in Current Application" option? Planning to wait for feedback on that.
  • Need a Quicksand integration to change the current application at some point.
  • Searching in "Current Application" from, e.g., the 404 page just searches all documents. Current plan is to just document this behavior, since the icon is a pretty good callout and it seems plausible that this is intuitive enough that users won't have a hard time with it.

Test Plan:
New dropdown:


Normal search (current application, from maniphest, selects tasks):

Application search from non-application:

Reviewers: btrahan, chad

Reviewed By: chad

Subscribers: johnny-bit, epriestley

Maniphest Tasks: T7266, T7314, T4475

Differential Revision: https://secure.phabricator.com/D12509