Differential D17192 Diff 41339 src/applications/search/controller/PhabricatorApplicationSearchController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/search/controller/PhabricatorApplicationSearchController.php
Show First 20 Lines • Show All 233 Lines • ▼ Show 20 Lines | if ($run_query) { | ||||
$force_nux = $request->getBool('nux'); | $force_nux = $request->getBool('nux'); | ||||
if (!$objects || $force_nux) { | if (!$objects || $force_nux) { | ||||
$nux_view = $this->renderNewUserView($engine, $force_nux); | $nux_view = $this->renderNewUserView($engine, $force_nux); | ||||
} else { | } else { | ||||
$nux_view = null; | $nux_view = null; | ||||
} | } | ||||
$is_overflowing = | |||||
$pager->willShowPagingControls() && | |||||
$engine->getResultBucket($saved_query); | |||||
$force_overheated = $request->getBool('overheated'); | $force_overheated = $request->getBool('overheated'); | ||||
$is_overheated = $query->getIsOverheated() || $force_overheated; | $is_overheated = $query->getIsOverheated() || $force_overheated; | ||||
if ($nux_view) { | if ($nux_view) { | ||||
$box->appendChild($nux_view); | $box->appendChild($nux_view); | ||||
} else { | } else { | ||||
$list = $engine->renderResults($objects, $saved_query); | $list = $engine->renderResults($objects, $saved_query); | ||||
Show All 10 Lines | if ($run_query) { | ||||
$box->setObjectList($list->getObjectList()); | $box->setObjectList($list->getObjectList()); | ||||
} | } | ||||
if ($list->getTable()) { | if ($list->getTable()) { | ||||
$box->setTable($list->getTable()); | $box->setTable($list->getTable()); | ||||
} | } | ||||
if ($list->getInfoView()) { | if ($list->getInfoView()) { | ||||
$box->setInfoView($list->getInfoView()); | $box->setInfoView($list->getInfoView()); | ||||
} | } | ||||
if ($is_overflowing) { | |||||
$box->appendChild($this->newOverflowingView()); | |||||
} | |||||
if ($list->getContent()) { | if ($list->getContent()) { | ||||
$box->appendChild($list->getContent()); | $box->appendChild($list->getContent()); | ||||
} | } | ||||
if ($is_overheated) { | if ($is_overheated) { | ||||
$box->appendChild($this->newOverheatedView($objects)); | $box->appendChild($this->newOverheatedView($objects)); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 264 Lines • ▼ Show 20 Lines | private function newUseResultsDropdown( | ||||
return id(new PHUIButtonView()) | return id(new PHUIButtonView()) | ||||
->setTag('a') | ->setTag('a') | ||||
->setHref('#') | ->setHref('#') | ||||
->setText(pht('Use Results...')) | ->setText(pht('Use Results...')) | ||||
->setIcon('fa-road') | ->setIcon('fa-road') | ||||
->setDropdownMenu($action_list); | ->setDropdownMenu($action_list); | ||||
} | } | ||||
private function newOverflowingView() { | |||||
$message = pht( | |||||
'The query matched more than one page of results. Results are '. | |||||
'paginated before bucketing, so later pages may contain additional '. | |||||
'results in any bucket.'); | |||||
return id(new PHUIInfoView()) | |||||
->setSeverity(PHUIInfoView::SEVERITY_WARNING) | |||||
->setFlush(true) | |||||
->setTitle(pht('Buckets Overflowing')) | |||||
->setErrors( | |||||
array( | |||||
$message, | |||||
)); | |||||
} | |||||
private function newOverheatedView(array $results) { | private function newOverheatedView(array $results) { | ||||
if ($results) { | if ($results) { | ||||
$message = pht( | $message = pht( | ||||
'Most objects matching your query are not visible to you, so '. | 'Most objects matching your query are not visible to you, so '. | ||||
'filtering results is taking a long time. Only some results are '. | 'filtering results is taking a long time. Only some results are '. | ||||
'shown. Refine your query to find results more quickly.'); | 'shown. Refine your query to find results more quickly.'); | ||||
} else { | } else { | ||||
$message = pht( | $message = pht( | ||||
▲ Show 20 Lines • Show All 46 Lines • Show Last 20 Lines |