fix duplicated cached widgets

This commit is contained in:
zadam 2020-02-08 17:44:34 +01:00
parent 81f4966a1a
commit 60d07a6871
3 changed files with 10 additions and 11 deletions

View file

@ -44,6 +44,7 @@ app.on('will-quit', () => {
globalShortcut.unregisterAll();
});
// this is to disable electron warning spam in the dev console (local development only)
process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true';
require('./src/www');

View file

@ -38,12 +38,6 @@ export default class CalendarWidget extends CollapsibleWidget {
console.log("set tab context", tabContext.tabId, "to", this.componentId);
}
async refresh() {
super.refresh();
//console.trace("tab", this.tabContext.tabId);
}
async doRenderBody() {
await libraryLoader.requireLibrary(libraryLoader.CALENDAR_WIDGET);

View file

@ -13,6 +13,14 @@ export default class TabCachingWidget extends TabAwareWidget {
return this.$widget;
}
activeTabChangedListener(param) {
super.activeTabChangedListener(param);
// stop propagation of the event to the children, individual tab widget should not know about tab switching
// since they are per-tab
return false;
}
refreshWithNote() {
for (const widget of Object.values(this.widgets)) {
widget.toggle(false);
@ -28,17 +36,13 @@ export default class TabCachingWidget extends TabAwareWidget {
if (!widget) {
widget = this.widgets[this.tabContext.tabId] = this.widgetFactory();
this.children.push(widget);
this.children.push(widget);console.log("Creating widget",widget.componentId,"for", this.tabContext.tabId);
this.$widget.after(widget.render());
widget.eventReceived('setTabContext', {tabContext: this.tabContext});
}
widget.toggle(true);
// stop propagation of the event to the children, individual tab widget should not know about tab switching
// since they are per-tab
return false;
}
tabRemovedListener({tabId}) {