MDL-69964 course: toggle participant checkboxes in root element.
authorPaul Holden <paulh@moodle.com>
Wed, 21 Oct 2020 09:22:55 +0000 (10:22 +0100)
committerPaul Holden <paulh@moodle.com>
Mon, 16 Nov 2020 17:44:17 +0000 (17:44 +0000)
For a given toggleGroup, the relevant action elements are not
necessarily descendants of the same tableRoot element, on the
course participants page.

user/amd/build/participants.min.js
user/amd/build/participants.min.js.map
user/amd/src/participants.js
user/tests/behat/view_participants.feature

index 4e49ea2..071682e 100644 (file)
Binary files a/user/amd/build/participants.min.js and b/user/amd/build/participants.min.js differ
index 5938593..aeaff37 100644 (file)
Binary files a/user/amd/build/participants.min.js.map and b/user/amd/build/participants.min.js.map differ
index ebe72f6..63c8e0a 100644 (file)
@@ -125,7 +125,7 @@ export const init = ({
                 .then(tableRoot => {
                     // Always update the toggle state.
                     // This ensures that the bulk actions are disabled after changing the page size.
-                    CheckboxToggleAll.setGroupState(tableRoot, 'participants-table', checkCountButtonClicked);
+                    CheckboxToggleAll.setGroupState(root, 'participants-table', checkCountButtonClicked);
 
                     return tableRoot;
                 })
@@ -144,7 +144,7 @@ export const init = ({
             const currentPageSize = parseInt(tableRoot.dataset.tablePageSize, 10);
             const totalRowCount = parseInt(tableRoot.dataset.tableTotalRows, 10);
 
-            CheckboxToggleAll.updateSlavesFromMasterState(tableRoot, 'participants-table');
+            CheckboxToggleAll.updateSlavesFromMasterState(root, 'participants-table');
 
             const pageCountStrings = [
                 {
index 67d9209..f023b5d 100644 (file)
@@ -180,6 +180,7 @@ Feature: View course participants
     And the field "Select 'Student 18x'" matches value "0"
     And the field "Select 'Student 19x'" matches value "0"
 
+    # Pressing the "Select all X users" button should select all including the 21st user (Student 9x).
     And I press "Select all 21 users"
     And I should see "Student 9x"
     And the field "Select 'Teacher 1x'" matches value "1"
@@ -204,6 +205,7 @@ Feature: View course participants
     And the field "Select 'Student 17x'" matches value "1"
     And the field "Select 'Student 18x'" matches value "1"
     And the field "Select 'Student 19x'" matches value "1"
+    And the "With selected users..." "select" should be enabled
 
     And I click on "Deselect all" "checkbox"
     And the field "Select 'Teacher 1x'" matches value "0"