From a350aa4cc3fa9a363deebd240925af00fb85b3d6 Mon Sep 17 00:00:00 2001 From: Gabriel Horner Date: Wed, 21 May 2025 10:05:20 -0400 Subject: [PATCH] fix: remove unused :node-class? option on fn Only classes will use this fn so it's no longer needed. The option was also missing on a couple fns which could've lead to buggy behavior --- deps/db/src/logseq/db/frontend/db.cljs | 33 +++++++++---------- deps/db/test/logseq/db_test.cljs | 2 +- .../src/logseq/outliner/validate.cljs | 4 +-- src/main/frontend/worker/pipeline.cljs | 2 +- .../handler/page/db_based/page_test.cljs | 7 ++-- 5 files changed, 23 insertions(+), 25 deletions(-) diff --git a/deps/db/src/logseq/db/frontend/db.cljs b/deps/db/src/logseq/db/frontend/db.cljs index a95056a5ea..37afa42b40 100644 --- a/deps/db/src/logseq/db/frontend/db.cljs +++ b/deps/db/src/logseq/db/frontend/db.cljs @@ -44,14 +44,13 @@ (d/entity db (:e d)))))) (defn get-class-extends - [node & {:keys [node-class?]}] + "Returns all parents of a class" + [node] (when-let [parent (:logseq.property.class/extends node)] (loop [current-parent parent parents' []] - (if (and - current-parent - (if node-class? (entity-util/class? current-parent) true) - (not (contains? parents' current-parent))) + (if (and current-parent + (not (contains? parents' current-parent))) (recur (:logseq.property.class/extends current-parent) (conj parents' current-parent)) (vec (reverse parents')))))) @@ -61,23 +60,20 @@ (when-let [parent (:block/parent node)] (loop [current-parent parent parents' []] - (if (and - current-parent - (not (contains? parents' current-parent))) + (if (and current-parent + (not (contains? parents' current-parent))) (recur (:block/parent current-parent) (conj parents' current-parent)) (vec (reverse parents')))))) -(defn get-class-title-with-extends +(defn- get-class-title-with-extends [entity] - (if (entity-util/class? entity) - (let [parents' (->> (get-class-extends entity) - (remove (fn [e] (= :logseq.class/Root (:db/ident e)))) - vec)] - (string/join - ns-util/parent-char - (map :block/title (conj (vec parents') entity)))) - (:block/title entity))) + (let [parents' (->> (get-class-extends entity) + (remove (fn [e] (= :logseq.class/Root (:db/ident e)))) + vec)] + (string/join + ns-util/parent-char + (map :block/title (conj (vec parents') entity))))) (defn get-title-with-parents [entity] @@ -97,9 +93,10 @@ (:block/title entity))) (defn get-classes-parents + "Returns all parents of all classes. Like get-class-extends but for multiple classes" [tags] (let [tags' (filter entity-util/class? tags) - result (mapcat #(get-class-extends % {:node-class? true}) tags')] + result (mapcat get-class-extends tags')] (set result))) (defn class-instance? diff --git a/deps/db/test/logseq/db_test.cljs b/deps/db/test/logseq/db_test.cljs index 7fd63e78a2..c06b80d3d1 100644 --- a/deps/db/test/logseq/db_test.cljs +++ b/deps/db/test/logseq/db_test.cljs @@ -48,7 +48,7 @@ (let [conn (db-test/create-conn)] (d/transact! conn class-parents-data) (is (= #{"x" "y"} - (->> (ldb/get-class-extends (ldb/get-page @conn "z") {:node-class? true}) + (->> (ldb/get-class-extends (ldb/get-page @conn "z")) (map :block/title) set))))) diff --git a/deps/outliner/src/logseq/outliner/validate.cljs b/deps/outliner/src/logseq/outliner/validate.cljs index abc1c8ee77..84102d295a 100644 --- a/deps/outliner/src/logseq/outliner/validate.cljs +++ b/deps/outliner/src/logseq/outliner/validate.cljs @@ -45,7 +45,7 @@ :payload {:message "Built-in pages can't be edited" :type :warning}})))) -(defn- validate-unique-by-parent-and-name [db entity new-title] +(defn- validate-unique-by-extends-and-name [db entity new-title] (when-let [_res (seq (d/q '[:find [?b ...] :in $ ?eid ?type ?title :where @@ -117,7 +117,7 @@ :type :warning}}))))) (:logseq.property.class/extends entity) - (validate-unique-by-parent-and-name db entity new-title))) + (validate-unique-by-extends-and-name db entity new-title))) (defn ^:api validate-unique-by-name-tag-and-block-type "Validates uniqueness of nodes for the following cases: diff --git a/src/main/frontend/worker/pipeline.cljs b/src/main/frontend/worker/pipeline.cljs index 8ca5154119..ff3eb7d8ae 100644 --- a/src/main/frontend/worker/pipeline.cljs +++ b/src/main/frontend/worker/pipeline.cljs @@ -64,7 +64,7 @@ template-blocks (->> (mapcat (fn [id] (let [tag (d/entity db id) journal? (= journal-id id) - parents (ldb/get-class-extends tag {:node-class? true}) + parents (ldb/get-class-extends tag) templates (mapcat :logseq.property/_template-applied-to (conj parents tag))] (cond->> templates journal? diff --git a/src/test/frontend/worker/handler/page/db_based/page_test.cljs b/src/test/frontend/worker/handler/page/db_based/page_test.cljs index 60a8ac322a..923c8d2dfa 100644 --- a/src/test/frontend/worker/handler/page/db_based/page_test.cljs +++ b/src/test/frontend/worker/handler/page/db_based/page_test.cljs @@ -3,7 +3,8 @@ [datascript.core :as d] [frontend.worker.handler.page.db-based.page :as worker-db-page] [logseq.db :as ldb] - [logseq.db.test.helper :as db-test])) + [logseq.db.test.helper :as db-test] + [logseq.db.frontend.db :as db-db])) (deftest create-class (let [conn (db-test/create-conn) @@ -40,8 +41,8 @@ (is (= ["foo" "bar"] (map :block/title [(:block/parent (:block/parent child-page)) (:block/parent child-page)])) "Child page with new parent has correct parents") - (is (= (map :block/uuid (ldb/get-class-extends child-page)) - (map :block/uuid (ldb/get-class-extends child-page2))) + (is (= (map :block/uuid (db-db/get-page-parents child-page)) + (map :block/uuid (db-db/get-page-parents child-page2))) "Child page with existing parents has correct parents") (is (= ["Root Tag" "c1"] (map :block/title (ldb/get-classes-parents [child-page3]))) "Child class with new parent has correct parents")