From 00c6501dc813ddffde2cd0535a1c3ce124c821d1 Mon Sep 17 00:00:00 2001 From: Niels van Velzen Date: Sun, 29 Nov 2020 14:36:25 +0100 Subject: [PATCH 1/3] Support async plugin loading from window --- src/components/pluginManager.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/pluginManager.js b/src/components/pluginManager.js index ea76d30ee..5d4fef214 100644 --- a/src/components/pluginManager.js +++ b/src/components/pluginManager.js @@ -74,9 +74,14 @@ import { playbackManager } from './playback/playbackmanager'; if (typeof pluginSpec === 'string') { if (pluginSpec in window) { console.log(`Loading plugin (via window): ${pluginSpec}`); + let pluginInstance = await window[pluginSpec]; + + if (typeof pluginInstance === 'function') { + pluginInstance = await pluginInstance(); + } // init plugin and pass basic dependencies - plugin = new window[pluginSpec]({ + plugin = new pluginInstance({ events: Events, loading, appSettings, From f6a83c3701c84192016bee735009957c2f396df8 Mon Sep 17 00:00:00 2001 From: Niels van Velzen Date: Sun, 29 Nov 2020 14:46:18 +0100 Subject: [PATCH 2/3] Make linter happy --- src/components/pluginManager.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/pluginManager.js b/src/components/pluginManager.js index 5d4fef214..f2074bab5 100644 --- a/src/components/pluginManager.js +++ b/src/components/pluginManager.js @@ -75,9 +75,9 @@ import { playbackManager } from './playback/playbackmanager'; if (pluginSpec in window) { console.log(`Loading plugin (via window): ${pluginSpec}`); let pluginInstance = await window[pluginSpec]; - + if (typeof pluginInstance === 'function') { - pluginInstance = await pluginInstance(); + pluginInstance = await pluginInstance(); } // init plugin and pass basic dependencies From 5d2c5aa77cd21f5e1512b6451ff1cfabe8312744 Mon Sep 17 00:00:00 2001 From: Niels van Velzen Date: Sun, 29 Nov 2020 14:57:24 +0100 Subject: [PATCH 3/3] fix trailing space --- src/components/pluginManager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/pluginManager.js b/src/components/pluginManager.js index f2074bab5..c944340a4 100644 --- a/src/components/pluginManager.js +++ b/src/components/pluginManager.js @@ -77,7 +77,7 @@ import { playbackManager } from './playback/playbackmanager'; let pluginInstance = await window[pluginSpec]; if (typeof pluginInstance === 'function') { - pluginInstance = await pluginInstance(); + pluginInstance = await pluginInstance(); } // init plugin and pass basic dependencies