From 370fce3b1935165c633f96c58a3e9c4fc639570c Mon Sep 17 00:00:00 2001
From: Rasmus Fuhse <fuhse@data-quest.de>
Date: Wed, 16 Feb 2022 09:51:06 +0000
Subject: [PATCH] =?UTF-8?q?Resolve=20"Vue-Integration=20f=C3=BCr=20Plugins?=
 =?UTF-8?q?"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 resources/assets/javascripts/lib/blubber.js | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/resources/assets/javascripts/lib/blubber.js b/resources/assets/javascripts/lib/blubber.js
index c2d85b2e5c9..3aca3c74fbc 100644
--- a/resources/assets/javascripts/lib/blubber.js
+++ b/resources/assets/javascripts/lib/blubber.js
@@ -1,21 +1,18 @@
 /*jslint esversion: 6*/
-import { $gettext } from '../lib/gettext.js';
-import BlubberGlobalstream from '../../../vue/components/BlubberGlobalstream.vue';
-import BlubberPublicComposer from '../../../vue/components/BlubberPublicComposer.vue';
-import BlubberThread from '../../../vue/components/BlubberThread.vue';
-import BlubberThreadWidget from '../../../vue/components/BlubberThreadWidget.vue';
+import { $gettext } from './gettext';
 
-const components = {
-    BlubberGlobalstream,
-    BlubberPublicComposer,
-    BlubberThread,
-    BlubberThreadWidget,
-};
 
 const Blubber = {
     App: null, //This app is not always available. The app is blubber with a widget and the threads next to it.
     threads: [],
+    components: {
+        BlubberGlobalstream: () => import('../../../vue/components/BlubberGlobalstream.vue'),
+        BlubberPublicComposer: () => import('../../../vue/components/BlubberPublicComposer.vue'),
+        BlubberThread: () => import('../../../vue/components/BlubberThread.vue'),
+        BlubberThreadWidget: () => import('../../../vue/components/BlubberThreadWidget.vue'),
+    },
     init () {
+        let components = STUDIP.Blubber.components;
         if ($('#blubber-index, #messenger-course, .blubber_panel.vueinstance').length) {
             STUDIP.JSUpdater.register('blubber', Blubber.updateState, Blubber.getParamsForPolling);
 
@@ -187,6 +184,7 @@ const Blubber = {
         vue: null,
         async init () {
             STUDIP.Blubber.Composer.vue = await STUDIP.Vue.load().then(({createApp}) => {
+                let components = STUDIP.Blubber.components;
                 return createApp({
                     el: '#blubber_contact_ids',
                     data: {
-- 
GitLab