@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Modernize "macro" typeahead datasource

Summary: Ref T4420. Make this modern.

Test Plan:
- Used typeahead in remarkup comment area to select macro "derpdog".

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T4420

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

+46 -19
+2
src/__phutil_library_map__.php
··· 1719 1719 'PhabricatorMacroCommentController' => 'applications/macro/controller/PhabricatorMacroCommentController.php', 1720 1720 'PhabricatorMacroConfigOptions' => 'applications/macro/config/PhabricatorMacroConfigOptions.php', 1721 1721 'PhabricatorMacroController' => 'applications/macro/controller/PhabricatorMacroController.php', 1722 + 'PhabricatorMacroDatasource' => 'applications/macro/typeahead/PhabricatorMacroDatasource.php', 1722 1723 'PhabricatorMacroDisableController' => 'applications/macro/controller/PhabricatorMacroDisableController.php', 1723 1724 'PhabricatorMacroEditController' => 'applications/macro/controller/PhabricatorMacroEditController.php', 1724 1725 'PhabricatorMacroEditor' => 'applications/macro/editor/PhabricatorMacroEditor.php', ··· 4565 4566 'PhabricatorMacroCommentController' => 'PhabricatorMacroController', 4566 4567 'PhabricatorMacroConfigOptions' => 'PhabricatorApplicationConfigOptions', 4567 4568 'PhabricatorMacroController' => 'PhabricatorController', 4569 + 'PhabricatorMacroDatasource' => 'PhabricatorTypeaheadDatasource', 4568 4570 'PhabricatorMacroDisableController' => 'PhabricatorMacroController', 4569 4571 'PhabricatorMacroEditController' => 'PhabricatorMacroController', 4570 4572 'PhabricatorMacroEditor' => 'PhabricatorApplicationTransactionEditor',
+1 -1
src/applications/macro/controller/PhabricatorMacroMemeDialogController.php
··· 50 50 ->setLabel(pht('Macro')) 51 51 ->setName('macro') 52 52 ->setLimit(1) 53 - ->setDatasource('/typeahead/common/macros/') 53 + ->setDatasource(new PhabricatorMacroDatasource()) 54 54 ->setError($e_macro)) 55 55 ->appendChild( 56 56 id(new AphrontFormTextControl())
+4
src/applications/macro/phid/PhabricatorMacroPHIDTypeMacro.php
··· 12 12 return pht('Image Macro'); 13 13 } 14 14 15 + public function getTypeIcon() { 16 + return 'fa-meh-o'; 17 + } 18 + 15 19 public function newObject() { 16 20 return new PhabricatorFileImageMacro(); 17 21 }
+35
src/applications/macro/typeahead/PhabricatorMacroDatasource.php
··· 1 + <?php 2 + 3 + final class PhabricatorMacroDatasource 4 + extends PhabricatorTypeaheadDatasource { 5 + 6 + public function getPlaceholderText() { 7 + return pht('Type a macro name...'); 8 + } 9 + 10 + public function getDatasourceApplicationClass() { 11 + return 'PhabricatorApplicationMacro'; 12 + } 13 + 14 + public function loadResults() { 15 + $viewer = $this->getViewer(); 16 + $raw_query = $this->getRawQuery(); 17 + 18 + $results = array(); 19 + 20 + $macros = id(new PhabricatorMacroQuery()) 21 + ->setViewer($viewer) 22 + ->withStatus(PhabricatorMacroQuery::STATUS_ACTIVE) 23 + ->execute(); 24 + 25 + foreach ($macros as $macro) { 26 + $results[] = id(new PhabricatorTypeaheadResult()) 27 + ->setPHID($macro->getPHID()) 28 + ->setName($macro->getName()) 29 + ->setIcon('fa-meh-o bluegrey'); 30 + } 31 + 32 + return $results; 33 + } 34 + 35 + }
+4 -1
src/applications/repository/phid/PhabricatorRepositoryPHIDTypeRepository.php
··· 13 13 return pht('Repository'); 14 14 } 15 15 16 + public function getTypeIcon() { 17 + return 'fa-database'; 18 + } 19 + 16 20 public function newObject() { 17 21 return new PhabricatorRepository(); 18 22 } ··· 40 44 $handle->setName($monogram); 41 45 $handle->setFullName("{$monogram} {$name}"); 42 46 $handle->setURI("/diffusion/{$callsign}/"); 43 - $handle->setIcon('fa-database'); 44 47 } 45 48 } 46 49
-17
src/applications/typeahead/controller/PhabricatorTypeaheadCommonDatasourceController.php
··· 34 34 $need_jump_objects = false; 35 35 $need_build_plans = false; 36 36 $need_task_priority = false; 37 - $need_macros = false; 38 37 $need_legalpad_documents = false; 39 38 switch ($this->type) { 40 39 case 'mainsearch': ··· 88 87 break; 89 88 case 'taskpriority': 90 89 $need_task_priority = true; 91 - break; 92 - case 'macros': 93 - $need_macros = true; 94 90 break; 95 91 case 'legalpaddocuments': 96 92 $need_legalpad_documents = true; ··· 239 235 // NOTE: $value is not a phid but is unique. This'll work. 240 236 $results[] = id(new PhabricatorTypeaheadResult()) 241 237 ->setPHID($value) 242 - ->setName($name); 243 - } 244 - } 245 - 246 - if ($need_macros) { 247 - $macros = id(new PhabricatorMacroQuery()) 248 - ->setViewer($viewer) 249 - ->withStatus(PhabricatorMacroQuery::STATUS_ACTIVE) 250 - ->execute(); 251 - $macros = mpull($macros, 'getName', 'getPHID'); 252 - foreach ($macros as $phid => $name) { 253 - $results[] = id(new PhabricatorTypeaheadResult()) 254 - ->setPHID($phid) 255 238 ->setName($name); 256 239 } 257 240 }