fix: can type '#' in tags component without hard fail

feat/datascript-storage-test
Gabriel Horner 2023-11-28 09:48:19 -05:00
parent 4058b43d1c
commit 78aa1acee2
1 changed files with 4 additions and 3 deletions

View File

@ -207,6 +207,7 @@
(model/get-all-page-original-names repo))
distinct)
options (map (fn [p] {:value p}) pages)
string-classes (remove #(= :logseq.class %) classes)
opts' (cond->
(merge
opts
@ -229,7 +230,7 @@
:transform-fn (fn [results input]
(if-let [[_ new-page class-input] (and (empty? results) (re-find #"(.*)#(.*)$" input))]
(let [repo (state/get-current-repo)
class-names (map #(:block/original-name (db/entity repo [:block/uuid %])) classes)
class-names (map #(:block/original-name (db/entity repo [:block/uuid %])) string-classes)
descendent-classes (->> class-names
(mapcat #(db/get-namespace-pages repo %))
(map :block/original-name))]
@ -241,7 +242,7 @@
multiple-choices?
(assoc :on-apply (fn [choices]
(let [pages (->> choices
(map #(create-page-if-not-exists! property classes %))
(map #(create-page-if-not-exists! property string-classes %))
(map first))
values (set (map #(pu/get-page-uuid repo %) pages))]
(when on-chosen (on-chosen values)))))
@ -249,7 +250,7 @@
(assoc :on-chosen (fn [chosen]
(let [page* (string/trim (if (string? chosen) chosen (:value chosen)))]
(when-not (string/blank? page*)
(let [[page id] (create-page-if-not-exists! property classes page*)
(let [[page id] (create-page-if-not-exists! property string-classes page*)
id' (or id (pu/get-page-uuid repo page))]
(when on-chosen (on-chosen id'))))))))]
(select-aux block property opts')))