Răsfoiți Sursa

editor: fix properties parsing with commas

Closed #1156
Closed #1169
Tienson Qin 5 ani în urmă
părinte
comite
68cd48a277
2 a modificat fișierele cu 12 adăugiri și 5 ștergeri
  1. 9 4
      src/main/frontend/text.cljs
  2. 3 1
      src/test/frontend/text_test.cljs

+ 9 - 4
src/main/frontend/text.cljs

@@ -13,6 +13,8 @@
 
 (defonce page-ref-re #"\[\[(.*?)\]\]")
 
+(defonce page-ref-re-2 #"(\[\[.*?\]\])")
+
 (defonce between-re #"\(between ([^\)]+)\)")
 
 (defn page-ref-un-brackets!
@@ -34,11 +36,14 @@
 (defn split-page-refs-without-brackets
   [s]
   (if (and (string? s)
-           (or (re-find #"[\"|\,|,]+" s)
+           (or (re-find #"[\"|\,|,|#]+" s)
                (re-find page-ref-re s)))
-    (let [result (->> s
-                      (sep-by-comma-or-quote)
-                      (map page-ref-un-brackets!)
+    (let [result (->> (string/split s page-ref-re-2)
+                      (remove string/blank?)
+                      (mapcat (fn [s]
+                                (if (page-ref? s)
+                                  [(page-ref-un-brackets! s)]
+                                  (sep-by-comma-or-quote s))))
                       (distinct))]
       (if (or (coll? result)
               (and (string? result)

+ 3 - 1
src/test/frontend/text_test.cljs

@@ -46,7 +46,9 @@
     "[[nested [[foo]]]]" #{"nested [[foo]]"}
     "[[nested [[foo]]]], [[foo]]" #{"nested [[foo]]" "foo"}
     "#tag," #{"tag"}
-    "#tag1,#tag2" #{"tag1" "tag2"}))
+    "#tag" #{"tag"}
+    "#tag1,#tag2" #{"tag1" "tag2"}
+    "[[Jan 26th, 2021]], hello" #{"hello" "Jan 26th, 2021"}))
 
 (defn extract-level-spaces
   []