44 lines
1.1 KiB
PHP
44 lines
1.1 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
final class PhabricatorDashboardListController
|
||
|
|
extends PhabricatorDashboardController
|
||
|
|
implements PhabricatorApplicationSearchResultsControllerInterface {
|
||
|
|
|
||
|
|
private $queryKey;
|
||
|
|
public function willProcessRequest(array $data) {
|
||
|
|
$this->queryKey = idx($data, 'queryKey');
|
||
|
|
}
|
||
|
|
|
||
|
|
public function processRequest() {
|
||
|
|
$request = $this->getRequest();
|
||
|
|
$controller = id(new PhabricatorApplicationSearchController($request))
|
||
|
|
->setQueryKey($this->queryKey)
|
||
|
|
->setSearchEngine(new PhabricatorDashboardSearchEngine())
|
||
|
|
->setNavigation($this->buildSideNavView());
|
||
|
|
return $this->delegateToController($controller);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function buildSideNavView() {
|
||
|
|
$user = $this->getRequest()->getUser();
|
||
|
|
|
||
|
|
$nav = new AphrontSideNavFilterView();
|
||
|
|
$nav->setBaseURI(new PhutilURI($this->getApplicationURI()));
|
||
|
|
|
||
|
|
id(new PhabricatorDashboardSearchEngine())
|
||
|
|
->setViewer($user)
|
||
|
|
->addNavigationItems($nav->getMenu());
|
||
|
|
|
||
|
|
$nav->selectFilter(null);
|
||
|
|
|
||
|
|
return $nav;
|
||
|
|
}
|
||
|
|
|
||
|
|
public function renderResultsList(
|
||
|
|
array $dashboards,
|
||
|
|
PhabricatorSavedQuery $query) {
|
||
|
|
|
||
|
|
return 'got '.count($dashboards).' ok';
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|