mirror of
https://github.com/logseq/logseq.git
synced 2026-05-05 03:16:37 +00:00
Merge remote-tracking branch 'upstream/master' into whiteboards
This commit is contained in:
@@ -340,39 +340,41 @@
|
||||
|
||||
[:div.-mt-1
|
||||
(ui/button
|
||||
(str "Open a local directory")
|
||||
:class "w-full rounded-t-none py-4"
|
||||
:on-click #(-> (page-handler/ls-dir-files!
|
||||
(fn [{:keys [url]}]
|
||||
(file-sync-handler/init-remote-graph url)
|
||||
;; TODO: wait for switch done
|
||||
(js/setTimeout (fn [] (repo-handler/refresh-repos!)) 200))
|
||||
(str "Open a local directory")
|
||||
:class "w-full rounded-t-none py-4"
|
||||
:on-click #(->
|
||||
(page-handler/ls-dir-files!
|
||||
(fn [{:keys [url]}]
|
||||
(file-sync-handler/init-remote-graph url)
|
||||
;; TODO: wait for switch done
|
||||
(js/setTimeout (fn [] (repo-handler/refresh-repos!)) 200))
|
||||
|
||||
{:empty-dir?-or-pred
|
||||
(fn [ret]
|
||||
(let [empty-dir? (nil? (second ret))]
|
||||
(if-let [root (first ret)]
|
||||
{:empty-dir?-or-pred
|
||||
(fn [ret]
|
||||
(let [empty-dir? (nil? (second ret))]
|
||||
(if-let [root (first ret)]
|
||||
|
||||
;; verify directory
|
||||
(-> (if empty-dir?
|
||||
(p/resolved nil)
|
||||
(if (util/electron?)
|
||||
(ipc/ipc :readGraphTxIdInfo root)
|
||||
(fs-util/read-graph-txid-info root)))
|
||||
;; verify directory
|
||||
(-> (if empty-dir?
|
||||
(p/resolved nil)
|
||||
(if (util/electron?)
|
||||
(ipc/ipc :readGraphTxIdInfo root)
|
||||
(fs-util/read-graph-txid-info root)))
|
||||
|
||||
(p/then (fn [^js info]
|
||||
(when (and (not empty-dir?)
|
||||
(or (nil? info)
|
||||
(nil? (second info))
|
||||
(not= (second info) (:GraphUUID graph))))
|
||||
(throw (js/Error. "AssertDirectoryError"))))))
|
||||
(p/then (fn [^js info]
|
||||
(when (and (not empty-dir?)
|
||||
(or (nil? info)
|
||||
(nil? (second info))
|
||||
(not= (second info) (:GraphUUID graph))))
|
||||
(if (js/confirm "This directory is not empty, are you sure to sync the remote graph to it? Make sure to back up the directory first.")
|
||||
(do
|
||||
(state/set-state! :graph/remote-binding? true)
|
||||
(p/resolved nil))
|
||||
(throw (js/Error. nil)))))))
|
||||
|
||||
;; cancel pick a directory
|
||||
(throw (js/Error. nil)))))})
|
||||
|
||||
(p/catch (fn [^js e]
|
||||
(when (= "AssertDirectoryError" (.-message e))
|
||||
(notifications/show! "Please select an empty directory or an existing remote graph!" :error))))))
|
||||
;; cancel pick a directory
|
||||
(throw (js/Error. nil)))))})
|
||||
(p/catch (fn []))))
|
||||
[:p.text-xs.opacity-50.px-1 (ui/icon "alert-circle") " An empty directory or an existing remote graph!"]]])
|
||||
|
||||
(defn pick-dest-to-sync-panel [graph]
|
||||
|
||||
@@ -147,8 +147,11 @@
|
||||
(graph-switch graph))))
|
||||
|
||||
(defmethod handle :graph/switch [[_ graph opts]]
|
||||
(if @outliner-file/*writes-finished?
|
||||
(graph-switch-on-persisted graph opts)
|
||||
(if (or @outliner-file/*writes-finished?
|
||||
(:graph/remote-binding? @state/state))
|
||||
(do
|
||||
(state/set-state! :graph/remote-binding? false)
|
||||
(graph-switch-on-persisted graph opts))
|
||||
(notification/show!
|
||||
"Please wait seconds until all changes are saved for the current graph."
|
||||
:warning)))
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
(ns frontend.version)
|
||||
|
||||
(defonce version "0.8.4")
|
||||
(defonce version "0.8.5")
|
||||
|
||||
Reference in New Issue
Block a user