summaryrefslogtreecommitdiff
path: root/src/web/_views/apps/people/main.php
blob: deec4c24ba46dc04c6489be240b983d93c43d921 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php /* Copyright (c) 2024 Freya Murphy */ ?>
<?php /* vi: syntax=php */ ?>
<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>

		$('#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 filterType = me.attr('filterType');
			let filterUid = me.attr('filterUid');

			let url = '/people/people?page=' + page + '&max=' + userMax;

			if (filterType && filterUid) {
				url += '&filter=' + filterType + '&uid=' + filterUid;
			}

			$.get(url, function (data) {
				if (data === '') {
					me.remove();
					return;
				}

				let container = $('#people-container');
				container.append(data);

				loaded += pageSize;
				if (loaded >= userCount) {
					me.remove();
				} else {
					me.attr('loaded', loaded + '');
				}
			});
		});
	</script>
<?php endif ?>