fix(mobile): classic toolbar disappearing when pressing dropdowns

This commit is contained in:
Elian Doran 2025-01-05 01:47:06 +02:00
parent ef9e21147f
commit c1280be74a
No known key found for this signature in database
2 changed files with 15 additions and 4 deletions

View File

@ -27,18 +27,21 @@ const TPL = `\
}
body.mobile .classic-toolbar-widget.visible {
display: block;
display: flex;
align-items: flex-end;
position: absolute;
left: 0;
bottom: 0;
right: 0;
height: 50vh;
overflow-x: auto;
background: var(--main-background-color);
background: transparent;
z-index: 500;
}
body.mobile .classic-toolbar-widget .ck.ck-toolbar {
position: absolute;
background-color: var(--main-background-color);
}
</style>
`;

View File

@ -228,11 +228,19 @@ export default class EditableTextTypeWidget extends AbstractTextTypeWidget {
$classicToolbarWidget.addClass("visible");
});
// Hide the formatting toolbar
this.$editor.on("focusout", (e) => {
setTimeout(() => {
if (document.activeElement !== this.$editor[0]) {
$classicToolbarWidget.removeClass("visible");
if (document.activeElement === this.$editor[0]) {
// Editor has been refocused.
return;
}
if ($classicToolbarWidget[0].contains(document.activeElement)) {
return;
}
$classicToolbarWidget.removeClass("visible");
}, 100);
});
}