|
|
@@ -29,7 +29,8 @@
|
|
|
[logseq.common.path :as path]
|
|
|
[electron.ipc :as ipc]
|
|
|
[frontend.util.text :as text-util]
|
|
|
- [goog.userAgent]))
|
|
|
+ [goog.userAgent]
|
|
|
+ [frontend.db.async :as db-async]))
|
|
|
|
|
|
(defn translate [t {:keys [id desc]}]
|
|
|
(when id
|
|
|
@@ -414,20 +415,22 @@
|
|
|
(state/close-modal!)))
|
|
|
|
|
|
(defmethod handle-action :open-block [_ state _event]
|
|
|
- (let [block-id (some-> state state->highlighted-item :source-block :block/uuid)
|
|
|
- get-block-page (partial model/get-block-page (state/get-current-repo))
|
|
|
- block (db/entity [:block/uuid block-id])]
|
|
|
- (when block
|
|
|
- (when-let [page (some-> block-id get-block-page)]
|
|
|
- (let [page-name (:block/name page)]
|
|
|
- (cond
|
|
|
- (= (:block/type page) "whiteboard")
|
|
|
- (route-handler/redirect-to-whiteboard! page-name {:block-id block-id})
|
|
|
- (model/parents-collapsed? (state/get-current-repo) block-id)
|
|
|
- (route-handler/redirect-to-page! (:block/uuid block))
|
|
|
- :else
|
|
|
- (route-handler/redirect-to-page! page-name {:anchor (str "ls-block-" block-id)})))
|
|
|
- (state/close-modal!)))))
|
|
|
+ (when-let [block-id (some-> state state->highlighted-item :source-block :block/uuid)]
|
|
|
+ (p/let [repo (state/get-current-repo)
|
|
|
+ _ (db-async/<get-block-and-children repo block-id)]
|
|
|
+ (let [get-block-page (partial model/get-block-page repo)
|
|
|
+ block (db/entity [:block/uuid block-id])]
|
|
|
+ (when block
|
|
|
+ (when-let [page (some-> block-id get-block-page)]
|
|
|
+ (let [page-name (:block/name page)]
|
|
|
+ (cond
|
|
|
+ (= (:block/type page) "whiteboard")
|
|
|
+ (route-handler/redirect-to-whiteboard! page-name {:block-id block-id})
|
|
|
+ (model/parents-collapsed? (state/get-current-repo) block-id)
|
|
|
+ (route-handler/redirect-to-page! block-id)
|
|
|
+ :else
|
|
|
+ (route-handler/redirect-to-page! page-name {:anchor (str "ls-block-" block-id)})))
|
|
|
+ (state/close-modal!)))))))
|
|
|
|
|
|
(defmethod handle-action :open-page-right [_ state _event]
|
|
|
(when-let [page-name (get-highlighted-page-name state)]
|