diff options
Diffstat (limited to 'src/web/_views/apps/people/main.php')
-rw-r--r-- | src/web/_views/apps/people/main.php | 121 |
1 files changed, 63 insertions, 58 deletions
diff --git a/src/web/_views/apps/people/main.php b/src/web/_views/apps/people/main.php index 171f25c..deec4c2 100644 --- a/src/web/_views/apps/people/main.php +++ b/src/web/_views/apps/people/main.php @@ -1,67 +1,72 @@ <?php /* Copyright (c) 2024 Freya Murphy */ ?> <?php /* vi: syntax=php */ ?> -<div id="main-content" class="col"> - <h1 class="title"><?=lang('title')?></h1> - <h3 class="desc"><?=lang('desc')?></h3> - <hr> - <div id="people-container" class="col"> - <?php - $pdata = $this->people(); - ?> - </div> - <?php - $loaded = count($pdata['users']); - $page_size = $pdata['page_size']; - $total = $pdata['count']; - $max = $pdata['max_id']; - ?> - <?php if ($loaded >= $page_size && $page_size < $total): ?> - <?=ilang('action_load_users', - id: 'action-load-users', - class: 'btn btn-line btn-wide mb', - attrs: array( - 'loaded' => $loaded, - 'pageSize' => $page_size, - 'userCount' => $total, - 'userMax' => $max - ) - )?> - <script> +<div id="people-container" class="col"> +<?php + $pdata = $this->people(); +?> +</div> +<?php + $loaded = count($pdata['users']); + $page_size = $pdata['page_size']; + $total = $pdata['count']; + $max = $pdata['max_id']; + $filter_uid = $pdata['filter_uid']; + $filer_type = $pdata['filter_type']; +?> +<?php if ($loaded >= $page_size && $page_size < $total): ?> + <?=ilang('action_load_users', + id: 'action-load-users', + class: 'btn btn-line btn-wide mb', + attrs: array( + 'loaded' => $loaded, + 'pageSize' => $page_size, + 'userCount' => $total, + 'userMax' => $max, + 'filterUid' => $filter_uid, + 'filterType' => $filer_type + ) + )?> + <script> - var urlParams = new URLSearchParams(window.location.search).toString(); + $('#action-load-users').on('click', function() { + let me = $(this); + let page = me.attr('page'); + if (!page) { + page = '1'; + } + let newPage = Number(page) + 1; + me.attr('page', newPage + ''); - $('#action-load-users').on('click', function() { - let me = $(this); - let page = me.attr('page'); - if (!page) { - page = '1'; - } - let newPage = Number(page) + 1; - me.attr('page', newPage + ''); + let loaded = Number(me.attr('loaded')); + let pageSize = Number(me.attr('pageSize')); + let userCount = Number(me.attr('userCount')); + let userMax = Number(me.attr('userMax')); - let loaded = Number(me.attr('loaded')); - let pageSize = Number(me.attr('pageSize')); - let userCount = Number(me.attr('userCount')); - let userMax = Number(me.attr('userMax')); + let filterType = me.attr('filterType'); + let filterUid = me.attr('filterUid'); - let url = '/people/people?page=' + page + '&max=' + userMax + '&' + urlParams; - $.get(url, function (data) { - if (data === '') { - me.remove(); - return; - } + let url = '/people/people?page=' + page + '&max=' + userMax; - let container = $('#people-container'); - container.append(data); + if (filterType && filterUid) { + url += '&filter=' + filterType + '&uid=' + filterUid; + } + + $.get(url, function (data) { + if (data === '') { + me.remove(); + return; + } - loaded += pageSize; - if (loaded >= userCount) { - me.remove(); - } else { - me.attr('loaded', loaded + ''); - } - }); + let container = $('#people-container'); + container.append(data); + + loaded += pageSize; + if (loaded >= userCount) { + me.remove(); + } else { + me.attr('loaded', loaded + ''); + } }); - </script> - <?php endif ?> -</div> + }); + </script> +<?php endif ?> |