From 24f59a7d32b6e72371cb67c5c522383ac4eec28a Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Tue, 14 Nov 2023 09:28:59 +0000 Subject: [PATCH] MDL-79927 files: scope toggleall checkboxes per filemanager instance. Ensures that when multiple exist on the same page, each operates independently of the others. --- lib/form/filemanager.js | 2 +- repository/filepicker.js | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/form/filemanager.js b/lib/form/filemanager.js index e83f9f63feb..524e13efb9f 100644 --- a/lib/form/filemanager.js +++ b/lib/form/filemanager.js @@ -285,7 +285,7 @@ M.form_filemanager.init = function(Y, options) { return this.filemanager.ancestor('.fitem.disabled') != null; }, getSelectedFiles: function() { - var markedFiles = this.filemanager.all('[data-togglegroup=file-selections]:checked'); + var markedFiles = this.filemanager.all('[data-togglegroup][data-toggle=slave]:checked'); var filenames = []; markedFiles.each(function(item) { var fileinfo = this.options.list.find(function(element) { diff --git a/repository/filepicker.js b/repository/filepicker.js index 156d597f7bf..3dd8d94c919 100644 --- a/repository/filepicker.js +++ b/repository/filepicker.js @@ -336,16 +336,14 @@ YUI.add('moodle-core_filepicker', function(Y) { */ var formatCheckbox = function(o) { var el = Y.Node.create('
'); - + var parentid = scope.one('.' + classname).get('id'); var checkbox = Y.Node.create('') .setAttribute('type', 'checkbox') .setAttribute('data-fieldtype', 'checkbox') .setAttribute('data-fullname', o.data.fullname) .setAttribute('data-action', 'toggle') .setAttribute('data-toggle', 'slave') - .setAttribute('data-togglegroup', 'file-selections') - .setAttribute('data-toggle-selectall', M.util.get_string('selectall', 'moodle')) - .setAttribute('data-toggle-deselectall', M.util.get_string('deselectall', 'moodle')); + .setAttribute('data-togglegroup', 'file-selections-' + parentid); var checkboxLabel = Y.Node.create('