fix initial load bug in browser

This commit is contained in:
peter
2019-08-06 14:05:31 +02:00
parent dc7494b92d
commit 0371810b65
4 changed files with 10 additions and 7 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
"tsc": "tsc",
"start": "npm run build; node lib/FrontblockAdmin.js",
"build": "npm run clean; npm run build-backend; npm run build-frontend",
"build-backend": "tsc; webpack --display-error-details --config src/backend/webpack.prod.js --progress --colors; pwd; cp -r lib/PluginManager/* .",
"build-backend": "tsc; webpack --display-error-details --config src/backend/webpack.prod.js --progress --colors; cp -r lib/PluginManager/* .",
"build-frontend": "npm run build-dashboard; npm run build-widget",
"build-dashboard": "cd src/frontend/dashboard; npm i; npm run build; cp -r dist/* ../../../static",
"build-widget": "rollup -c src/frontend/widget/rollup.config.js; mkdir -p plugins/PluginManager; cp FrontendPlugin.js plugins/PluginManager",
+5 -3
View File
@@ -1,4 +1,5 @@
import { parseSubResponse, parseResponse } from "frontblock-generic/Types";
import PluginManager from "./PluginManager/PluginManager";
var bsock = require('bsock')
/**
@@ -73,15 +74,16 @@ export class FrontblockConfigLib{
}
window['fb'] = new FrontblockConfigLib()
declare const fb
declare const fb:{PluginManager:PluginManager}
window['setup'] = async() => {
await Promise.all([
fb.PluginManager.installPlugin("ApiClient"),
fb.PluginManager.installPlugin("HtmlSupplier"),
fb.PluginManager.installPlugin("PluginManager"),
fb.PluginManager.installPlugin("PaymentManager")
fb.PluginManager.installPlugin("PaymentManager"),
fb.PluginManager.installPlugin("Wallet"),
])
location.reload();
console.log("done")
}
@@ -6,7 +6,10 @@ declare const fb
export class DashboardService {
constructor() { }
getWidgetConfigs(): Promise<string[]> {
async getWidgetConfigs(): Promise<string[]> {
while(!fb.PluginManager){
await new Promise((resolve) => setTimeout(resolve, 50))
}
return fb.PluginManager.getLoadedPluginNames()
}
@@ -41,9 +41,7 @@ export class DashboardComponent implements AfterViewInit {
private injector: Injector) { }
ngAfterViewInit() {
setTimeout( () => {
this.loadWidgets();
}, 250)
}
private async loadWidgets() {