Changeset View
Changeset View
Standalone View
Standalone View
src/applications/diviner/controller/DivinerController.php
| <?php | <?php | ||||
| abstract class DivinerController extends PhabricatorController { | abstract class DivinerController extends PhabricatorController { | ||||
| protected function buildSideNavView() { | protected function buildSideNavView() { | ||||
| $menu = $this->buildMenu(); | $menu = $this->buildApplicationMenu(); | ||||
| return AphrontSideNavFilterView::newFromMenu($menu); | return AphrontSideNavFilterView::newFromMenu($menu); | ||||
| } | } | ||||
| public function buildApplicationMenu() { | public function buildApplicationMenu() { | ||||
| return $this->buildMenu(); | |||||
| } | |||||
| private function buildMenu() { | |||||
| $menu = new PHUIListView(); | $menu = new PHUIListView(); | ||||
| id(new DivinerAtomSearchEngine()) | id(new DivinerAtomSearchEngine()) | ||||
| ->setViewer($this->getRequest()->getUser()) | ->setViewer($this->getRequest()->getViewer()) | ||||
| ->addNavigationItems($menu); | ->addNavigationItems($menu); | ||||
| return $menu; | return $menu; | ||||
| } | } | ||||
| protected function renderAtomList(array $symbols) { | protected function renderAtomList(array $symbols) { | ||||
| assert_instances_of($symbols, 'DivinerLiveSymbol'); | assert_instances_of($symbols, 'DivinerLiveSymbol'); | ||||
| $request = $this->getRequest(); | |||||
| $user = $request->getUser(); | |||||
| $list = array(); | $list = array(); | ||||
| foreach ($symbols as $symbol) { | foreach ($symbols as $symbol) { | ||||
| switch ($symbol->getType()) { | switch ($symbol->getType()) { | ||||
| case DivinerAtom::TYPE_FUNCTION: | case DivinerAtom::TYPE_FUNCTION: | ||||
| $title = $symbol->getTitle().'()'; | $title = $symbol->getTitle().'()'; | ||||
| break; | break; | ||||
| default: | default: | ||||
| $title = $symbol->getTitle(); | $title = $symbol->getTitle(); | ||||
| break; | break; | ||||
| } | } | ||||
| $item = id(new DivinerBookItemView()) | $item = id(new DivinerBookItemView()) | ||||
| ->setTitle($title) | ->setTitle($title) | ||||
| ->setHref($symbol->getURI()) | ->setHref($symbol->getURI()) | ||||
| ->setSubtitle($symbol->getSummary()) | ->setSubtitle($symbol->getSummary()) | ||||
| ->setType(DivinerAtom::getAtomTypeNameString( | ->setType(DivinerAtom::getAtomTypeNameString($symbol->getType())); | ||||
| $symbol->getType())); | |||||
| $list[] = $item; | $list[] = $item; | ||||
| } | } | ||||
| return $list; | return $list; | ||||
| } | } | ||||
| } | } | ||||