Explorar o código

Исправлен баг перехвата клавиш в диалогах

Book Pauk %!s(int64=5) %!d(string=hai) anos
pai
achega
b444abeb3e
Modificáronse 1 ficheiros con 13 adicións e 4 borrados
  1. 13 4
      client/components/share/StdDialog.vue

+ 13 - 4
client/components/share/StdDialog.vue

@@ -131,7 +131,7 @@ class StdDialog extends Vue {
 
     created() {
         if (this.$root.addKeyHook) {
-            this.$root.addKeyHook(this.keyHook);
+            //this.$root.addKeyHook(this.keyHook);
         }
     }
 
@@ -277,21 +277,30 @@ class StdDialog extends Vue {
 
     keyHook(event) {
         if (this.active) {
+            let handled = false;
             if (this.type == 'hotKey') {
                 if (event.type == 'keydown') {
                     this.hotKeyCode = utils.keyEventToCode(event);
+                    handled = true;
                 }
             } else {
-                if (event.code == 'Enter')
+                if (event.code == 'Enter') {
                     this.okClick();
+                    handled = true;
+                }
+
                 if (event.code == 'Escape') {
                     this.$nextTick(() => {
                         this.$refs.dialog.hide();
                     });
+                    handled = true;
                 }
             }
-            event.stopPropagation();
-            event.preventDefault();
+
+            if (handled) {
+                event.stopPropagation();
+                event.preventDefault();
+            }
         }
     }
 }