mirror of
https://github.com/logseq/logseq.git
synced 2026-05-05 11:26:26 +00:00
fix: Enter can't create new block
This commit is contained in:
@@ -481,21 +481,22 @@
|
||||
(defn get-state
|
||||
[state]
|
||||
(let [[{:keys [on-hide block block-id block-parent-id dummy? format sidebar?]} id config] (:rum/args state)
|
||||
node (gdom/getElement id)
|
||||
value (gobj/get node "value")
|
||||
pos (gobj/get node "selectionStart")]
|
||||
{:config config
|
||||
:on-hide on-hide
|
||||
:dummy? dummy?
|
||||
:sidebar? sidebar?
|
||||
:format format
|
||||
:id id
|
||||
:block block
|
||||
:block-id block-id
|
||||
:block-parent-id block-parent-id
|
||||
:node node
|
||||
:value value
|
||||
:pos pos}))
|
||||
node (gdom/getElement id)]
|
||||
(when node
|
||||
(let [value (gobj/get node "value")
|
||||
pos (gobj/get node "selectionStart")]
|
||||
{:config config
|
||||
:on-hide on-hide
|
||||
:dummy? dummy?
|
||||
:sidebar? sidebar?
|
||||
:format format
|
||||
:id id
|
||||
:block block
|
||||
:block-id block-id
|
||||
:block-parent-id block-parent-id
|
||||
:node node
|
||||
:value value
|
||||
:pos pos}))))
|
||||
|
||||
(defn- with-timetracking-properties
|
||||
[block value]
|
||||
@@ -518,24 +519,25 @@
|
||||
;; skip this operation if it's inserting
|
||||
(not= :insert (state/get-editor-op)))
|
||||
(state/set-editor-op! :insert)
|
||||
(let [{:keys [block value format id config]} (get-state state)
|
||||
value (if (string? block-value) block-value value)
|
||||
block-id (:block/uuid block)
|
||||
block (or (db/pull [:block/uuid block-id])
|
||||
block)
|
||||
repo (or (:block/repo block) (state/get-current-repo))
|
||||
properties (with-timetracking-properties block value)]
|
||||
;; save the current block and insert a new block
|
||||
(insert-new-block-aux!
|
||||
config
|
||||
(assoc block :block/properties properties)
|
||||
value
|
||||
{:ok-handler
|
||||
(fn [last-block]
|
||||
(let [last-id (:block/uuid last-block)]
|
||||
;; perf: improvement
|
||||
(edit-block! last-block 0 format id)
|
||||
(clear-when-saved!)))})))))
|
||||
(when-let [state (get-state state)]
|
||||
(let [{:keys [block value format id config]} state
|
||||
value (if (string? block-value) block-value value)
|
||||
block-id (:block/uuid block)
|
||||
block (or (db/pull [:block/uuid block-id])
|
||||
block)
|
||||
repo (or (:block/repo block) (state/get-current-repo))
|
||||
properties (with-timetracking-properties block value)]
|
||||
;; save the current block and insert a new block
|
||||
(insert-new-block-aux!
|
||||
config
|
||||
(assoc block :block/properties properties)
|
||||
value
|
||||
{:ok-handler
|
||||
(fn [last-block]
|
||||
(let [last-id (:block/uuid last-block)]
|
||||
;; perf: improvement
|
||||
(edit-block! last-block 0 format id)
|
||||
(clear-when-saved!)))}))))))
|
||||
|
||||
(defn update-timestamps-content!
|
||||
[{:block/keys [repeated? marker] :as block} content]
|
||||
|
||||
Reference in New Issue
Block a user