mirror of
https://github.com/friendica/friendica
synced 2024-12-23 13:20:21 +00:00
Merge pull request #9292 from annando/infinite-rework
Network page: reworked infinite scrolling
This commit is contained in:
commit
26d23a3ee3
1 changed files with 10 additions and 35 deletions
|
@ -48,8 +48,6 @@ function network_init(App $a)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Hook::add('head', __FILE__, 'network_infinite_scroll_head');
|
|
||||||
|
|
||||||
$is_a_date_query = false;
|
$is_a_date_query = false;
|
||||||
|
|
||||||
$group_id = (($a->argc > 1 && is_numeric($a->argv[1])) ? intval($a->argv[1]) : 0);
|
$group_id = (($a->argc > 1 && is_numeric($a->argv[1])) ? intval($a->argv[1]) : 0);
|
||||||
|
@ -287,10 +285,17 @@ function network_content(App $a, $update = 0, $parent = 0)
|
||||||
$arr = ['query' => DI::args()->getQueryString()];
|
$arr = ['query' => DI::args()->getQueryString()];
|
||||||
Hook::callAll('network_content_init', $arr);
|
Hook::callAll('network_content_init', $arr);
|
||||||
|
|
||||||
if (!empty($_GET['file'])) {
|
if (DI::pConfig()->get(local_user(), 'system', 'infinite_scroll') && ($_GET['mode'] ?? '') != 'minimal') {
|
||||||
$o = networkFlatView($a, $update);
|
$tpl = Renderer::getMarkupTemplate('infinite_scroll_head.tpl');
|
||||||
|
$o = Renderer::replaceMacros($tpl, ['$reload_uri' => DI::args()->getQueryString()]);
|
||||||
} else {
|
} else {
|
||||||
$o = networkThreadedView($a, $update, $parent);
|
$o = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($_GET['file'])) {
|
||||||
|
$o .= networkFlatView($a, $update);
|
||||||
|
} else {
|
||||||
|
$o .= networkThreadedView($a, $update, $parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$update && ($o === '')) {
|
if (!$update && ($o === '')) {
|
||||||
|
@ -732,33 +737,3 @@ function network_tabs(App $a)
|
||||||
|
|
||||||
// --- end item filter tabs
|
// --- end item filter tabs
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Network hook into the HTML head to enable infinite scroll.
|
|
||||||
*
|
|
||||||
* Since the HTML head is built after the module content has been generated, we need to retrieve the base query string
|
|
||||||
* of the page to make the correct asynchronous call. This is obtained through the Pager that was instantiated in
|
|
||||||
* networkThreadedView or networkFlatView.
|
|
||||||
*
|
|
||||||
* @param App $a
|
|
||||||
* @param string $htmlhead The head tag HTML string
|
|
||||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
|
||||||
* @global Pager $pager
|
|
||||||
*/
|
|
||||||
function network_infinite_scroll_head(App $a, &$htmlhead)
|
|
||||||
{
|
|
||||||
/// @TODO this will have to be converted to a static property of the converted Module\Network class
|
|
||||||
/**
|
|
||||||
* @var $pager Pager
|
|
||||||
*/
|
|
||||||
global $pager;
|
|
||||||
|
|
||||||
if (DI::pConfig()->get(local_user(), 'system', 'infinite_scroll')
|
|
||||||
&& ($_GET['mode'] ?? '') != 'minimal'
|
|
||||||
) {
|
|
||||||
$tpl = Renderer::getMarkupTemplate('infinite_scroll_head.tpl');
|
|
||||||
$htmlhead .= Renderer::replaceMacros($tpl, [
|
|
||||||
'$reload_uri' => $pager->getBaseQueryString()
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue