mirror of
https://github.com/zen-browser/pdf.js.git
synced 2025-07-08 17:30:09 +02:00
[Editor] Clear the different timeouts when destroying
This commit is contained in:
parent
00c8fbe7e0
commit
8417eee0c1
4 changed files with 47 additions and 10 deletions
|
@ -543,6 +543,8 @@ class AnnotationEditorUIManager {
|
|||
|
||||
#filterFactory = null;
|
||||
|
||||
#focusMainContainerTimeoutId = null;
|
||||
|
||||
#idManager = new IdManager();
|
||||
|
||||
#isEnabled = false;
|
||||
|
@ -735,6 +737,14 @@ class AnnotationEditorUIManager {
|
|||
this.#selectedEditors.clear();
|
||||
this.#commandManager.destroy();
|
||||
this.#altTextManager.destroy();
|
||||
if (this.#focusMainContainerTimeoutId) {
|
||||
clearTimeout(this.#focusMainContainerTimeoutId);
|
||||
this.#focusMainContainerTimeoutId = null;
|
||||
}
|
||||
if (this.#translationTimeoutId) {
|
||||
clearTimeout(this.#translationTimeoutId);
|
||||
this.#translationTimeoutId = null;
|
||||
}
|
||||
}
|
||||
|
||||
get hcmFilter() {
|
||||
|
@ -1281,6 +1291,17 @@ class AnnotationEditorUIManager {
|
|||
* @param {AnnotationEditor} editor
|
||||
*/
|
||||
removeEditor(editor) {
|
||||
if (editor.div.contains(document.activeElement)) {
|
||||
if (this.#focusMainContainerTimeoutId) {
|
||||
clearTimeout(this.#focusMainContainerTimeoutId);
|
||||
}
|
||||
this.#focusMainContainerTimeoutId = setTimeout(() => {
|
||||
// When the div is removed from DOM the focus can move on the
|
||||
// document.body, so we need to move it back to the main container.
|
||||
this.focusMainContainer();
|
||||
this.#focusMainContainerTimeoutId = null;
|
||||
}, 0);
|
||||
}
|
||||
this.#allEditors.delete(editor.id);
|
||||
this.unselect(editor);
|
||||
if (
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue