From b605a8a5e5502d670334bd5142d8b20a7678701b Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Tue, 23 May 2023 00:59:09 +0800 Subject: [PATCH] re-render root after new db created --- src/main/frontend/components/repo.cljs | 23 +++++++++++++++-------- src/main/frontend/handler/repo.cljs | 2 ++ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/main/frontend/components/repo.cljs b/src/main/frontend/components/repo.cljs index 6eb167ba59..0076b8b2d0 100644 --- a/src/main/frontend/components/repo.cljs +++ b/src/main/frontend/components/repo.cljs @@ -186,7 +186,7 @@ (if (or (nfs-handler/supported?) (mobile-util/native-platform?)) {:title (t :new-graph) :options {:on-click #(state/pub-event! [:graph/setup-a-repo])}} {:title (t :new-graph) :options {:href (rfe/href :repos)}}) ;; Brings to the repos page for showing fallback message - {:title (str (t :new-graph) "- DB version") + {:title (str (t :new-graph) " - DB version") :options {:on-click #(state/pub-event! [:graph/new-db-graph])}} {:title (t :all-graphs) :options {:href (rfe/href :repos)}} refresh-link @@ -248,14 +248,21 @@ (rum/defcs new-db-graph < (rum/local "" ::graph-name) [state] - (let [*graph-name (::graph-name state)] + (let [*graph-name (::graph-name state) + new-db-f (fn [] + (when-not (string/blank? @*graph-name) + (repo-handler/new-db! @*graph-name) + (state/close-modal!)))] [:div.new-graph.p-4 [:h1.title "Create new graph: "] [:input.form-input.mb-4 {:value @*graph-name :auto-focus true - :on-change #(reset! *graph-name (util/evalue %))}] - (ui/button - "Submit" - :on-click (fn [] - (when-not (string/blank? @*graph-name) - (repo-handler/new-db! @*graph-name))))])) + :on-change #(reset! *graph-name (util/evalue %)) + :on-key-down (fn [^js e] + (when (= (gobj/get e "key") "Enter") + (new-db-f)))}] + (ui/button "Submit" + :on-click new-db-f + :on-key-down (fn [^js e] + (when (= (gobj/get e "key") "Enter") + (new-db-f))))])) diff --git a/src/main/frontend/handler/repo.cljs b/src/main/frontend/handler/repo.cljs index b13783dc97..4ffc56969a 100644 --- a/src/main/frontend/handler/repo.cljs +++ b/src/main/frontend/handler/repo.cljs @@ -551,5 +551,7 @@ _ (db/transact! full-graph-name initial-data) _ (repo-config-handler/set-repo-config-state! full-graph-name config/config-default-content) ;; TODO: handle global graph + _ (state/pub-event! [:page/create (date/today) {:redirect? false}])] + (js/setTimeout ui-handler/re-render-root! 100) (prn "New db created: " full-graph-name)))