Browse Source

fix: can't change whiteboard name

Tienson Qin 2 years ago
parent
commit
aeabee7be3
1 changed files with 19 additions and 12 deletions
  1. 19 12
      src/main/frontend/components/page.cljs

+ 19 - 12
src/main/frontend/components/page.cljs

@@ -240,12 +240,20 @@
          {:default-collapsed? false})]])))
 
 (rum/defc page-title-editor < rum/reactive
-  [{:keys [*input-value *title-value *edit? untitled? page-name old-name title whiteboard-page?]}]
+  [page {:keys [*input-value *title-value *edit? untitled? page-name old-name whiteboard-page?]}]
   (let [input-ref (rum/create-ref)
+        title (:block/original-name page)
         collide? #(and (not= (util/page-name-sanity-lc page-name)
                              (util/page-name-sanity-lc @*title-value))
                        (db/page-exists? page-name)
                        (db/page-exists? @*title-value))
+        rename-fn (fn [old-name new-name]
+                    (if (and whiteboard-page? untitled? (config/db-based-graph? (state/get-current-repo)))
+                      (db/transact! [{:db/id (:db/id page)
+                                           :block/original-name new-name
+                                           :block/name (util/page-name-sanity-lc new-name)
+                                           :block/updated-at (util/time-ms)}])
+                      (page-handler/rename! old-name new-name)))
         rollback-fn #(do
                        (reset! *title-value old-name)
                        (gobj/set (rum/deref input-ref) "value" old-name)
@@ -259,7 +267,7 @@
                                           (str "Do you really want to change the page name to “" new-page-name "”?"))
                          :on-confirm    (fn [_e {:keys [close-fn]}]
                                           (close-fn)
-                                          (page-handler/rename! (or title page-name) @*title-value)
+                                          (rename-fn (or title page-name) @*title-value)
                                           (reset! *edit? false))
                          :on-cancel     rollback-fn})))
         blur-fn (fn [e]
@@ -283,7 +291,7 @@
                         (rollback-fn))
 
                     untitled?
-                    (page-handler/rename! (or title page-name) @*title-value)
+                    (rename-fn (or title page-name) @*title-value)
 
                     :else
                     (state/set-modal! (confirm-fn)))
@@ -474,15 +482,14 @@
                             (reset! *edit? true)))))}
 
          (if @*edit?
-           (page-title-editor {:*title-value *title-value
-                               :*edit? *edit?
-                               :*input-value *input-value
-                               :title title
-                               :page-name page-name
-                               :old-name old-name
-                               :untitled? untitled?
-                               :whiteboard-page? whiteboard-page?
-                               :preview? preview?})
+           (page-title-editor page {:*title-value *title-value
+                                    :*edit? *edit?
+                                    :*input-value *input-value
+                                    :page-name page-name
+                                    :old-name old-name
+                                    :untitled? untitled?
+                                    :whiteboard-page? whiteboard-page?
+                                    :preview? preview?})
            [:span.title.block
             {:on-click (fn []
                          (when (and (state/home?) (not preview?))