make initialization of launchers more robust

This commit is contained in:
zadam 2022-12-24 14:42:35 +01:00
parent 4c51588270
commit e2b227df34
2 changed files with 8 additions and 6 deletions

View File

@ -17,8 +17,6 @@ export default class LauncherContainer extends FlexContainer {
async load() {
await froca.initializedPromise;
this.children = [];
const visibleLaunchersRoot = await froca.getNote('_lbVisibleLaunchers', true);
if (!visibleLaunchersRoot) {
@ -27,13 +25,15 @@ export default class LauncherContainer extends FlexContainer {
return;
}
const newChildren = [];
for (const launcherNote of await visibleLaunchersRoot.getChildNotes()) {
try {
const launcherWidget = new LauncherWidget();
const success = await launcherWidget.initLauncher(launcherNote);
if (success) {
this.child(launcherWidget);
newChildren.push(launcherWidget);
}
}
catch (e) {
@ -41,6 +41,9 @@ export default class LauncherContainer extends FlexContainer {
}
}
this.children = [];
this.child(...newChildren);
this.$widget.empty();
this.renderChildren();

View File

@ -78,8 +78,6 @@ export default class SyncStatusWidget extends BasicWidget {
constructor() {
super();
ws.subscribeToMessages(message => this.processMessage(message));
this.syncState = 'unknown';
this.allChangesPushed = false;
}
@ -93,8 +91,9 @@ export default class SyncStatusWidget extends BasicWidget {
});
this.$widget.find('.sync-status-icon:not(.sync-status-in-progress)')
.on('click', () => syncService.syncNow())
.on('click', () => syncService.syncNow());
ws.subscribeToMessages(message => this.processMessage(message));
}
showIcon(className) {