enhance: add plus button for block pages too

pull/3052/head
Tienson Qin 2021-11-02 22:47:50 +08:00
parent c59d40741e
commit e4c0e8e07c
3 changed files with 13 additions and 17 deletions

View File

@ -101,10 +101,10 @@
"Click here to edit..."]]]])
(rum/defc add-button
[page-name]
[args]
[:div.flex-1.flex-col.rounded-sm.add-button-link-wrap
{:on-click (fn []
(when-let [block (editor-handler/api-insert-new-block! "" {:page page-name})]
(when-let [block (editor-handler/api-insert-new-block! "" args)]
(js/setTimeout #(editor-handler/edit-block! block :max (:block/uuid block)) 100)))}
[:div.flex.flex-row
[:div.block {:style {:height 20
@ -143,9 +143,11 @@
hiccup (block/->hiccup page-blocks hiccup-config {})]
[:div
(page-blocks-inner page-name page-blocks hiccup sidebar? preview?)
(when (and (not block?)
(not config/publishing?))
(add-button page-name))])))))
(when-not config/publishing?
(let [args (if block-id
{:block-uuid block-id}
{:page page-name})]
(add-button args)))])))))
(defn contents-page
[page]

View File

@ -30,13 +30,11 @@
(when (not-empty md-items)
(when-let [id (:block/uuid
(editor-handler/api-insert-new-block!
first-block {:page page-name
:re-render-root? false}))]
first-block {:page page-name}))]
(doseq [md-item md-items]
(editor-handler/api-insert-new-block!
md-item
{:block-uuid id
:re-render-root? false
:sibling? false
:before? false})))))))))
@ -49,11 +47,9 @@
[page-name abstract-note]
(when-not (str/blank? abstract-note)
(let [block (editor-handler/api-insert-new-block!
"[[Abstract]]" {:page page-name
:re-render-root? false})]
"[[Abstract]]" {:page page-name})]
(editor-handler/api-insert-new-block!
abstract-note {:block-uuid (:block/uuid block)
:re-render-root? false
:sibling? false}))))
(defn- create-page [page-name properties]
@ -81,8 +77,7 @@
(editor-handler/api-insert-new-block!
""
{:page page-name
:properties properties
:re-render-root? false}))
:properties properties}))
(create-page page-name properties))
(create-abstract-note! page-name abstract-note)

View File

@ -658,10 +658,9 @@
(state/set-editor-op! nil)))
(defn api-insert-new-block!
[content {:keys [page block-uuid sibling? before? properties custom-uuid re-render-root?]
[content {:keys [page block-uuid sibling? before? properties custom-uuid]
:or {sibling? false
before? false
re-render-root? true}}]
before? false}}]
(when (or page block-uuid)
(let [before? (if page false before?)
sibling? (if before? true (if page false sibling?))
@ -714,7 +713,7 @@
(when block-m
(outliner-insert-block! {:skip-save-current-block? true} block-m new-block sibling?)
(when re-render-root? (ui-handler/re-render-root!))
(db/refresh! (state/get-current-repo) {:key :block/insert :data [block-m new-block]})
new-block))))))
(defn insert-first-page-block-if-not-exists!