From 721c29ff2dfe745e944d0a4c1436370f61d20f40 Mon Sep 17 00:00:00 2001 From: Andrew Nicols Date: Wed, 27 May 2020 14:52:50 +0800 Subject: [PATCH] MDL-68833 theme_boost: Add ./pending event checks back --- theme/boost/amd/build/loader.min.js | Bin 1289 -> 1399 bytes theme/boost/amd/build/loader.min.js.map | Bin 4358 -> 4814 bytes theme/boost/amd/build/pending.min.js | Bin 845 -> 2107 bytes theme/boost/amd/build/pending.min.js.map | Bin 5400 -> 4980 bytes theme/boost/amd/src/loader.js | 75 +++++---- theme/boost/amd/src/pending.js | 188 ++++++++++++----------- 6 files changed, 138 insertions(+), 125 deletions(-) diff --git a/theme/boost/amd/build/loader.min.js b/theme/boost/amd/build/loader.min.js index ca24dd7f773ed40ed0859e4d6da85d5efbfd618f..e762a98acfeab79888db4b030a9d4c857b1fcdd5 100644 GIT binary patch delta 324 zcmXwxJx;_h5QSxuY8yHv1V~XRu!Ttg(SQ|+a>WIx5OVBs;>C$kl3gTL9DoAB%15Dx zn^1BET4oU`-hA`(<~>h-CU3=RdUDBAqJ^1QtWH{KUUErhex636PLfWtPKr*dPTItEy^N`oZ5U;= z(>0Pbt&?rjHIg;0Q-D;8rgbWiO4YPZ15#-~3aVWpeey&`UA+ujn1F_6b*6@_Gs?g zC9gtj03B)q*i2gUcMyL!U%b3pMaWvCCjOd@rrz;;K6}`v8vq+>Lyg|9z-nE&C}To> zN^dl_6cpnY-2!Oh((F?UJtc>qvW_yALhGhtJyz@I^i2g|N4X;SgAQx!Yirs16!kY0F~N;y38gYPlH99Kr1Oqh$VmUPC7FHAK zh)u3v+?aNhejLf<*^Gh4V;6p&e+lIbhB!p|_My z`MJsG%-#i=TKprM>FS}weGw6@rQ1&)5}&<3&6&?d101fsF6SaDd))4^a7B$xuJB;j z-}MQ8=j6}-W0lKfQ;#V@P2$-?{>)sF$LXbHxh%&ESMQakdb86zD^ZIlo7kR5B0b9` z`6GR!i1N_u5#fX!V*}goc{reRG&G_DKS59mI7=U zH%m6lxt@E%{Qp7Tb?wmd#2_g9u5Cj~TDeYdU*GLahD{8ivdcr$;>=g~iRzf1XYpE~ zE~v+OI;+8hG;r>uD5J!nG)sw2F+|RYWRM-4Vx?Dg(HD@FE=FZpl$Dk;5{UYyfLKET zl+EZuhHFBHro=eH^fi*9G)H0vHE0%oV#{M`8d2Aa0@)zgt|GmHJETAzEvv(eM5IFF zOS+fZJPp3(@wOukp4%V0>KfANu2472kdyo2RvwYk@FdUlu8L1HD1}dUJ#6mHX)qR> zkhZ{x4L52Xn=TaT7#bzy3HagW1$?ohsXr z0})NZ_%mcTannP6%S;MmBk-(o89!);&+d;QVMx`o8Jc0cW`+4l$KuI)pq~8#DdVIh diff --git a/theme/boost/amd/build/pending.min.js b/theme/boost/amd/build/pending.min.js index d231b81d8f6fffe72e55d3abe063c3d217bb5d2e..3630be6a88f8a8d954987146ec7e23982277c974 100644 GIT binary patch literal 2107 zcmbtV+m72d5Pi>A&}?Clh{E-zKoM9~7eSGS1-eMlZJu0rL6IX%TZvRD${Rz{zjvrh z?4~V>Y+tOAHFIX>%uPd97$A)L94dH7t!?~O4MrE{K%*UnkF|Bap%H!jqXl=O`zULT z@`W`_Mk()T+W=|2E0m}4`}7f%7kUK!$=Mp5KcOCdc!1{4>b3+Lbw^pYuw88i9?PIB z+tMdTTWGS0)8q`#I|sgXhRF3=iZjHG+;+3sRt^J8dAt}AHAOWW=1lUwKaBtNJdV5#V@l;G#W_fMCw?}OPDb?5QtG=jRxe-jPVdw{k@z#r zU8T=Xrq&8hXltgn*OxemA1iUf}3iVH68YmlFs5nD$jb@(R$Gf z@~CCYQq~QeweqtPiW&?ZqQz5_+o#!45b+aM2zQ%C`S}Qy)$$_DFAbo!wLOA+zJD*% z|6y!pb5V;g4c=Q@`l5ce|KZ|pEQ=i1_`Ke5o45iRR&aq6^G;$fe^SDx4(+6qa3@}K z95TJz;7P;B^*+x2)j%bbhV6%=!K4^lFrp%Da5*o31IM|&)WX*MyH3nDQMw#G&a_qI z`V*!NUkLAkYvmL$*YO;4iMO ez9NlnodVqCHJ+6ZKmVA_{zX+73`bP5e(@(x%i;n6 delta 222 zcmdljaF%U?f>c&vX=+iWQmjr|X`6KcmJfEn546DKPIUkCiAh8>_!v{X8fo>jpQSOa_m@I-5+Q^YNYV4>9` z<-@ShR@ng(S){kZOJsr4C@7SioFGvTQ$-;$N*{omvURj+5~4J(=;$^S^jt$d&C5im zbVC-djEn)61YQKFY^kESdE_f$)ZRy^lf(|xjn&dw&&*O~S?IjuSism(b)TT5$vi|R z8JWTnVu5rMPfQJg2`!5taiIwxXi_BdPg9cd5UGutFtYDP43T+kp2R7Q<08~Ni=|+t z4ip3*SKLZPp2PJgVp3AXf$?AMGk37`n9@vudj|muwE)$Qhwr|2d}z6pG_!@GWxG-? zUS@VhO50XJ8qJk(GCGwsb<1>I{;_M|lx8s7y)CUIP5z^+pFj7X<*)pmeB5`A%f7y$ zDoL6Wj8*u0NY`wu>@dUAJoEPo{%hcW@||zQw+uroI;@^Qz~B4(_!qx#f4^_t0p8!; z+d!YPtzyc0Y&NAIIGS(4N@<6ZJ$CcKqvE1fv^JUD)ZS+f%X!HksFio@jt$avEzPOj zhj+HeiW{WsT9)Bvi%q3FRiADZdLn7EEzvV6me$IKD~*jy(=*bxckQwD9Mj#P_agBN zJr{SzR^TZjl6Z+$>#5i;!W*o;T4Ok?i-iOnq6;Oq2|*LC2HiR>t&MCWIq2ZL8eDgR zBipb|bqx~qM4r{HDd=EN8!}UMN@k}1qx1d;{-gezH;_eh-5h?2vm zE}%QDuzelmK+B4;0va{fg<)2&-J-`)Vi=(69wG`!)nNv4baH3FAt`epHz;6!AhBhd zbO$z#kmbn?rMD5PSZo%Ntzg%&B#5}f@I@C;Boin-UKR)I^3uq=ixxv!Nx?fY2O@cq zZFn`Kg&7KdEjNlcie*&0b!ZC1S$GW@$}KdQE_I!eB}&ucW5>-Y{ZPTCTEQk2FBtJJ z9;H{3GibT<>AC+)TiRR0(M-7bsKTvUc#X(~ik@>cLmv%|$(yUX3{O?H3I$Ip^KswV5`wCpr0XOW9P8RP1gMUerw+u6HJl6N8k;Fe@ z>`wbFaPoiB4!0`B?o7ips@ytI)`7ht95s6&`tG8CbRVW@$1uu{W*#W(5EhLcKfB)e zx^vkg&pA=J#KemeXY0+K0!4GHknzV>Wx!)Cx^oSVHhHG1S$l{`#Ct~)75wH(+- z^orW { - rememberTabs(); - - enablePopovers(); - - enableTooltips(); - - const scroll = new Scroll(); - scroll.init(); - - // Disables flipping the dropdowns up and getting hidden behind the navbar. - $.fn.dropdown.Constructor.Default.flip = false; - - Aria.init(); -}; +import Pending from 'core/pending'; +import Scroll from './scroll'; +import setupBootstrapPendingChecks from './pending'; /** * Rember the last visited tabs. @@ -92,7 +65,6 @@ const enablePopovers = () => { CustomEvents.events.escape, ]); $('body').on(CustomEvents.events.escape, '[data-toggle=popover]', function() { - $(this).trigger('blur'); }); }; @@ -106,4 +78,43 @@ const enableTooltips = () => { container: 'body', selector: '[data-toggle="tooltip"]' }); -}; \ No newline at end of file +}; + +/** + * Bootstrap init function + */ +const init = () => { + const pendingPromise = new Pending('theme_boost/loader:init'); + + setupBootstrapPendingChecks(); + + // Remember the last visited tabs. + rememberTabs(); + + // Enable all popovers. + enablePopovers(); + + // Enable all tooltips. + enableTooltips(); + + // Add scroll handling. + (new Scroll()).init(); + + // Disables flipping the dropdowns up and getting hidden behind the navbar. + $.fn.dropdown.Constructor.Default.flip = false; + + // Setup Aria helpers for Bootstrap features. + Aria.init(); + + pendingPromise.resolve(); +}; + +/** + * Set up the search. + * + * @method init + */ +export { + init, + Bootstrap +}; diff --git a/theme/boost/amd/src/pending.js b/theme/boost/amd/src/pending.js index 2e25c8126f4..4b3a5480fef 100644 --- a/theme/boost/amd/src/pending.js +++ b/theme/boost/amd/src/pending.js @@ -20,112 +20,114 @@ * @copyright 2019 Andrew Nicols * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -define(['jquery'], function($) { - var moduleTransitions = { - alert: [ - // Alert. - { - start: 'close', - end: 'closed', - }, - ], - carousel: [ - { - start: 'slide', - end: 'slid', - }, - ], +import jQuery from 'jquery'; +const moduleTransitions = { + alert: [ + // Alert. + { + start: 'close', + end: 'closed', + }, + ], - collapse: [ - { - start: 'hide', - end: 'hidden', - }, - { - start: 'show', - end: 'shown', - }, - ], + carousel: [ + { + start: 'slide', + end: 'slid', + }, + ], - dropdown: [ - { - start: 'hide', - end: 'hidden', - }, - { - start: 'show', - end: 'shown', - }, - ], + collapse: [ + { + start: 'hide', + end: 'hidden', + }, + { + start: 'show', + end: 'shown', + }, + ], - modal: [ - { - start: 'hide', - end: 'hidden', - }, - { - start: 'show', - end: 'shown', - }, - ], + dropdown: [ + { + start: 'hide', + end: 'hidden', + }, + { + start: 'show', + end: 'shown', + }, + ], - popover: [ - { - start: 'hide', - end: 'hidden', - }, - { - start: 'show', - end: 'shown', - }, - ], + modal: [ + { + start: 'hide', + end: 'hidden', + }, + { + start: 'show', + end: 'shown', + }, + ], - tab: [ - { - start: 'hide', - end: 'hidden', - }, - { - start: 'show', - end: 'shown', - }, - ], + popover: [ + { + start: 'hide', + end: 'hidden', + }, + { + start: 'show', + end: 'shown', + }, + ], - toast: [ - { - start: 'hide', - end: 'hidden', - }, - { - start: 'show', - end: 'shown', - }, - ], + tab: [ + { + start: 'hide', + end: 'hidden', + }, + { + start: 'show', + end: 'shown', + }, + ], - tooltip: [ - { - start: 'hide', - end: 'hidden', - }, - { - start: 'show', - end: 'shown', - }, - ], - }; + toast: [ + { + start: 'hide', + end: 'hidden', + }, + { + start: 'show', + end: 'shown', + }, + ], - Object.keys(moduleTransitions).forEach(function(key) { - moduleTransitions[key].forEach(function(pair) { - var eventStart = pair.start + '.bs.' + key; - var eventEnd = pair.end + '.bs.' + key; - $(document.body).on(eventStart, function() { + tooltip: [ + { + start: 'hide', + end: 'hidden', + }, + { + start: 'show', + end: 'shown', + }, + ], +}; + +export default () => { + Object.entries(moduleTransitions).forEach(([key, pairs]) => { + pairs.forEach(pair => { + const eventStart = `${pair.start}.bs.${key}`; + const eventEnd = `${pair.end}.bs.${key}`; + jQuery(document.body).on(eventStart, () => { M.util.js_pending(eventEnd); }); - $(document.body).on(eventEnd, function() { + jQuery(document.body).on(eventEnd, () => { M.util.js_complete(eventEnd); }); }); }); -}); +}; -- 2.43.0