mirror of
https://github.com/logseq/logseq.git
synced 2026-04-24 14:14:55 +00:00
fix: can't remove Many values
This commit is contained in:
2
bb.edn
2
bb.edn
@@ -1,7 +1,7 @@
|
||||
{:paths ["scripts/src" "src/main" "src/resources"]
|
||||
:deps
|
||||
{metosin/malli
|
||||
{:mvn/version "0.10.0"}
|
||||
{:mvn/version "0.16.1"}
|
||||
logseq/bb-tasks
|
||||
#_{:local/root "../bb-tasks"}
|
||||
{:git/url "https://github.com/logseq/bb-tasks"
|
||||
|
||||
6
deps.edn
6
deps.edn
@@ -37,12 +37,12 @@
|
||||
logseq/outliner {:local/root "deps/outliner"}
|
||||
logseq/publishing {:local/root "deps/publishing"}
|
||||
logseq/shui {:local/root "deps/shui"}
|
||||
metosin/malli {:mvn/version "0.10.0"}
|
||||
metosin/malli {:mvn/version "0.16.1"}
|
||||
com.cognitect/transit-cljs {:mvn/version "0.8.280"}
|
||||
missionary/missionary {:mvn/version "b.39"}}
|
||||
|
||||
:aliases {:cljs {:extra-paths ["src/dev-cljs/" "src/test/" "src/electron/"]
|
||||
:extra-deps {org.clojure/clojurescript {:mvn/version "1.11.54"}
|
||||
:extra-deps {org.clojure/clojurescript {:mvn/version "1.11.132"}
|
||||
org.clojure/tools.namespace {:mvn/version "0.2.11"}
|
||||
cider/cider-nrepl {:mvn/version "0.47.0"}
|
||||
org.clojars.knubie/cljs-run-test {:mvn/version "1.0.1"}
|
||||
@@ -50,7 +50,7 @@
|
||||
:main-opts ["-m" "shadow.cljs.devtools.cli"]}
|
||||
|
||||
:test {:extra-paths ["src/test/"]
|
||||
:extra-deps {org.clojure/clojurescript {:mvn/version "1.11.54"}
|
||||
:extra-deps {org.clojure/clojurescript {:mvn/version "1.11.132"}
|
||||
org.clojure/test.check {:mvn/version "1.1.1"}
|
||||
pjstadig/humane-test-output {:mvn/version "0.11.0"}
|
||||
org.clojars.knubie/cljs-run-test {:mvn/version "1.0.1"}
|
||||
|
||||
2
deps/common/deps.edn
vendored
2
deps/common/deps.edn
vendored
@@ -5,7 +5,7 @@
|
||||
:aliases
|
||||
{:test {:extra-paths ["test"]
|
||||
:extra-deps {olical/cljs-test-runner {:mvn/version "3.8.0"}
|
||||
org.clojure/clojurescript {:mvn/version "1.11.54"}}
|
||||
org.clojure/clojurescript {:mvn/version "1.11.132"}}
|
||||
:main-opts ["-m" "cljs-test-runner.main"]}
|
||||
:clj-kondo
|
||||
{:replace-deps {clj-kondo/clj-kondo {:mvn/version "2023.05.26"}}
|
||||
|
||||
2
deps/db/nbb.edn
vendored
2
deps/db/nbb.edn
vendored
@@ -3,6 +3,6 @@
|
||||
{logseq/common
|
||||
{:local/root "../common"}
|
||||
metosin/malli
|
||||
{:mvn/version "0.10.0"}
|
||||
{:mvn/version "0.16.1"}
|
||||
io.github.nextjournal/nbb-test-runner
|
||||
{:git/sha "60ed57aa04bca8d604f5ba6b28848bd887109347"}}}
|
||||
|
||||
2
deps/graph-parser/deps.edn
vendored
2
deps/graph-parser/deps.edn
vendored
@@ -17,7 +17,7 @@
|
||||
;; with karma, shadow-cljs.edn and headless mode on CI
|
||||
{:test {:extra-paths ["test"]
|
||||
:extra-deps {olical/cljs-test-runner {:mvn/version "3.8.0"}
|
||||
org.clojure/clojurescript {:mvn/version "1.11.54"}}
|
||||
org.clojure/clojurescript {:mvn/version "1.11.132"}}
|
||||
:main-opts ["-m" "cljs-test-runner.main"]}
|
||||
|
||||
:clj-kondo {:replace-deps {clj-kondo/clj-kondo {:mvn/version "2023.05.26"}}
|
||||
|
||||
2
deps/outliner/deps.edn
vendored
2
deps/outliner/deps.edn
vendored
@@ -5,7 +5,7 @@
|
||||
logseq/db {:local/root "../db"}
|
||||
logseq/graph-parser {:local/root "../db"}
|
||||
com.cognitect/transit-cljs {:mvn/version "0.8.280"}
|
||||
metosin/malli {:mvn/version "0.10.0"}}
|
||||
metosin/malli {:mvn/version "0.16.1"}}
|
||||
:aliases
|
||||
{:clj-kondo
|
||||
{:replace-deps {clj-kondo/clj-kondo {:mvn/version "2023.05.26"}}
|
||||
|
||||
2
deps/outliner/nbb.edn
vendored
2
deps/outliner/nbb.edn
vendored
@@ -5,6 +5,6 @@
|
||||
logseq/graph-parser
|
||||
{:local/root "../graph-parser"}
|
||||
metosin/malli
|
||||
{:mvn/version "0.10.0"}
|
||||
{:mvn/version "0.16.1"}
|
||||
io.github.nextjournal/nbb-test-runner
|
||||
{:git/sha "60ed57aa04bca8d604f5ba6b28848bd887109347"}}}
|
||||
|
||||
2
deps/shui/deps.edn
vendored
2
deps/shui/deps.edn
vendored
@@ -1,7 +1,7 @@
|
||||
{:paths ["src"]
|
||||
:deps
|
||||
{org.clojure/clojure {:mvn/version "1.11.1"}
|
||||
org.clojure/clojurescript {:mvn/version "1.11.54"}
|
||||
org.clojure/clojurescript {:mvn/version "1.11.132"}
|
||||
funcool/promesa {:mvn/version "4.0.2"}
|
||||
rum/rum {:mvn/version "0.12.9"}
|
||||
medley/medley {:mvn/version "1.4.0"}
|
||||
|
||||
@@ -251,6 +251,20 @@
|
||||
:vector "[]"
|
||||
nil))
|
||||
|
||||
;; TODO: mu/to-map-syntax has been deprecated, consider removing usage
|
||||
(defn -map-syntax-walker [schema _ children _]
|
||||
(let [properties (m/properties schema)
|
||||
options (m/options schema)
|
||||
r (when properties (properties :registry))
|
||||
properties (if r (assoc properties :registry (m/-property-registry r options m/-form)) properties)]
|
||||
(cond-> {:type (m/type schema)}
|
||||
(seq properties) (assoc :properties properties)
|
||||
(seq children) (assoc :children children))))
|
||||
|
||||
(defn- malli-to-map-syntax
|
||||
([?schema] (malli-to-map-syntax ?schema nil))
|
||||
([?schema options] (m/walk ?schema -map-syntax-walker options)))
|
||||
|
||||
(.registerHelper CodeMirror "hint" "clojure"
|
||||
(fn [cm _options]
|
||||
(let [cur (.getCursor cm)
|
||||
@@ -324,7 +338,7 @@
|
||||
"false" nil)
|
||||
|
||||
:enum
|
||||
(let [{:keys [children]} (mu/to-map-syntax schema)]
|
||||
(let [{:keys [children]} (malli-to-map-syntax schema)]
|
||||
(doseq [child children]
|
||||
(swap! result assoc (str child) nil)))
|
||||
|
||||
|
||||
@@ -197,14 +197,19 @@
|
||||
(catch :default e
|
||||
(notification/show! (str e) :error false)
|
||||
nil))
|
||||
old-values (get block (:db/ident property))]
|
||||
old-values (get block (:db/ident property))
|
||||
deleted-values (remove values' old-values)]
|
||||
(when (not= old-values values')
|
||||
(if-let [msg (validate-property-value schema values')]
|
||||
(let [msg' (str "\"" (:block/original-name property) "\"" " " (if (coll? msg) (first msg) msg))]
|
||||
(notification/show! msg' :warning))
|
||||
(do
|
||||
(upsert-property! repo property-id (assoc property-schema :type property-type) {})
|
||||
(let [tx-data (build-property-value-tx-data block property-id values' false)]
|
||||
(let [tx-data (concat
|
||||
(map (fn [v]
|
||||
(let [v' (if (map? v) (:db/id v) v)]
|
||||
[:db/retract (:db/id block) property-id v'])) deleted-values)
|
||||
(build-property-value-tx-data block property-id values' false))]
|
||||
(db/transact! repo tx-data {:outliner-op :save-block})))))))))
|
||||
|
||||
(defn- resolve-tag
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
#?(:cljs
|
||||
(extend-protocol IPrintWithWriter
|
||||
js/Symbol
|
||||
symbol
|
||||
(-pr-writer [sym writer _]
|
||||
(-write writer (str "\"" (.toString sym) "\"")))))
|
||||
#?(:cljs
|
||||
|
||||
Reference in New Issue
Block a user