1 // This file is part of Moodle - http://moodle.org/
3 // Moodle is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, either version 3 of the License, or
6 // (at your option) any later version.
8 // Moodle is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 // GNU General Public License for more details.
13 // You should have received a copy of the GNU General Public License
14 // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
17 * Add Pending JS checks to stock Bootstrap transitions.
19 * @module theme_boost/pending
20 * @copyright 2019 Andrew Nicols <andrew@nicols.co.uk>
21 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
24 import jQuery from 'jquery';
25 const moduleTransitions = {
119 export default () => {
120 Object.entries(moduleTransitions).forEach(([key, pairs]) => {
121 pairs.forEach(pair => {
122 const eventStart = `${pair.start}.bs.${key}`;
123 const eventEnd = `${pair.end}.bs.${key}`;
124 jQuery(document.body).on(eventStart, e => {
125 M.util.js_pending(eventEnd);
126 jQuery(e.target).one(eventEnd, () => {
127 M.util.js_complete(eventEnd);