diff --git a/src/app/components/nodes/markdown/markdown.component.ts b/src/app/components/nodes/markdown/markdown.component.ts
index 2264241..2ebcc6d 100644
--- a/src/app/components/nodes/markdown/markdown.component.ts
+++ b/src/app/components/nodes/markdown/markdown.component.ts
@@ -18,6 +18,7 @@ export class MarkdownComponent extends EditorNodeContract implements OnInit {
public contents = '';
private dirtyOverride = false;
public showEditor = false;
+ protected hadOneFocusOut = false;
public editorOptions = {
language: 'markdown',
@@ -73,6 +74,14 @@ export class MarkdownComponent extends EditorNodeContract implements OnInit {
@HostListener('document:keyup.escape', ['$event'])
onFocusOut(event) {
- this.showEditor = false;
+ if ( !this.hadOneFocusOut ) {
+ this.hadOneFocusOut = true;
+ setTimeout(() => {
+ this.hadOneFocusOut = false;
+ }, 500);
+ } else {
+ this.hadOneFocusOut = false;
+ this.showEditor = false;
+ }
}
}
diff --git a/src/app/components/nodes/norm/norm.component.html b/src/app/components/nodes/norm/norm.component.html
index e0bba84..962317e 100644
--- a/src/app/components/nodes/norm/norm.component.html
+++ b/src/app/components/nodes/norm/norm.component.html
@@ -1,5 +1,5 @@
+ (dblclick)="onFocusIn($event)">
+
\ No newline at end of file
diff --git a/src/app/components/nodes/norm/norm.component.ts b/src/app/components/nodes/norm/norm.component.ts
index bf6f590..0eb7be2 100644
--- a/src/app/components/nodes/norm/norm.component.ts
+++ b/src/app/components/nodes/norm/norm.component.ts
@@ -16,6 +16,7 @@ export class NormComponent extends EditorNodeContract implements OnInit {
protected savedValue = 'Click to edit...';
public contents = '';
private dirtyOverride = false;
+ protected hadOneFocusOut = false;
constructor(
public readonly editorService: EditorService,
@@ -55,7 +56,15 @@ export class NormComponent extends EditorNodeContract implements OnInit {
@HostListener('document:keyup.escape', ['$event'])
onFocusOut(event) {
- this.isFocused = false;
+ if ( !this.hadOneFocusOut ) {
+ this.hadOneFocusOut = true;
+ setTimeout(() => {
+ this.hadOneFocusOut = false;
+ }, 500);
+ } else {
+ this.isFocused = false;
+ this.hadOneFocusOut = false;
+ }
}
documentCommand(cmd: string) {