phorge/src/applications/diviner/controller/DivinerController.php
epriestley c280634a7a Link and summarize methods in the "Tasks" view of a Diviner class
Summary: Ref T988. Make this more useful, and link it to the methods it describes.

Test Plan:
Before:

{F57553}

After:

{F57554}

Reviewers: chad

Reviewed By: chad

CC: aran

Maniphest Tasks: T988

Differential Revision: https://secure.phabricator.com/D6909
2013-09-08 09:12:33 -07:00

50 lines
1.1 KiB
PHP

<?php
abstract class DivinerController extends PhabricatorController {
protected function buildSideNavView() {
$menu = $this->buildMenu();
return AphrontSideNavFilterView::newFromMenu($menu);
}
protected function buildApplicationMenu() {
return $this->buildMenu();
}
private function buildMenu() {
$menu = new PHUIListView();
id(new DivinerAtomSearchEngine())
->setViewer($this->getRequest()->getUser())
->addNavigationItems($menu);
return $menu;
}
protected function renderAtomList(array $symbols) {
assert_instances_of($symbols, 'DivinerLiveSymbol');
$request = $this->getRequest();
$user = $request->getUser();
$list = id(new PhabricatorObjectItemListView())
->setUser($user);
foreach ($symbols as $symbol) {
$item = id(new PhabricatorObjectItemView())
->setHeader($symbol->getTitle())
->setHref($symbol->getURI())
->addIcon('none',
DivinerAtom::getAtomTypeNameString(
$symbol->getType()));
$item->addAttribute($symbol->getSummary());
$list->addItem($item);
}
return $list;
}
}