|
@@ -52,6 +52,7 @@
|
|
|
[medley.core :as medley]
|
|
[medley.core :as medley]
|
|
|
[promesa.core :as p]
|
|
[promesa.core :as p]
|
|
|
[frontend.util.keycode :as keycode]
|
|
[frontend.util.keycode :as keycode]
|
|
|
|
|
+ [logseq.graph-parser.util :as gp-util]
|
|
|
["path" :as path]))
|
|
["path" :as path]))
|
|
|
|
|
|
|
|
;; FIXME: should support multiple images concurrently uploading
|
|
;; FIXME: should support multiple images concurrently uploading
|
|
@@ -255,7 +256,7 @@
|
|
|
(defn- another-block-with-same-id-exists?
|
|
(defn- another-block-with-same-id-exists?
|
|
|
[current-id block-id]
|
|
[current-id block-id]
|
|
|
(and (string? block-id)
|
|
(and (string? block-id)
|
|
|
- (util/uuid-string? block-id)
|
|
|
|
|
|
|
+ (gp-util/uuid-string? block-id)
|
|
|
(not= current-id (cljs.core/uuid block-id))
|
|
(not= current-id (cljs.core/uuid block-id))
|
|
|
(db/entity [:block/uuid (cljs.core/uuid block-id)])))
|
|
(db/entity [:block/uuid (cljs.core/uuid block-id)])))
|
|
|
|
|
|
|
@@ -336,7 +337,7 @@
|
|
|
(if (and (state/enable-timetracking?)
|
|
(if (and (state/enable-timetracking?)
|
|
|
(not= (:block/content block) value))
|
|
(not= (:block/content block) value))
|
|
|
(let [format (:block/format block)
|
|
(let [format (:block/format block)
|
|
|
- new-marker (last (util/safe-re-find (marker/marker-pattern format) (or value "")))
|
|
|
|
|
|
|
+ new-marker (last (gp-util/safe-re-find (marker/marker-pattern format) (or value "")))
|
|
|
new-value (with-marker-time value block format
|
|
new-value (with-marker-time value block format
|
|
|
new-marker
|
|
new-marker
|
|
|
(:block/marker block))]
|
|
(:block/marker block))]
|
|
@@ -480,10 +481,10 @@
|
|
|
(let [current-page (state/get-current-page)
|
|
(let [current-page (state/get-current-page)
|
|
|
block-id (or
|
|
block-id (or
|
|
|
(and (:id config)
|
|
(and (:id config)
|
|
|
- (util/uuid-string? (:id config))
|
|
|
|
|
|
|
+ (gp-util/uuid-string? (:id config))
|
|
|
(:id config))
|
|
(:id config))
|
|
|
(and current-page
|
|
(and current-page
|
|
|
- (util/uuid-string? current-page)
|
|
|
|
|
|
|
+ (gp-util/uuid-string? current-page)
|
|
|
current-page))]
|
|
current-page))]
|
|
|
(= uuid (and block-id (medley/uuid block-id)))))
|
|
(= uuid (and block-id (medley/uuid block-id)))))
|
|
|
|
|
|
|
@@ -1139,7 +1140,7 @@
|
|
|
[]
|
|
[]
|
|
|
(when-let [page (get-nearest-page)]
|
|
(when-let [page (get-nearest-page)]
|
|
|
(let [page-name (string/lower-case page)
|
|
(let [page-name (string/lower-case page)
|
|
|
- block? (util/uuid-string? page-name)]
|
|
|
|
|
|
|
+ block? (gp-util/uuid-string? page-name)]
|
|
|
(when-let [page (db/get-page page-name)]
|
|
(when-let [page (db/get-page page-name)]
|
|
|
(if block?
|
|
(if block?
|
|
|
(state/sidebar-add-block!
|
|
(state/sidebar-add-block!
|
|
@@ -1171,7 +1172,7 @@
|
|
|
(let [page (state/get-current-page)
|
|
(let [page (state/get-current-page)
|
|
|
block-id (and
|
|
block-id (and
|
|
|
(string? page)
|
|
(string? page)
|
|
|
- (util/uuid-string? page)
|
|
|
|
|
|
|
+ (gp-util/uuid-string? page)
|
|
|
(medley/uuid page))]
|
|
(medley/uuid page))]
|
|
|
(when block-id
|
|
(when block-id
|
|
|
(let [block-parent (db/get-block-parent block-id)]
|
|
(let [block-parent (db/get-block-parent block-id)]
|
|
@@ -2008,7 +2009,7 @@
|
|
|
(defn- last-top-level-child?
|
|
(defn- last-top-level-child?
|
|
|
[{:keys [id]} current-node]
|
|
[{:keys [id]} current-node]
|
|
|
(when id
|
|
(when id
|
|
|
- (when-let [entity (if (util/uuid-string? (str id))
|
|
|
|
|
|
|
+ (when-let [entity (if (gp-util/uuid-string? (str id))
|
|
|
(db/entity [:block/uuid (uuid id)])
|
|
(db/entity [:block/uuid (uuid id)])
|
|
|
(db/entity [:block/name (util/page-name-sanity-lc id)]))]
|
|
(db/entity [:block/name (util/page-name-sanity-lc id)]))]
|
|
|
(= (:block/uuid entity) (tree/-get-parent-id current-node)))))
|
|
(= (:block/uuid entity) (tree/-get-parent-id current-node)))))
|
|
@@ -2835,7 +2836,7 @@
|
|
|
(string/join "\n"
|
|
(string/join "\n"
|
|
|
(mapv (fn [p] (->> (string/trim p)
|
|
(mapv (fn [p] (->> (string/trim p)
|
|
|
((fn [p]
|
|
((fn [p]
|
|
|
- (if (util/safe-re-find (if (= format :org)
|
|
|
|
|
|
|
+ (if (gp-util/safe-re-find (if (= format :org)
|
|
|
#"\s*\*+\s+"
|
|
#"\s*\*+\s+"
|
|
|
#"\s*-\s+") p)
|
|
#"\s*-\s+") p)
|
|
|
p
|
|
p
|
|
@@ -2898,9 +2899,9 @@
|
|
|
;; from external
|
|
;; from external
|
|
|
(let [format (or (db/get-page-format (state/get-current-page)) :markdown)]
|
|
(let [format (or (db/get-page-format (state/get-current-page)) :markdown)]
|
|
|
(match [format
|
|
(match [format
|
|
|
- (nil? (util/safe-re-find #"(?m)^\s*(?:[-+*]|#+)\s+" text))
|
|
|
|
|
- (nil? (util/safe-re-find #"(?m)^\s*\*+\s+" text))
|
|
|
|
|
- (nil? (util/safe-re-find #"(?:\r?\n){2,}" text))]
|
|
|
|
|
|
|
+ (nil? (gp-util/safe-re-find #"(?m)^\s*(?:[-+*]|#+)\s+" text))
|
|
|
|
|
+ (nil? (gp-util/safe-re-find #"(?m)^\s*\*+\s+" text))
|
|
|
|
|
+ (nil? (gp-util/safe-re-find #"(?:\r?\n){2,}" text))]
|
|
|
[:markdown false _ _]
|
|
[:markdown false _ _]
|
|
|
(paste-text-parseable format text)
|
|
(paste-text-parseable format text)
|
|
|
|
|
|
|
@@ -3185,7 +3186,7 @@
|
|
|
:or {collapse? false expanded? false incremental? true root-block nil}}]
|
|
:or {collapse? false expanded? false incremental? true root-block nil}}]
|
|
|
(when-let [page (or (state/get-current-page)
|
|
(when-let [page (or (state/get-current-page)
|
|
|
(date/today))]
|
|
(date/today))]
|
|
|
- (let [block? (util/uuid-string? page)
|
|
|
|
|
|
|
+ (let [block? (gp-util/uuid-string? page)
|
|
|
block-id (or root-block (and block? (uuid page)))
|
|
block-id (or root-block (and block? (uuid page)))
|
|
|
blocks (if block-id
|
|
blocks (if block-id
|
|
|
(db/get-block-and-children (state/get-current-repo) block-id)
|
|
(db/get-block-and-children (state/get-current-repo) block-id)
|