[plugin] Error message if loading failed

This commit is contained in:
Ferdinand Thiessen 2021-03-24 17:18:10 +01:00
parent 827fb1aadd
commit 87139077da
1 changed files with 13 additions and 2 deletions

View File

@ -4,6 +4,7 @@ import routes from 'src/router/routes';
import { api } from 'boot/axios'; import { api } from 'boot/axios';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { RouteRecordRaw } from 'vue-router'; import { RouteRecordRaw } from 'vue-router';
import { Notify } from 'quasar';
const config: { [key: string]: Array<string> } = { const config: { [key: string]: Array<string> } = {
// Do not change required Modules !! // Do not change required Modules !!
@ -340,13 +341,23 @@ export default boot(async ({ router, app }) => {
}); });
// Load user defined plugins // Load user defined plugins
const failed: string[] = [];
config.loadModules.forEach((required) => { config.loadModules.forEach((required) => {
const plugin = loadPlugin(loadedPlugins, required, pluginsContext, backend); const plugin = loadPlugin(loadedPlugins, required, pluginsContext, backend);
if (!plugin) { if (!plugin) {
void router.push({ name: 'error' }); failed.push(required);
return;
} }
}); });
if (failed.length > 0) {
console.error('Could not load all plugins', failed);
Notify.create({
type: 'negative',
message:
'Fehler beim laden, nicht alle Funktionen stehen zur Verfügung. Bitte wende dich an den Admin!',
timeout: 10000,
progress: true,
});
}
// Sort widgets by priority // Sort widgets by priority
loadedPlugins.widgets.sort((a, b) => b.priority - a.priority); loadedPlugins.widgets.sort((a, b) => b.priority - a.priority);