mirror of https://github.com/logseq/logseq
fix: lost editor cursor when pressing Enter to undent
parent
39c4a160c2
commit
b67035bc9b
|
@ -2491,15 +2491,16 @@
|
||||||
:block-id uuid
|
:block-id uuid
|
||||||
:block-parent-id block-id
|
:block-parent-id block-id
|
||||||
:format format
|
:format format
|
||||||
:on-hide (fn [value event]
|
:on-hide (fn [value event ^js e]
|
||||||
(let [select? (and (= event :esc)
|
(let [select? (and (= event :esc)
|
||||||
(not (string/includes? value "```")))
|
(not (string/includes? value "```")))
|
||||||
edit-next-block? (and @*next-editing-block (not= @*next-editing-block (:block/uuid block)))]
|
edit-next-block? (and @*next-editing-block (not= @*next-editing-block (:block/uuid block)))
|
||||||
|
blur-editing? (and (= event :blur) (when e (util/input? (.-relatedTarget e))))]
|
||||||
(when-let [container (gdom/getElement "app-container")]
|
(when-let [container (gdom/getElement "app-container")]
|
||||||
(dom/remove-class! container "blocks-selection-mode"))
|
(dom/remove-class! container "blocks-selection-mode"))
|
||||||
(p/do!
|
(p/do!
|
||||||
(editor-handler/save-block! repo (:block/uuid block) value)
|
(editor-handler/save-block! repo (:block/uuid block) value)
|
||||||
(when-not (and edit-next-block? (not select?))
|
(when-not (and (or edit-next-block? blur-editing?) (not select?))
|
||||||
(editor-handler/escape-editing select?))
|
(editor-handler/escape-editing select?))
|
||||||
(some-> config :on-escape-editing
|
(some-> config :on-escape-editing
|
||||||
(apply [(str uuid) (= event :esc)]))
|
(apply [(str uuid) (= event :esc)]))
|
||||||
|
|
|
@ -832,7 +832,7 @@
|
||||||
(let [{:keys [on-hide value]} (editor-handler/get-state)]
|
(let [{:keys [on-hide value]} (editor-handler/get-state)]
|
||||||
(when on-hide
|
(when on-hide
|
||||||
(when *blur? (reset! *blur? true))
|
(when *blur? (reset! *blur? true))
|
||||||
(on-hide value :blur))))))
|
(on-hide value :blur e))))))
|
||||||
|
|
||||||
(rum/defcs box < rum/reactive
|
(rum/defcs box < rum/reactive
|
||||||
{:init (fn [state]
|
{:init (fn [state]
|
||||||
|
@ -872,7 +872,7 @@
|
||||||
(when (and (= (util/ekey e) "Escape") on-hide)
|
(when (and (= (util/ekey e) "Escape") on-hide)
|
||||||
(when-not (exist-editor-commands-popup?)
|
(when-not (exist-editor-commands-popup?)
|
||||||
(reset! *blur? true)
|
(reset! *blur? true)
|
||||||
(on-hide content :esc)))))
|
(on-hide content :esc e)))))
|
||||||
:auto-focus true
|
:auto-focus true
|
||||||
:class heading-class}
|
:class heading-class}
|
||||||
(some? parent-block)
|
(some? parent-block)
|
||||||
|
|
|
@ -173,7 +173,8 @@
|
||||||
(defn- edit-block-aux
|
(defn- edit-block-aux
|
||||||
[repo block content text-range {:keys [container-id]}]
|
[repo block content text-range {:keys [container-id]}]
|
||||||
(when block
|
(when block
|
||||||
(state/clear-edit!)
|
(when (not= (:db/id block) (:db/id (state/get-edit-block)))
|
||||||
|
(state/clear-edit!))
|
||||||
(let [container-id (or container-id
|
(let [container-id (or container-id
|
||||||
(state/get-current-editor-container-id)
|
(state/get-current-editor-container-id)
|
||||||
:unknown-container)]
|
:unknown-container)]
|
||||||
|
|
Loading…
Reference in New Issue