@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

Remove newFromMenu() from SideNav

Summary: Ref T10054. Just simplifying this a bit before I start laying in the new profile menus.

Test Plan:
- Viewed Diviner on desktop and checked the mobile menu.
- Viewed Files on desktop and checked the mobile menu.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10054

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

+14 -57
+1 -1
src/applications/diviner/application/PhabricatorDivinerApplication.php
··· 35 35 return array( 36 36 '/diviner/' => array( 37 37 '' => 'DivinerMainController', 38 - 'query/((?<key>[^/]+)/)?' => 'DivinerAtomListController', 38 + 'query/((?<queryKey>[^/]+)/)?' => 'DivinerAtomListController', 39 39 'find/' => 'DivinerFindController', 40 40 ), 41 41 '/book/(?P<book>[^/]+)/' => 'DivinerBookController',
+3 -8
src/applications/diviner/controller/DivinerAtomListController.php
··· 7 7 } 8 8 9 9 public function handleRequest(AphrontRequest $request) { 10 - $query_key = $request->getURIData('key'); 11 - 12 - $controller = id(new PhabricatorApplicationSearchController()) 13 - ->setQueryKey($query_key) 14 - ->setSearchEngine(new DivinerAtomSearchEngine()) 15 - ->setNavigation($this->buildSideNavView()); 16 - 17 - return $this->delegateToController($controller); 10 + return id(new DivinerAtomSearchEngine()) 11 + ->setController($this) 12 + ->buildResponse(); 18 13 } 19 14 20 15 }
+2 -12
src/applications/diviner/controller/DivinerController.php
··· 2 2 3 3 abstract class DivinerController extends PhabricatorController { 4 4 5 - protected function buildSideNavView() { 6 - $menu = $this->buildApplicationMenu(); 7 - return AphrontSideNavFilterView::newFromMenu($menu); 8 - } 9 - 10 5 public function buildApplicationMenu() { 11 - $menu = new PHUIListView(); 12 - 13 - id(new DivinerAtomSearchEngine()) 14 - ->setViewer($this->getRequest()->getViewer()) 15 - ->addNavigationItems($menu); 16 - 17 - return $menu; 6 + return $this->newApplicationMenu() 7 + ->setSearchEngine(new DivinerAtomSearchEngine()); 18 8 } 19 9 20 10 protected function renderAtomList(array $symbols) {
+1 -1
src/applications/diviner/query/DivinerAtomSearchEngine.php
··· 103 103 104 104 protected function getBuiltinQueryNames() { 105 105 return array( 106 - 'all' => pht('All'), 106 + 'all' => pht('All Atoms'), 107 107 ); 108 108 } 109 109
+1 -1
src/applications/files/application/PhabricatorFilesApplication.php
··· 70 70 return array( 71 71 '/F(?P<id>[1-9]\d*)' => 'PhabricatorFileInfoController', 72 72 '/file/' => array( 73 - '(query/(?P<key>[^/]+)/)?' => 'PhabricatorFileListController', 73 + '(query/(?P<queryKey>[^/]+)/)?' => 'PhabricatorFileListController', 74 74 'upload/' => 'PhabricatorFileUploadController', 75 75 'dropupload/' => 'PhabricatorFileDropUploadController', 76 76 'compose/' => 'PhabricatorFileComposeController',
+2 -21
src/applications/files/controller/PhabricatorFileController.php
··· 2 2 3 3 abstract class PhabricatorFileController extends PhabricatorController { 4 4 5 - protected function buildSideNavView() { 6 - $menu = $this->buildMenu($for_devices = false); 7 - return AphrontSideNavFilterView::newFromMenu($menu); 8 - } 9 - 10 5 public function buildApplicationMenu() { 11 - return $this->buildMenu($for_devices = true); 6 + return $this->newApplicationMenu() 7 + ->setSearchEngine(new PhabricatorFileSearchEngine()); 12 8 } 13 - 14 - private function buildMenu($for_devices) { 15 - $menu = new PHUIListView(); 16 - 17 - if ($for_devices) { 18 - $menu->newLink(pht('Upload File'), $this->getApplicationURI('/upload/')); 19 - } 20 - 21 - id(new PhabricatorFileSearchEngine()) 22 - ->setViewer($this->getRequest()->getUser()) 23 - ->addNavigationItems($menu); 24 - 25 - return $menu; 26 - } 27 - 28 9 29 10 }
+4 -6
src/applications/files/controller/PhabricatorFileListController.php
··· 11 11 } 12 12 13 13 public function handleRequest(AphrontRequest $request) { 14 - $controller = id(new PhabricatorApplicationSearchController()) 15 - ->setQueryKey($request->getURIData('key')) 16 - ->setSearchEngine(new PhabricatorFileSearchEngine()) 17 - ->setNavigation($this->buildSideNavView()); 18 - 19 - return $this->delegateToController($controller); 14 + return id(new PhabricatorFileSearchEngine()) 15 + ->setController($this) 16 + ->buildResponse(); 20 17 } 21 18 22 19 protected function buildApplicationCrumbs() { 23 20 $crumbs = parent::buildApplicationCrumbs(); 21 + 24 22 $crumbs->addAction( 25 23 id(new PHUIListItemView()) 26 24 ->setName(pht('Upload File'))
-7
src/view/layout/AphrontSideNavFilterView.php
··· 46 46 return $this; 47 47 } 48 48 49 - public static function newFromMenu(PHUIListView $menu) { 50 - $object = new AphrontSideNavFilterView(); 51 - $object->setBaseURI(new PhutilURI('/')); 52 - $object->menu = $menu; 53 - return $object; 54 - } 55 - 56 49 public function setCrumbs(PHUICrumbsView $crumbs) { 57 50 $this->crumbs = $crumbs; 58 51 return $this;