mirror of
https://github.com/zadam/trilium.git
synced 2025-12-08 08:24:24 +01:00
30 lines
920 B
TypeScript
30 lines
920 B
TypeScript
let $lastFocusedElement: JQuery<HTMLElement> | null;
|
|
|
|
// perhaps there should be saved focused element per tab?
|
|
export function saveFocusedElement() {
|
|
$lastFocusedElement = $(":focus");
|
|
}
|
|
|
|
export function focusSavedElement() {
|
|
if (!$lastFocusedElement) {
|
|
return;
|
|
}
|
|
|
|
if ($lastFocusedElement.hasClass("ck")) {
|
|
// must handle CKEditor separately because of this bug: https://github.com/ckeditor/ckeditor5/issues/607
|
|
// the bug manifests itself in resetting the cursor position to the first character - jumping above
|
|
|
|
const editor = $lastFocusedElement.closest(".ck-editor__editable").prop("ckeditorInstance");
|
|
|
|
if (editor) {
|
|
editor.editing.view.focus();
|
|
} else {
|
|
console.log("Could not find CKEditor instance to focus last element");
|
|
}
|
|
} else {
|
|
$lastFocusedElement.focus();
|
|
}
|
|
|
|
$lastFocusedElement = null;
|
|
}
|