mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-29 18:22:41 +01:00
Fix rendering of offset-paged query panels including "Notifications"
Summary: See <https://discourse.phabricator-community.org/t/call-to-undefined-method-phuipagerview-gethasmoreresults-in-2019-week-13/2586/>. A small number of queries (including "Notifications" and (global) "Search") use offset-based pagers which have a slightly different API `PHUIPagerView` instead of `AphrontCursorPagerView`. This leads to a fatal in the new code for the "View All Results" buttons. To fix this, just do an `instanceof` test. Some day we can unify the pagers. Test Plan: Added a notifications panel, rendered it, saw it work instead of fataling on "getHasMoreResults()". Also rendered some normal panels. Reviewers: amckinley Reviewed By: amckinley Differential Revision: https://secure.phabricator.com/D20366
This commit is contained in:
parent
248d79f36d
commit
e45ccdd892
1 changed files with 10 additions and 1 deletions
|
@ -136,7 +136,16 @@ final class PhabricatorDashboardQueryPanelType
|
||||||
$results_view->setContent($content);
|
$results_view->setContent($content);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($pager->getHasMoreResults()) {
|
// TODO: A small number of queries, including "Notifications" and "Search",
|
||||||
|
// use an offset pager which has a slightly different API. Some day, we
|
||||||
|
// should unify these.
|
||||||
|
if ($pager instanceof PHUIPagerView) {
|
||||||
|
$has_more = $pager->getHasMorePages();
|
||||||
|
} else {
|
||||||
|
$has_more = $pager->getHasMoreResults();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($has_more) {
|
||||||
$item_list = $results_view->getObjectList();
|
$item_list = $results_view->getObjectList();
|
||||||
|
|
||||||
$more_href = $engine->getQueryResultsPageURI($key);
|
$more_href = $engine->getQueryResultsPageURI($key);
|
||||||
|
|
Loading…
Reference in a new issue