From 99d4b43b8ebee685e2a315ff053b8d88c889bc49 Mon Sep 17 00:00:00 2001
From: Murhu Markus
Date: Thu, 22 Jan 2026 14:47:05 +0200
Subject: [PATCH] Save participants page length to localstorage
Fixes #1486
---
assets/js/participants.js | 6 +++++-
course/templates/course/staff/participants.html | 2 +-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/assets/js/participants.js b/assets/js/participants.js
index da407db28..5033a420c 100644
--- a/assets/js/participants.js
+++ b/assets/js/participants.js
@@ -514,6 +514,10 @@ function participants_list(participants, api_url, is_teacher, enrollment_statuse
columns: columns,
order: [[ is_teacher ? 1 : 0, 'asc' ]],
orderCellsTop: true,
+ stateSave: true,
+ stateSaveCallback: function(settings, data) {
+ localStorage.setItem('participantsListPageLength', data.length);
+ },
rowId: function(row) { return 'participant-' + row.user_id; },
headerCallback: function(thead /*, data, start, end, display */) {
// Ensure thead has id and filters row exists even if DT rebuilt the header
@@ -554,7 +558,7 @@ function participants_list(participants, api_url, is_teacher, enrollment_statuse
$(row).attr('data-user-id', data.user_id);
},
lengthMenu: [[10, 50, 100, 500, -1], [10, 50, 100, 500, 'All']],
- pageLength: 50,
+ pageLength: localStorage.getItem('participantsListPageLength') ? parseInt(localStorage.getItem('participantsListPageLength'), 10) : 50,
deferRender: true,
autoWidth: false,
language: { url: pageLanguageUrl },
diff --git a/course/templates/course/staff/participants.html b/course/templates/course/staff/participants.html
index b6fbc7b36..af84983b8 100644
--- a/course/templates/course/staff/participants.html
+++ b/course/templates/course/staff/participants.html
@@ -70,7 +70,7 @@
{% endif %}
-