Path: blob/master/src/applications/nuance/query/NuanceItemSearchEngine.php
12256 views
<?php12final class NuanceItemSearchEngine3extends PhabricatorApplicationSearchEngine {45public function getApplicationClassName() {6return 'PhabricatorNuanceApplication';7}89public function getResultTypeDescription() {10return pht('Nuance Items');11}1213public function newQuery() {14return new NuanceItemQuery();15}1617protected function buildQueryFromParameters(array $map) {18$query = $this->newQuery();1920return $query;21}2223protected function buildCustomSearchFields() {24return array(25);26}2728protected function getURI($path) {29return '/nuance/item/'.$path;30}3132protected function getBuiltinQueryNames() {33$names = array(34'all' => pht('All Items'),35);3637return $names;38}3940public function buildSavedQueryFromBuiltin($query_key) {41$query = $this->newSavedQuery();42$query->setQueryKey($query_key);4344switch ($query_key) {45case 'all':46return $query;47}4849return parent::buildSavedQueryFromBuiltin($query_key);50}5152protected function renderResultList(53array $items,54PhabricatorSavedQuery $query,55array $handles) {56assert_instances_of($items, 'NuanceItem');5758$viewer = $this->requireViewer();5960$list = new PHUIObjectItemListView();61$list->setUser($viewer);62foreach ($items as $item) {63$impl = $item->getImplementation();6465$view = id(new PHUIObjectItemView())66->setObjectName(pht('Item %d', $item->getID()))67->setHeader($item->getDisplayName())68->setHref($item->getURI());6970$view->addIcon(71$impl->getItemTypeDisplayIcon(),72$impl->getItemTypeDisplayName());7374$queue = $item->getQueue();75if ($queue) {76$view->addAttribute(77phutil_tag(78'a',79array(80'href' => $queue->getURI(),81),82$queue->getName()));83} else {84$view->addAttribute(phutil_tag('em', array(), pht('Not in Queue')));85}8687$list->addItem($view);88}8990$result = new PhabricatorApplicationSearchResultView();91$result->setObjectList($list);92$result->setNoDataString(pht('No items found.'));9394return $result;95}9697}9899100