Page MenuHomePhabricator

Begin modularizing typeahead sources
ClosedPublic

Authored by epriestley on Feb 14 2014, 3:33 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Dec 3, 11:41 AM
Unknown Object (File)
Tue, Dec 3, 11:41 AM
Unknown Object (File)
Tue, Dec 3, 11:41 AM
Unknown Object (File)
Tue, Dec 3, 11:15 AM
Unknown Object (File)
Fri, Nov 29, 1:51 AM
Unknown Object (File)
Fri, Nov 29, 1:51 AM
Unknown Object (File)
Fri, Nov 29, 1:51 AM
Unknown Object (File)
Fri, Nov 29, 1:51 AM
Subscribers

Details

Summary

Ref T4420. This sets up the basics for modular typeahead sources. Basically, the huge switch() is just replaced with class-based runtime dispatch.

The only clever bit I'm doing here is with CompositeDatasource, which pretty much just combines the results from several other datasources. We can use this to implement some of the weird cases where we need multiple types of results, although I think I can entirely eliminate many of them entirely. It also makes top-level implementation simpler, since more logic can go inside the sources.

Sources are also application-aware, will be responsible for placeholder text, and have a slightly nicer debug view.

Test Plan

{F112859}

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped