瀏覽代碼

Close action menu when pressing escape

Phoenix Eliot 3 年之前
父節點
當前提交
bc00dba369
共有 2 個文件被更改,包括 8 次插入2 次删除
  1. 1 1
      src/main/frontend/handler/editor.cljs
  2. 7 1
      src/main/frontend/handler/editor/keyboards.cljs

+ 1 - 1
src/main/frontend/handler/editor.cljs

@@ -2874,7 +2874,7 @@
           (when (and (not editor-action) (not non-enter-processed?))
             (cond
               ;; When you type text inside square brackets
-              (and (not (contains? #{"ArrowDown" "ArrowLeft" "ArrowRight" "ArrowUp"} k))
+              (and (not (contains? #{"ArrowDown" "ArrowLeft" "ArrowRight" "ArrowUp" "Escape"} k))
                    (wrapped-by? input page-ref/left-brackets page-ref/right-brackets))
               (let [orig-pos (cursor/get-caret-pos input)
                     value (gobj/get input "value")

+ 7 - 1
src/main/frontend/handler/editor/keyboards.cljs

@@ -14,8 +14,14 @@
      :on-hide
      (fn [_state e event]
        (let [target (.-target e)]
-         (if (d/has-class? target "bottom-action") ;; FIXME: not particular case
+         (cond
+           (state/get-editor-action)
+           (state/clear-editor-action!) ;; FIXME: This should probably be handled as a keydown handler in editor, but this handler intercepts Esc first
+
+           (d/has-class? target "bottom-action") ;; FIXME: not particular case
            (.preventDefault e)
+
+           :else
            (let [{:keys [on-hide value]} (editor-handler/get-state)]
              (when on-hide
                (on-hide value event))