diff options
author | Hakim El Hattab <hakim.elhattab@gmail.com> | 2019-03-14 14:52:59 +0100 |
---|---|---|
committer | Hakim El Hattab <hakim.elhattab@gmail.com> | 2019-03-14 14:52:59 +0100 |
commit | 6410ed15aa5ce2bdfc1f7f02c818a562ec8a1fc4 (patch) | |
tree | 2dfb0a67422aa196b9448c1e3c06338dfb20131f | |
parent | 5301a9ea03a2c5abe857105acbc224c532a8c0e8 (diff) | |
download | perl-software-in-gnu-guix-6410ed15aa5ce2bdfc1f7f02c818a562ec8a1fc4.tar perl-software-in-gnu-guix-6410ed15aa5ce2bdfc1f7f02c818a562ec8a1fc4.tar.gz |
support for plugins where the init method doesn't return a Promise
-rw-r--r-- | js/reveal.js | 29 | ||||
-rw-r--r-- | plugin/highlight/highlight.js | 2 | ||||
-rwxr-xr-x | plugin/math/math.js | 2 | ||||
-rw-r--r-- | plugin/notes/notes.js | 2 | ||||
-rw-r--r-- | plugin/zoom-js/zoom.js | 2 |
5 files changed, 17 insertions, 20 deletions
diff --git a/js/reveal.js b/js/reveal.js index 1ef10aa..51b1ed0 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -539,29 +539,34 @@ var pluginsToInitialize = Object.keys( plugins ).length; + var afterPlugInitialized = function() { + if( --pluginsToInitialize === 0 ) { + loadAsyncDependencies(); + } + }; + for( var i in plugins ) { var plugin = plugins[i]; - // If the plugin has an 'init' method, initialize and - // wait for the callback + // If the plugin has an 'init' method, invoke it if( typeof plugin.init === 'function' ) { - plugin.init().then( function() { - if( --pluginsToInitialize === 0 ) { - loadAsyncDependencies(); - } - } ); + var callback = plugin.init(); + + // If the plugin returned a Promise, wait for it + if( callback && typeof callback.then === 'function' ) { + callback.then( afterPlugInitialized ); + } + else { + afterPlugInitialized(); + } } else { - pluginsToInitialize -= 1; + afterPlugInitialized(); } } - if( pluginsToInitialize === 0 ) { - loadAsyncDependencies(); - } - } /** diff --git a/plugin/highlight/highlight.js b/plugin/highlight/highlight.js index 6d6910b..b3599e8 100644 --- a/plugin/highlight/highlight.js +++ b/plugin/highlight/highlight.js @@ -97,8 +97,6 @@ c:[{cN:"comment",b:/\(\*/,e:/\*\)/},e.ASM,e.QSM,e.CNM,{b:/\{/,e:/\}/,i:/:/}]}}); } } ); - return Promise.resolve(); - }, /** diff --git a/plugin/math/math.js b/plugin/math/math.js index b78d120..d76c9dd 100755 --- a/plugin/math/math.js +++ b/plugin/math/math.js @@ -84,8 +84,6 @@ var RevealMath = window.RevealMath || (function(){ } ); - return Promise.resolve(); - } } diff --git a/plugin/notes/notes.js b/plugin/notes/notes.js index 54dcf31..3d5eac4 100644 --- a/plugin/notes/notes.js +++ b/plugin/notes/notes.js @@ -168,8 +168,6 @@ var RevealNotes = (function() { } - return Promise.resolve(); - }, open: openNotes diff --git a/plugin/zoom-js/zoom.js b/plugin/zoom-js/zoom.js index 031514d..92c3ba5 100644 --- a/plugin/zoom-js/zoom.js +++ b/plugin/zoom-js/zoom.js @@ -22,8 +22,6 @@ var RevealZoom = (function(){ } } ); - return Promise.resolve(); - } } |