From 1b14b06e4c2d6f2d3283251373bd01ce382faa1c Mon Sep 17 00:00:00 2001 From: Calixte Denizet Date: Fri, 2 Sep 2022 14:42:35 +0200 Subject: [PATCH] [Editor] Change the cursor when we switch to FreeText mode (bug 1787297) --- src/display/editor/annotation_editor_layer.js | 6 ++++++ src/display/editor/freetext.js | 3 +++ web/annotation_editor_layer_builder.css | 15 ++++++++++++++- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/display/editor/annotation_editor_layer.js b/src/display/editor/annotation_editor_layer.js index 97115cd78..daf48342e 100644 --- a/src/display/editor/annotation_editor_layer.js +++ b/src/display/editor/annotation_editor_layer.js @@ -103,6 +103,12 @@ class AnnotationEditorLayer { this.enableClick(); } this.#uiManager.unselectAll(); + + this.div.classList.toggle( + "freeTextEditing", + mode === AnnotationEditorType.FREETEXT + ); + this.div.classList.toggle("inkEditing", mode === AnnotationEditorType.INK); } addInkEditorIfNeeded(isCommitting) { diff --git a/src/display/editor/freetext.js b/src/display/editor/freetext.js index 711f7cc9b..533839700 100644 --- a/src/display/editor/freetext.js +++ b/src/display/editor/freetext.js @@ -230,6 +230,7 @@ class FreeTextEditor extends AnnotationEditor { this.editorDiv.addEventListener("keydown", this.#boundEditorDivKeydown); this.editorDiv.addEventListener("focus", this.#boundEditorDivFocus); this.editorDiv.addEventListener("blur", this.#boundEditorDivBlur); + this.parent.div.classList.remove("freeTextEditing"); } /** @inheritdoc */ @@ -254,6 +255,7 @@ class FreeTextEditor extends AnnotationEditor { // In case the blur callback hasn't been called. this.isEditing = false; + this.parent.div.classList.add("freeTextEditing"); } /** @inheritdoc */ @@ -283,6 +285,7 @@ class FreeTextEditor extends AnnotationEditor { remove() { this.isEditing = false; this.parent.setEditingState(true); + this.parent.div.classList.add("freeTextEditing"); super.remove(); } diff --git a/web/annotation_editor_layer_builder.css b/web/annotation_editor_layer_builder.css index 5251eaeeb..e25685e0e 100644 --- a/web/annotation_editor_layer_builder.css +++ b/web/annotation_editor_layer_builder.css @@ -20,8 +20,11 @@ --freetext-padding: 2px; /*#if COMPONENTS*/ --editorInk-editing-cursor: pointer; + --editorFreeText-editing-cursor: text; /*#else*/ --editorInk-editing-cursor: url(images/cursor-editorInk.svg) 0 16; + --editorFreeText-editing-cursor: url(images/toolbarButton-editorFreeText.svg) + 8 16; /*#endif*/ } @@ -49,6 +52,15 @@ left: 0; font-size: calc(100px * var(--scale-factor)); transform-origin: 0 0; + cursor: auto; +} + +.annotationEditorLayer.freeTextEditing { + cursor: var(--editorFreeText-editing-cursor), text; +} + +.annotationEditorLayer.inkEditing { + cursor: var(--editorInk-editing-cursor), pointer; } .annotationEditorLayer .selectedEditor { @@ -67,6 +79,7 @@ z-index: 1; transform-origin: 0 0; touch-action: none; + cursor: auto; } .annotationEditorLayer .freeTextEditor .internal { @@ -131,7 +144,7 @@ .annotationEditorLayer .inkEditor.editing { resize: none; - cursor: var(--editorInk-editing-cursor), pointer; + cursor: inherit; } .annotationEditorLayer .inkEditor .inkEditorCanvas {