Page MenuHomePhabricator

D9875.id23713.diff
No OneTemporary

D9875.id23713.diff

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
@@ -1720,6 +1720,7 @@
'PhabricatorMacroCommentController' => 'applications/macro/controller/PhabricatorMacroCommentController.php',
'PhabricatorMacroConfigOptions' => 'applications/macro/config/PhabricatorMacroConfigOptions.php',
'PhabricatorMacroController' => 'applications/macro/controller/PhabricatorMacroController.php',
+ 'PhabricatorMacroDatasource' => 'applications/macro/typeahead/PhabricatorMacroDatasource.php',
'PhabricatorMacroDisableController' => 'applications/macro/controller/PhabricatorMacroDisableController.php',
'PhabricatorMacroEditController' => 'applications/macro/controller/PhabricatorMacroEditController.php',
'PhabricatorMacroEditor' => 'applications/macro/editor/PhabricatorMacroEditor.php',
@@ -4566,6 +4567,7 @@
'PhabricatorMacroCommentController' => 'PhabricatorMacroController',
'PhabricatorMacroConfigOptions' => 'PhabricatorApplicationConfigOptions',
'PhabricatorMacroController' => 'PhabricatorController',
+ 'PhabricatorMacroDatasource' => 'PhabricatorTypeaheadDatasource',
'PhabricatorMacroDisableController' => 'PhabricatorMacroController',
'PhabricatorMacroEditController' => 'PhabricatorMacroController',
'PhabricatorMacroEditor' => 'PhabricatorApplicationTransactionEditor',
diff --git a/src/applications/macro/controller/PhabricatorMacroMemeDialogController.php b/src/applications/macro/controller/PhabricatorMacroMemeDialogController.php
--- a/src/applications/macro/controller/PhabricatorMacroMemeDialogController.php
+++ b/src/applications/macro/controller/PhabricatorMacroMemeDialogController.php
@@ -50,7 +50,7 @@
->setLabel(pht('Macro'))
->setName('macro')
->setLimit(1)
- ->setDatasource('/typeahead/common/macros/')
+ ->setDatasource(new PhabricatorMacroDatasource())
->setError($e_macro))
->appendChild(
id(new AphrontFormTextControl())
diff --git a/src/applications/macro/phid/PhabricatorMacroPHIDTypeMacro.php b/src/applications/macro/phid/PhabricatorMacroPHIDTypeMacro.php
--- a/src/applications/macro/phid/PhabricatorMacroPHIDTypeMacro.php
+++ b/src/applications/macro/phid/PhabricatorMacroPHIDTypeMacro.php
@@ -12,6 +12,10 @@
return pht('Image Macro');
}
+ public function getTypeIcon() {
+ return 'fa-meh-o';
+ }
+
public function newObject() {
return new PhabricatorFileImageMacro();
}
diff --git a/src/applications/macro/typeahead/PhabricatorMacroDatasource.php b/src/applications/macro/typeahead/PhabricatorMacroDatasource.php
new file mode 100644
--- /dev/null
+++ b/src/applications/macro/typeahead/PhabricatorMacroDatasource.php
@@ -0,0 +1,35 @@
+<?php
+
+final class PhabricatorMacroDatasource
+ extends PhabricatorTypeaheadDatasource {
+
+ public function getPlaceholderText() {
+ return pht('Type a macro name...');
+ }
+
+ public function getDatasourceApplicationClass() {
+ return 'PhabricatorApplicationMacro';
+ }
+
+ public function loadResults() {
+ $viewer = $this->getViewer();
+ $raw_query = $this->getRawQuery();
+
+ $results = array();
+
+ $macros = id(new PhabricatorMacroQuery())
+ ->setViewer($viewer)
+ ->withStatus(PhabricatorMacroQuery::STATUS_ACTIVE)
+ ->execute();
+
+ foreach ($macros as $macro) {
+ $results[] = id(new PhabricatorTypeaheadResult())
+ ->setPHID($macro->getPHID())
+ ->setName($macro->getName())
+ ->setIcon('fa-meh-o bluegrey');
+ }
+
+ return $results;
+ }
+
+}
diff --git a/src/applications/repository/phid/PhabricatorRepositoryPHIDTypeRepository.php b/src/applications/repository/phid/PhabricatorRepositoryPHIDTypeRepository.php
--- a/src/applications/repository/phid/PhabricatorRepositoryPHIDTypeRepository.php
+++ b/src/applications/repository/phid/PhabricatorRepositoryPHIDTypeRepository.php
@@ -13,6 +13,10 @@
return pht('Repository');
}
+ public function getTypeIcon() {
+ return 'fa-database';
+ }
+
public function newObject() {
return new PhabricatorRepository();
}
@@ -40,7 +44,6 @@
$handle->setName($monogram);
$handle->setFullName("{$monogram} {$name}");
$handle->setURI("/diffusion/{$callsign}/");
- $handle->setIcon('fa-database');
}
}

File Metadata

Mime Type
text/plain
Expires
Sat, May 11, 6:58 AM (1 w, 5 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6285039
Default Alt Text
D9875.id23713.diff (4 KB)

Event Timeline