Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F19490031
D18760.id45025.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
9 KB
Referenced Files
None
Subscribers
None
D18760.id45025.diff
View Options
diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -2966,6 +2966,7 @@
'PhabricatorGitGraphStream' => 'applications/repository/daemon/PhabricatorGitGraphStream.php',
'PhabricatorGitHubAuthProvider' => 'applications/auth/provider/PhabricatorGitHubAuthProvider.php',
'PhabricatorGlobalLock' => 'infrastructure/util/PhabricatorGlobalLock.php',
+ 'PhabricatorGlobalSearchDatasourceInterface' => 'applications/search/interface/PhabricatorGlobalSearchDatasourceInterface.php',
'PhabricatorGlobalUploadTargetView' => 'applications/files/view/PhabricatorGlobalUploadTargetView.php',
'PhabricatorGoogleAuthProvider' => 'applications/auth/provider/PhabricatorGoogleAuthProvider.php',
'PhabricatorGuidanceContext' => 'applications/guides/guidance/PhabricatorGuidanceContext.php',
@@ -5891,7 +5892,10 @@
'DiffusionRepositoryByIDRemarkupRule' => 'PhabricatorObjectRemarkupRule',
'DiffusionRepositoryClusterEngine' => 'Phobject',
'DiffusionRepositoryController' => 'DiffusionController',
- 'DiffusionRepositoryDatasource' => 'PhabricatorTypeaheadDatasource',
+ 'DiffusionRepositoryDatasource' => array(
+ 'PhabricatorTypeaheadDatasource',
+ 'PhabricatorGlobalSearchDatasourceInterface',
+ ),
'DiffusionRepositoryDefaultController' => 'DiffusionController',
'DiffusionRepositoryEditActivateController' => 'DiffusionRepositoryManageController',
'DiffusionRepositoryEditConduitAPIMethod' => 'PhabricatorEditEngineAPIMethod',
@@ -5943,7 +5947,10 @@
'DiffusionSvnRawDiffQuery' => 'DiffusionRawDiffQuery',
'DiffusionSvnRequest' => 'DiffusionRequest',
'DiffusionSymbolController' => 'DiffusionController',
- 'DiffusionSymbolDatasource' => 'PhabricatorTypeaheadDatasource',
+ 'DiffusionSymbolDatasource' => array(
+ 'PhabricatorTypeaheadDatasource',
+ 'PhabricatorGlobalSearchDatasourceInterface',
+ ),
'DiffusionSymbolQuery' => 'PhabricatorOffsetPagedQuery',
'DiffusionTagListController' => 'DiffusionController',
'DiffusionTagListView' => 'DiffusionView',
@@ -7154,7 +7161,10 @@
'PhabricatorApplicationConfigOptions' => 'Phobject',
'PhabricatorApplicationConfigurationPanel' => 'Phobject',
'PhabricatorApplicationConfigurationPanelTestCase' => 'PhabricatorTestCase',
- 'PhabricatorApplicationDatasource' => 'PhabricatorTypeaheadDatasource',
+ 'PhabricatorApplicationDatasource' => array(
+ 'PhabricatorTypeaheadDatasource',
+ 'PhabricatorGlobalSearchDatasourceInterface',
+ ),
'PhabricatorApplicationDetailViewController' => 'PhabricatorApplicationsController',
'PhabricatorApplicationEditController' => 'PhabricatorApplicationsController',
'PhabricatorApplicationEditEngine' => 'PhabricatorEditEngine',
@@ -8965,7 +8975,10 @@
'PhabricatorPeopleController' => 'PhabricatorController',
'PhabricatorPeopleCreateController' => 'PhabricatorPeopleController',
'PhabricatorPeopleCreateGuidanceContext' => 'PhabricatorGuidanceContext',
- 'PhabricatorPeopleDatasource' => 'PhabricatorTypeaheadDatasource',
+ 'PhabricatorPeopleDatasource' => array(
+ 'PhabricatorTypeaheadDatasource',
+ 'PhabricatorGlobalSearchDatasourceInterface',
+ ),
'PhabricatorPeopleDeleteController' => 'PhabricatorPeopleController',
'PhabricatorPeopleDetailsProfileMenuItem' => 'PhabricatorProfileMenuItem',
'PhabricatorPeopleDisableController' => 'PhabricatorPeopleController',
@@ -9198,7 +9211,10 @@
'PhabricatorProjectCustomFieldStorage' => 'PhabricatorCustomFieldStorage',
'PhabricatorProjectCustomFieldStringIndex' => 'PhabricatorCustomFieldStringIndexStorage',
'PhabricatorProjectDAO' => 'PhabricatorLiskDAO',
- 'PhabricatorProjectDatasource' => 'PhabricatorTypeaheadDatasource',
+ 'PhabricatorProjectDatasource' => array(
+ 'PhabricatorTypeaheadDatasource',
+ 'PhabricatorGlobalSearchDatasourceInterface',
+ ),
'PhabricatorProjectDefaultController' => 'PhabricatorProjectBoardController',
'PhabricatorProjectDescriptionField' => 'PhabricatorProjectStandardCustomField',
'PhabricatorProjectDetailsProfileMenuItem' => 'PhabricatorProfileMenuItem',
@@ -9860,7 +9876,10 @@
'PhabricatorTypeaheadFunctionHelpController' => 'PhabricatorTypeaheadDatasourceController',
'PhabricatorTypeaheadInvalidTokenException' => 'Exception',
'PhabricatorTypeaheadModularDatasourceController' => 'PhabricatorTypeaheadDatasourceController',
- 'PhabricatorTypeaheadMonogramDatasource' => 'PhabricatorTypeaheadDatasource',
+ 'PhabricatorTypeaheadMonogramDatasource' => array(
+ 'PhabricatorTypeaheadDatasource',
+ 'PhabricatorGlobalSearchDatasourceInterface',
+ ),
'PhabricatorTypeaheadResult' => 'Phobject',
'PhabricatorTypeaheadRuntimeCompositeDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
'PhabricatorTypeaheadTokenView' => 'AphrontTagView',
diff --git a/src/applications/diffusion/typeahead/DiffusionRepositoryDatasource.php b/src/applications/diffusion/typeahead/DiffusionRepositoryDatasource.php
--- a/src/applications/diffusion/typeahead/DiffusionRepositoryDatasource.php
+++ b/src/applications/diffusion/typeahead/DiffusionRepositoryDatasource.php
@@ -1,7 +1,8 @@
<?php
final class DiffusionRepositoryDatasource
- extends PhabricatorTypeaheadDatasource {
+ extends PhabricatorTypeaheadDatasource
+ implements PhabricatorGlobalSearchDatasourceInterface {
public function getBrowseTitle() {
return pht('Browse Repositories');
diff --git a/src/applications/diffusion/typeahead/DiffusionSymbolDatasource.php b/src/applications/diffusion/typeahead/DiffusionSymbolDatasource.php
--- a/src/applications/diffusion/typeahead/DiffusionSymbolDatasource.php
+++ b/src/applications/diffusion/typeahead/DiffusionSymbolDatasource.php
@@ -1,7 +1,8 @@
<?php
final class DiffusionSymbolDatasource
- extends PhabricatorTypeaheadDatasource {
+ extends PhabricatorTypeaheadDatasource
+ implements PhabricatorGlobalSearchDatasourceInterface {
public function isBrowsable() {
// This is slightly involved to make browsable, and browsing symbols
diff --git a/src/applications/meta/typeahead/PhabricatorApplicationDatasource.php b/src/applications/meta/typeahead/PhabricatorApplicationDatasource.php
--- a/src/applications/meta/typeahead/PhabricatorApplicationDatasource.php
+++ b/src/applications/meta/typeahead/PhabricatorApplicationDatasource.php
@@ -1,7 +1,8 @@
<?php
final class PhabricatorApplicationDatasource
- extends PhabricatorTypeaheadDatasource {
+ extends PhabricatorTypeaheadDatasource
+ implements PhabricatorGlobalSearchDatasourceInterface {
public function getBrowseTitle() {
return pht('Browse Applications');
diff --git a/src/applications/people/typeahead/PhabricatorPeopleDatasource.php b/src/applications/people/typeahead/PhabricatorPeopleDatasource.php
--- a/src/applications/people/typeahead/PhabricatorPeopleDatasource.php
+++ b/src/applications/people/typeahead/PhabricatorPeopleDatasource.php
@@ -1,7 +1,8 @@
<?php
final class PhabricatorPeopleDatasource
- extends PhabricatorTypeaheadDatasource {
+ extends PhabricatorTypeaheadDatasource
+ implements PhabricatorGlobalSearchDatasourceInterface {
public function getBrowseTitle() {
return pht('Browse Users');
diff --git a/src/applications/project/typeahead/PhabricatorProjectDatasource.php b/src/applications/project/typeahead/PhabricatorProjectDatasource.php
--- a/src/applications/project/typeahead/PhabricatorProjectDatasource.php
+++ b/src/applications/project/typeahead/PhabricatorProjectDatasource.php
@@ -1,7 +1,8 @@
<?php
final class PhabricatorProjectDatasource
- extends PhabricatorTypeaheadDatasource {
+ extends PhabricatorTypeaheadDatasource
+ implements PhabricatorGlobalSearchDatasourceInterface {
public function getBrowseTitle() {
return pht('Browse Projects');
diff --git a/src/applications/search/interface/PhabricatorGlobalSearchDatasourceInterface.php b/src/applications/search/interface/PhabricatorGlobalSearchDatasourceInterface.php
new file mode 100644
--- /dev/null
+++ b/src/applications/search/interface/PhabricatorGlobalSearchDatasourceInterface.php
@@ -0,0 +1,7 @@
+<?php
+
+/**
+ * Add this interface to your TypeaheadDatasource to make it accessible via the
+ * quick-search typeahead.
+ */
+interface PhabricatorGlobalSearchDatasourceInterface {}
diff --git a/src/applications/search/typeahead/PhabricatorSearchDatasource.php b/src/applications/search/typeahead/PhabricatorSearchDatasource.php
--- a/src/applications/search/typeahead/PhabricatorSearchDatasource.php
+++ b/src/applications/search/typeahead/PhabricatorSearchDatasource.php
@@ -16,14 +16,9 @@
}
public function getComponentDatasources() {
- $sources = array(
- new PhabricatorPeopleDatasource(),
- new PhabricatorProjectDatasource(),
- new PhabricatorApplicationDatasource(),
- new PhabricatorTypeaheadMonogramDatasource(),
- new DiffusionRepositoryDatasource(),
- new DiffusionSymbolDatasource(),
- );
+ $sources = id(new PhutilClassMapQuery())
+ ->setAncestorClass('PhabricatorGlobalSearchDatasourceInterface')
+ ->execute();
// These results are always rendered in the full browse display mode, so
// set the browse flag on all component sources.
diff --git a/src/applications/typeahead/datasource/PhabricatorTypeaheadMonogramDatasource.php b/src/applications/typeahead/datasource/PhabricatorTypeaheadMonogramDatasource.php
--- a/src/applications/typeahead/datasource/PhabricatorTypeaheadMonogramDatasource.php
+++ b/src/applications/typeahead/datasource/PhabricatorTypeaheadMonogramDatasource.php
@@ -1,7 +1,8 @@
<?php
final class PhabricatorTypeaheadMonogramDatasource
- extends PhabricatorTypeaheadDatasource {
+ extends PhabricatorTypeaheadDatasource
+ implements PhabricatorGlobalSearchDatasourceInterface {
public function isBrowsable() {
// This source isn't meaningfully browsable. Although it's technically
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Jan 9, 6:18 AM (1 d, 2 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
14373615
Default Alt Text
D18760.id45025.diff (9 KB)
Attached To
Mode
D18760: Modernize QuickSearch typeahead
Attached
Detach File
Event Timeline
Log In to Comment