diff --git a/lib/form/filemanager.js b/lib/form/filemanager.js index fe230d6e791..4491d45dd28 100644 --- a/lib/form/filemanager.js +++ b/lib/form/filemanager.js @@ -1189,6 +1189,14 @@ M.form_filemanager.init = function(Y, options) { } }, false); } + // Load popover for the filemanager content. + var filepickerContent = Y.one('.filemanager.fp-file'); + require(['theme_boost/bootstrap/popover'], function(Popover) { + var popoverTriggerList = filepickerContent.getDOMNode().querySelectorAll('[data-bs-toggle="popover"]'); + popoverTriggerList.forEach((popoverTriggerEl) => { + new Popover(popoverTriggerEl); + }); + }); // update dialog header var nodename = node.fullname; // Limit the string length so it fits nicely on mobile devices diff --git a/repository/filepicker.js b/repository/filepicker.js index d0b99d32312..c5388767822 100644 --- a/repository/filepicker.js +++ b/repository/filepicker.js @@ -1241,6 +1241,14 @@ M.core_filepicker.init = function(Y, options) { .one('.fp-value').setContent(Y.Escape.html(value)); } } + // Load popover for the filepicker content. + var filepickerContent = Y.one('.file-picker.fp-select'); + require(['theme_boost/bootstrap/popover'], function(Popover) { + var popoverTriggerList = filepickerContent.getDOMNode().querySelectorAll('[data-bs-toggle="popover"]'); + popoverTriggerList.forEach((popoverTriggerEl) => { + new Popover(popoverTriggerEl); + }); + }); }, setup_select_file: function() { var client_id = this.options.client_id; @@ -1785,7 +1793,15 @@ M.core_filepicker.init = function(Y, options) { if (obj.repo_id && scope.options.repositories[obj.repo_id]) { scope.fpnode.addClass('repository_'+scope.options.repositories[obj.repo_id].type) } - Y.one('.file-picker .fp-repo-items').focus(); + var filepickerContent = Y.one('.file-picker .fp-repo-items'); + filepickerContent.focus(); + // Load popover for the filepicker content. + require(['theme_boost/bootstrap/popover'], function(Popover) { + var popoverTriggerList = filepickerContent.getDOMNode().querySelectorAll('[data-bs-toggle="popover"]'); + popoverTriggerList.forEach((popoverTriggerEl) => { + new Popover(popoverTriggerEl); + }); + }); // display response if (obj.login) {