|
3 | 3 | final class PhabricatorSearchApplicationSearchEngine
|
4 | 4 | extends PhabricatorApplicationSearchEngine {
|
5 | 5 |
|
| 6 | + public function getApplicationClassName() { |
| 7 | + return 'PhabricatorApplicationSearch'; |
| 8 | + } |
| 9 | + |
6 | 10 | public function buildSavedQueryFromRequest(AphrontRequest $request) {
|
7 | 11 | $saved = new PhabricatorSavedQuery();
|
8 | 12 |
|
@@ -233,5 +237,46 @@ public function shouldUseOffsetPaging() {
|
233 | 237 | return true;
|
234 | 238 | }
|
235 | 239 |
|
| 240 | + protected function renderResultList( |
| 241 | + array $results, |
| 242 | + PhabricatorSavedQuery $query, |
| 243 | + array $handles) { |
| 244 | + |
| 245 | + $viewer = $this->requireViewer(); |
| 246 | + |
| 247 | + if ($results) { |
| 248 | + $objects = id(new PhabricatorObjectQuery()) |
| 249 | + ->setViewer($viewer) |
| 250 | + ->withPHIDs(mpull($results, 'getPHID')) |
| 251 | + ->execute(); |
| 252 | + |
| 253 | + $output = array(); |
| 254 | + foreach ($results as $phid => $handle) { |
| 255 | + $view = id(new PhabricatorSearchResultView()) |
| 256 | + ->setHandle($handle) |
| 257 | + ->setQuery($query) |
| 258 | + ->setObject(idx($objects, $phid)); |
| 259 | + $output[] = $view->render(); |
| 260 | + } |
| 261 | + |
| 262 | + $results = phutil_tag_div( |
| 263 | + 'phabricator-search-result-list', |
| 264 | + $output); |
| 265 | + } else { |
| 266 | + $results = phutil_tag_div( |
| 267 | + 'phabricator-search-result-list', |
| 268 | + phutil_tag( |
| 269 | + 'p', |
| 270 | + array('class' => 'phabricator-search-no-results'), |
| 271 | + pht('No search results.'))); |
| 272 | + } |
| 273 | + |
| 274 | + return id(new PHUIBoxView()) |
| 275 | + ->addMargin(PHUI::MARGIN_LARGE) |
| 276 | + ->addPadding(PHUI::PADDING_LARGE) |
| 277 | + ->setBorder(true) |
| 278 | + ->appendChild($results) |
| 279 | + ->addClass('phabricator-search-result-box'); |
| 280 | + } |
236 | 281 |
|
237 | 282 | }
|
0 commit comments