From 126f41ae5e3fe2c7f54aae455c458a9c763b33e0 Mon Sep 17 00:00:00 2001 From: zadam Date: Sat, 30 Oct 2021 15:22:20 +0200 Subject: [PATCH] fix broken autocomplete in attribute editor, closes #2295 --- .../app/widgets/attribute_widgets/attribute_editor.js | 3 ++- src/public/app/widgets/containers/ribbon_container.js | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/public/app/widgets/attribute_widgets/attribute_editor.js b/src/public/app/widgets/attribute_widgets/attribute_editor.js index f06d49c8f..433b4005a 100644 --- a/src/public/app/widgets/attribute_widgets/attribute_editor.js +++ b/src/public/app/widgets/attribute_widgets/attribute_editor.js @@ -193,7 +193,8 @@ export default class AttributeEditorWidget extends NoteContextAwareWidget { this.$editor.on('keydown', async e => { if (e.which === 13) { - await this.save(); + // allow autocomplete to fill the result textarea + setTimeout(() => this.save(), 100); } this.attributeDetailWidget.hide(); diff --git a/src/public/app/widgets/containers/ribbon_container.js b/src/public/app/widgets/containers/ribbon_container.js index de2fa37ed..a814957a4 100644 --- a/src/public/app/widgets/containers/ribbon_container.js +++ b/src/public/app/widgets/containers/ribbon_container.js @@ -167,7 +167,7 @@ export default class RibbonContainer extends NoteContextAwareWidget { }); } - toggleRibbonTab($ribbonTitle) { + toggleRibbonTab($ribbonTitle, refreshActiveTab = true) { const activate = !$ribbonTitle.hasClass("active"); this.$tabContainer.find('.ribbon-tab-title').removeClass("active"); @@ -183,7 +183,7 @@ export default class RibbonContainer extends NoteContextAwareWidget { const activeChild = this.getActiveRibbonWidget(); - if (activeChild) { + if (activeChild && refreshActiveTab) { activeChild.handleEvent('noteSwitched', {noteContext: this.noteContext, notePath: this.notePath}); } } else { @@ -249,7 +249,7 @@ export default class RibbonContainer extends NoteContextAwareWidget { } if ($ribbonTabToActivate) { - $ribbonTabToActivate.trigger('click'); + this.toggleRibbonTab($ribbonTabToActivate, false); } else { this.$bodyContainer.find('.ribbon-body').removeClass("active");