diff --git a/src/applications/almanac/typeahead/AlmanacInterfaceDatasource.php b/src/applications/almanac/typeahead/AlmanacInterfaceDatasource.php --- a/src/applications/almanac/typeahead/AlmanacInterfaceDatasource.php +++ b/src/applications/almanac/typeahead/AlmanacInterfaceDatasource.php @@ -9,6 +9,10 @@ return false; } + public function getBrowseTitle() { + return pht('Browse Interfaces'); + } + public function getPlaceholderText() { return pht('Type an interface name...'); } diff --git a/src/applications/almanac/typeahead/AlmanacServiceDatasource.php b/src/applications/almanac/typeahead/AlmanacServiceDatasource.php --- a/src/applications/almanac/typeahead/AlmanacServiceDatasource.php +++ b/src/applications/almanac/typeahead/AlmanacServiceDatasource.php @@ -3,6 +3,10 @@ final class AlmanacServiceDatasource extends PhabricatorTypeaheadDatasource { + public function getBrowseTitle() { + return pht('Browse Services'); + } + public function getPlaceholderText() { return pht('Type a service name...'); } diff --git a/src/applications/diffusion/typeahead/DiffusionArcanistProjectDatasource.php b/src/applications/diffusion/typeahead/DiffusionArcanistProjectDatasource.php --- a/src/applications/diffusion/typeahead/DiffusionArcanistProjectDatasource.php +++ b/src/applications/diffusion/typeahead/DiffusionArcanistProjectDatasource.php @@ -8,6 +8,10 @@ return false; } + public function getBrowseTitle() { + return pht('Browse Arcanist Projects'); + } + public function getPlaceholderText() { return pht('Type an arcanist project name...'); } diff --git a/src/applications/diffusion/typeahead/DiffusionAuditorDatasource.php b/src/applications/diffusion/typeahead/DiffusionAuditorDatasource.php --- a/src/applications/diffusion/typeahead/DiffusionAuditorDatasource.php +++ b/src/applications/diffusion/typeahead/DiffusionAuditorDatasource.php @@ -3,6 +3,10 @@ final class DiffusionAuditorDatasource extends PhabricatorTypeaheadCompositeDatasource { + public function getBrowseTitle() { + return pht('Browse Auditors'); + } + public function getPlaceholderText() { return pht('Type a user, project or package name...'); } 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 @@ -3,6 +3,10 @@ final class DiffusionRepositoryDatasource extends PhabricatorTypeaheadDatasource { + public function getBrowseTitle() { + return pht('Browse Repositories'); + } + public function getPlaceholderText() { return pht('Type a repository name...'); } 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 @@ -9,6 +9,10 @@ return false; } + public function getBrowseTitle() { + return pht('Browse Symbols'); + } + public function getPlaceholderText() { return pht('Type a symbol name...'); } diff --git a/src/applications/harbormaster/typeahead/HarbormasterBuildDependencyDatasource.php b/src/applications/harbormaster/typeahead/HarbormasterBuildDependencyDatasource.php --- a/src/applications/harbormaster/typeahead/HarbormasterBuildDependencyDatasource.php +++ b/src/applications/harbormaster/typeahead/HarbormasterBuildDependencyDatasource.php @@ -8,6 +8,10 @@ return false; } + public function getBrowseTitle() { + return pht('Browse Dependencies'); + } + public function getPlaceholderText() { return pht('Type another build step name...'); } diff --git a/src/applications/harbormaster/typeahead/HarbormasterBuildPlanDatasource.php b/src/applications/harbormaster/typeahead/HarbormasterBuildPlanDatasource.php --- a/src/applications/harbormaster/typeahead/HarbormasterBuildPlanDatasource.php +++ b/src/applications/harbormaster/typeahead/HarbormasterBuildPlanDatasource.php @@ -3,6 +3,10 @@ final class HarbormasterBuildPlanDatasource extends PhabricatorTypeaheadDatasource { + public function getBrowseTitle() { + return pht('Browse Build Plans'); + } + public function getPlaceholderText() { return pht('Type a build plan name...'); } diff --git a/src/applications/legalpad/typeahead/LegalpadDocumentDatasource.php b/src/applications/legalpad/typeahead/LegalpadDocumentDatasource.php --- a/src/applications/legalpad/typeahead/LegalpadDocumentDatasource.php +++ b/src/applications/legalpad/typeahead/LegalpadDocumentDatasource.php @@ -7,6 +7,10 @@ return false; } + public function getBrowseTitle() { + return pht('Browse Documents'); + } + public function getPlaceholderText() { return pht('Type a document name...'); } diff --git a/src/applications/macro/typeahead/PhabricatorMacroDatasource.php b/src/applications/macro/typeahead/PhabricatorMacroDatasource.php --- a/src/applications/macro/typeahead/PhabricatorMacroDatasource.php +++ b/src/applications/macro/typeahead/PhabricatorMacroDatasource.php @@ -6,6 +6,10 @@ return pht('Type a macro name...'); } + public function getBrowseTitle() { + return pht('Browse Macros'); + } + public function getDatasourceApplicationClass() { return 'PhabricatorMacroApplication'; } diff --git a/src/applications/mailinglists/typeahead/PhabricatorMailingListDatasource.php b/src/applications/mailinglists/typeahead/PhabricatorMailingListDatasource.php --- a/src/applications/mailinglists/typeahead/PhabricatorMailingListDatasource.php +++ b/src/applications/mailinglists/typeahead/PhabricatorMailingListDatasource.php @@ -3,6 +3,10 @@ final class PhabricatorMailingListDatasource extends PhabricatorTypeaheadDatasource { + public function getBrowseTitle() { + return pht('Browse Mailing Lists'); + } + public function getPlaceholderText() { return pht('Type a mailing list name...'); } diff --git a/src/applications/maniphest/typeahead/ManiphestTaskPriorityDatasource.php b/src/applications/maniphest/typeahead/ManiphestTaskPriorityDatasource.php --- a/src/applications/maniphest/typeahead/ManiphestTaskPriorityDatasource.php +++ b/src/applications/maniphest/typeahead/ManiphestTaskPriorityDatasource.php @@ -3,6 +3,10 @@ final class ManiphestTaskPriorityDatasource extends PhabricatorTypeaheadDatasource { + public function getBrowseTitle() { + return pht('Browse Priorities'); + } + public function getPlaceholderText() { return pht('Type a task priority name...'); } diff --git a/src/applications/maniphest/typeahead/ManiphestTaskStatusDatasource.php b/src/applications/maniphest/typeahead/ManiphestTaskStatusDatasource.php --- a/src/applications/maniphest/typeahead/ManiphestTaskStatusDatasource.php +++ b/src/applications/maniphest/typeahead/ManiphestTaskStatusDatasource.php @@ -3,6 +3,10 @@ final class ManiphestTaskStatusDatasource extends PhabricatorTypeaheadDatasource { + public function getBrowseTitle() { + return pht('Browse Statuses'); + } + public function getPlaceholderText() { return pht('Type a task status name...'); } 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 @@ -3,6 +3,10 @@ final class PhabricatorApplicationDatasource extends PhabricatorTypeaheadDatasource { + public function getBrowseTitle() { + return pht('Browse Applications'); + } + public function getPlaceholderText() { return pht('Type an application name...'); } diff --git a/src/applications/metamta/typeahead/PhabricatorMetaMTAApplicationEmailDatasource.php b/src/applications/metamta/typeahead/PhabricatorMetaMTAApplicationEmailDatasource.php --- a/src/applications/metamta/typeahead/PhabricatorMetaMTAApplicationEmailDatasource.php +++ b/src/applications/metamta/typeahead/PhabricatorMetaMTAApplicationEmailDatasource.php @@ -8,6 +8,10 @@ return false; } + public function getBrowseTitle() { + return pht('Browse Email Addresses'); + } + public function getPlaceholderText() { return pht('Type an application email address...'); } diff --git a/src/applications/metamta/typeahead/PhabricatorMetaMTAMailableDatasource.php b/src/applications/metamta/typeahead/PhabricatorMetaMTAMailableDatasource.php --- a/src/applications/metamta/typeahead/PhabricatorMetaMTAMailableDatasource.php +++ b/src/applications/metamta/typeahead/PhabricatorMetaMTAMailableDatasource.php @@ -3,6 +3,10 @@ final class PhabricatorMetaMTAMailableDatasource extends PhabricatorTypeaheadCompositeDatasource { + public function getBrowseTitle() { + return pht('Browse Subscribers'); + } + public function getPlaceholderText() { return pht('Type a user, project, or mailing list name...'); } diff --git a/src/applications/owners/typeahead/PhabricatorOwnersPackageDatasource.php b/src/applications/owners/typeahead/PhabricatorOwnersPackageDatasource.php --- a/src/applications/owners/typeahead/PhabricatorOwnersPackageDatasource.php +++ b/src/applications/owners/typeahead/PhabricatorOwnersPackageDatasource.php @@ -8,6 +8,10 @@ return false; } + public function getBrowseTitle() { + return pht('Browse Packages'); + } + public function getPlaceholderText() { return pht('Type a package name...'); } 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 @@ -15,6 +15,10 @@ return $this; } + public function getBrowseTitle() { + return pht('Browse Users'); + } + public function getPlaceholderText() { return pht('Type a username...'); } diff --git a/src/applications/people/typeahead/PhabricatorViewerDatasource.php b/src/applications/people/typeahead/PhabricatorViewerDatasource.php --- a/src/applications/people/typeahead/PhabricatorViewerDatasource.php +++ b/src/applications/people/typeahead/PhabricatorViewerDatasource.php @@ -3,6 +3,10 @@ final class PhabricatorViewerDatasource extends PhabricatorTypeaheadDatasource { + public function getBrowseTitle() { + return pht('Browse Viewer'); + } + public function getPlaceholderText() { return pht('Type viewer()...'); } 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 @@ -3,6 +3,10 @@ final class PhabricatorProjectDatasource extends PhabricatorTypeaheadDatasource { + public function getBrowseTitle() { + return pht('Browse Projects'); + } + public function getPlaceholderText() { return pht('Type a project name...'); } diff --git a/src/applications/project/typeahead/PhabricatorProjectLogicalAndDatasource.php b/src/applications/project/typeahead/PhabricatorProjectLogicalAndDatasource.php --- a/src/applications/project/typeahead/PhabricatorProjectLogicalAndDatasource.php +++ b/src/applications/project/typeahead/PhabricatorProjectLogicalAndDatasource.php @@ -3,6 +3,10 @@ final class PhabricatorProjectLogicalAndDatasource extends PhabricatorTypeaheadCompositeDatasource { + public function getBrowseTitle() { + return pht('Browse Projects'); + } + public function getPlaceholderText() { return pht('Type a project name...'); } diff --git a/src/applications/project/typeahead/PhabricatorProjectLogicalDatasource.php b/src/applications/project/typeahead/PhabricatorProjectLogicalDatasource.php --- a/src/applications/project/typeahead/PhabricatorProjectLogicalDatasource.php +++ b/src/applications/project/typeahead/PhabricatorProjectLogicalDatasource.php @@ -3,8 +3,12 @@ final class PhabricatorProjectLogicalDatasource extends PhabricatorTypeaheadCompositeDatasource { + public function getBrowseTitle() { + return pht('Browse Projects'); + } + public function getPlaceholderText() { - return pht('Type a project name or selector...'); + return pht('Type a project name or function...'); } public function getDatasourceApplicationClass() { diff --git a/src/applications/project/typeahead/PhabricatorProjectLogicalOrNotDatasource.php b/src/applications/project/typeahead/PhabricatorProjectLogicalOrNotDatasource.php --- a/src/applications/project/typeahead/PhabricatorProjectLogicalOrNotDatasource.php +++ b/src/applications/project/typeahead/PhabricatorProjectLogicalOrNotDatasource.php @@ -3,6 +3,10 @@ final class PhabricatorProjectLogicalOrNotDatasource extends PhabricatorTypeaheadCompositeDatasource { + public function getBrowseTitle() { + return pht('Browse Projects'); + } + public function getPlaceholderText() { return pht('Type any() or not()...'); } diff --git a/src/applications/project/typeahead/PhabricatorProjectLogicalUserDatasource.php b/src/applications/project/typeahead/PhabricatorProjectLogicalUserDatasource.php --- a/src/applications/project/typeahead/PhabricatorProjectLogicalUserDatasource.php +++ b/src/applications/project/typeahead/PhabricatorProjectLogicalUserDatasource.php @@ -3,6 +3,10 @@ final class PhabricatorProjectLogicalUserDatasource extends PhabricatorTypeaheadCompositeDatasource { + public function getBrowseTitle() { + return pht('Browse User Projects'); + } + public function getPlaceholderText() { return pht('Type projects()...'); } diff --git a/src/applications/project/typeahead/PhabricatorProjectLogicalViewerDatasource.php b/src/applications/project/typeahead/PhabricatorProjectLogicalViewerDatasource.php --- a/src/applications/project/typeahead/PhabricatorProjectLogicalViewerDatasource.php +++ b/src/applications/project/typeahead/PhabricatorProjectLogicalViewerDatasource.php @@ -3,6 +3,10 @@ final class PhabricatorProjectLogicalViewerDatasource extends PhabricatorTypeaheadDatasource { + public function getBrowseTitle() { + return pht('Browse Viewer Projects'); + } + public function getPlaceholderText() { return pht('Type viewerprojects()...'); } diff --git a/src/applications/project/typeahead/PhabricatorProjectMembersDatasource.php b/src/applications/project/typeahead/PhabricatorProjectMembersDatasource.php --- a/src/applications/project/typeahead/PhabricatorProjectMembersDatasource.php +++ b/src/applications/project/typeahead/PhabricatorProjectMembersDatasource.php @@ -3,6 +3,10 @@ final class PhabricatorProjectMembersDatasource extends PhabricatorTypeaheadCompositeDatasource { + public function getBrowseTitle() { + return pht('Browse Members'); + } + public function getPlaceholderText() { return pht('Type members()...'); } diff --git a/src/applications/project/typeahead/PhabricatorProjectNoProjectsDatasource.php b/src/applications/project/typeahead/PhabricatorProjectNoProjectsDatasource.php --- a/src/applications/project/typeahead/PhabricatorProjectNoProjectsDatasource.php +++ b/src/applications/project/typeahead/PhabricatorProjectNoProjectsDatasource.php @@ -3,6 +3,10 @@ final class PhabricatorProjectNoProjectsDatasource extends PhabricatorTypeaheadDatasource { + public function getBrowseTitle() { + return pht('Browse Not In Any Projects'); + } + public function getPlaceholderText() { return pht('Type "not in any projects"...'); } diff --git a/src/applications/project/typeahead/PhabricatorProjectOrUserDatasource.php b/src/applications/project/typeahead/PhabricatorProjectOrUserDatasource.php --- a/src/applications/project/typeahead/PhabricatorProjectOrUserDatasource.php +++ b/src/applications/project/typeahead/PhabricatorProjectOrUserDatasource.php @@ -3,6 +3,10 @@ final class PhabricatorProjectOrUserDatasource extends PhabricatorTypeaheadCompositeDatasource { + public function getBrowseTitle() { + return pht('Browse Users and Projects'); + } + public function getPlaceholderText() { return pht('Type a user or project name...'); } 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 @@ -3,6 +3,10 @@ final class PhabricatorSearchDatasource extends PhabricatorTypeaheadCompositeDatasource { + public function getBrowseTitle() { + return pht('Browse Results'); + } + public function getPlaceholderText() { return pht('Type an object name...'); } diff --git a/src/applications/typeahead/controller/PhabricatorTypeaheadModularDatasourceController.php b/src/applications/typeahead/controller/PhabricatorTypeaheadModularDatasourceController.php --- a/src/applications/typeahead/controller/PhabricatorTypeaheadModularDatasourceController.php +++ b/src/applications/typeahead/controller/PhabricatorTypeaheadModularDatasourceController.php @@ -225,7 +225,7 @@ return $this->newDialog() ->setWidth(AphrontDialogView::WIDTH_FORM) ->setRenderDialogAsDiv(true) - ->setTitle(get_class($source)) // TODO: Provide nice names. + ->setTitle($source->getBrowseTitle()) ->appendChild($browser) ->addCancelButton('/', pht('Close')); } diff --git a/src/applications/typeahead/datasource/PhabricatorTypeaheadDatasource.php b/src/applications/typeahead/datasource/PhabricatorTypeaheadDatasource.php --- a/src/applications/typeahead/datasource/PhabricatorTypeaheadDatasource.php +++ b/src/applications/typeahead/datasource/PhabricatorTypeaheadDatasource.php @@ -88,6 +88,11 @@ } abstract public function getPlaceholderText(); + + public function getBrowseTitle() { + return get_class($this); + } + abstract public function getDatasourceApplicationClass(); abstract public function loadResults(); 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 @@ -10,6 +10,10 @@ return false; } + public function getBrowseTitle() { + return pht('Browse Objects'); + } + public function getPlaceholderText() { return pht('Type an object name...'); } diff --git a/src/applications/typeahead/datasource/PhabricatorTypeaheadNoOwnerDatasource.php b/src/applications/typeahead/datasource/PhabricatorTypeaheadNoOwnerDatasource.php --- a/src/applications/typeahead/datasource/PhabricatorTypeaheadNoOwnerDatasource.php +++ b/src/applications/typeahead/datasource/PhabricatorTypeaheadNoOwnerDatasource.php @@ -3,6 +3,10 @@ final class PhabricatorTypeaheadNoOwnerDatasource extends PhabricatorTypeaheadDatasource { + public function getBrowseTitle() { + return pht('Browse No Owner'); + } + public function getPlaceholderText() { return pht('Type "none"...'); } diff --git a/src/applications/typeahead/datasource/PhabricatorTypeaheadOwnerDatasource.php b/src/applications/typeahead/datasource/PhabricatorTypeaheadOwnerDatasource.php --- a/src/applications/typeahead/datasource/PhabricatorTypeaheadOwnerDatasource.php +++ b/src/applications/typeahead/datasource/PhabricatorTypeaheadOwnerDatasource.php @@ -3,6 +3,10 @@ final class PhabricatorTypeaheadOwnerDatasource extends PhabricatorTypeaheadCompositeDatasource { + public function getBrowseTitle() { + return pht('Browse Owners'); + } + public function getPlaceholderText() { return pht('Type a user name or "none"...'); } diff --git a/src/applications/typeahead/datasource/PhabricatorTypeaheadUserParameterizedDatasource.php b/src/applications/typeahead/datasource/PhabricatorTypeaheadUserParameterizedDatasource.php --- a/src/applications/typeahead/datasource/PhabricatorTypeaheadUserParameterizedDatasource.php +++ b/src/applications/typeahead/datasource/PhabricatorTypeaheadUserParameterizedDatasource.php @@ -3,8 +3,12 @@ final class PhabricatorTypeaheadUserParameterizedDatasource extends PhabricatorTypeaheadCompositeDatasource { + public function getBrowseTitle() { + return pht('Browse Users'); + } + public function getPlaceholderText() { - return pht('Type a username or selector...'); + return pht('Type a username or function...'); } public function getComponentDatasources() {