|
@@ -448,13 +448,21 @@
|
|
|
(= uuid block-id)))
|
|
(= uuid block-id)))
|
|
|
|
|
|
|
|
(defn insert-new-block-before-block-aux!
|
|
(defn insert-new-block-before-block-aux!
|
|
|
- [config block _value {:keys [ok-handler]}]
|
|
|
|
|
- (let [new-m {:block/uuid (db/new-block-id)
|
|
|
|
|
|
|
+ [config block value {:keys [ok-handler]}]
|
|
|
|
|
+ (let [edit-input-id (state/get-edit-input-id)
|
|
|
|
|
+ input (gdom/getElement edit-input-id)
|
|
|
|
|
+ input-text-selected? (util/input-text-selected? input)
|
|
|
|
|
+ new-m {:block/uuid (db/new-block-id)
|
|
|
:block/content ""}
|
|
:block/content ""}
|
|
|
prev-block (-> (merge (select-keys block [:block/parent :block/left :block/format
|
|
prev-block (-> (merge (select-keys block [:block/parent :block/left :block/format
|
|
|
:block/page :block/journal?]) new-m)
|
|
:block/page :block/journal?]) new-m)
|
|
|
(wrap-parse-block))
|
|
(wrap-parse-block))
|
|
|
left-block (db/pull (:db/id (:block/left block)))]
|
|
left-block (db/pull (:db/id (:block/left block)))]
|
|
|
|
|
+ (when input-text-selected?
|
|
|
|
|
+ (let [selection-start (util/get-selection-start input)
|
|
|
|
|
+ selection-end (util/get-selection-end input)
|
|
|
|
|
+ [_ new-content] (compute-fst-snd-block-text value selection-start selection-end)]
|
|
|
|
|
+ (state/set-edit-content! edit-input-id new-content)))
|
|
|
(profile
|
|
(profile
|
|
|
"outliner insert block"
|
|
"outliner insert block"
|
|
|
(let [sibling? (not= (:db/id left-block) (:db/id (:block/parent block)))]
|
|
(let [sibling? (not= (:db/id left-block) (:db/id (:block/parent block)))]
|