MDL-78370 block_myoverview: Conditionally show "All" paging option

To minimise performance issues when displaying courses in Summary view,
we need to conditionally show the "All" paging option. This commit
will prevent the "All" paging option to be shown if the following
conditions are met:
- The display mode is "summary"; and
- There are more than 100 courses to be shown.
This commit is contained in:
Jun Pataleta
2024-02-21 09:50:02 +08:00
parent 0f8e328e75
commit b13eae06db
3 changed files with 7 additions and 3 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+5 -1
View File
@@ -551,7 +551,11 @@ const itemsPerPageFunc = (pagingLimit, root) => {
// Filter out all pagination options which are too large for the amount of courses user is enrolled in.
const totalCourseCount = parseInt(root.find(SELECTORS.courseView.region).attr('data-totalcoursecount'), 10);
return itemsPerPage.filter(pagingOption => {
return pagingOption.value < totalCourseCount || pagingOption.value === 0;
if (pagingOption.value === 0 && totalCourseCount > 100) {
// To minimise performance issues, do not show the "All" option if the user is enrolled in more than 100 courses.
return false;
}
return pagingOption.value < totalCourseCount;
});
};