From cd5385a0c3502976b33ffdd0dd5e9efaa3b8b7cc Mon Sep 17 00:00:00 2001 From: Gabriel Horner Date: Fri, 11 Apr 2025 09:28:03 -0400 Subject: [PATCH] chore: mv graph view ns to frontend ns Graph view is fairly tied to the frontend, has styling concerns in the ns and doesn't have use cases outside the app. frontend.common is the parent ns for frontend code to reuse across UI threads. Didn't move db-view because there are use cases for generating view entities outside the app and there's no styling related code in it --- .clj-kondo/config.edn | 1 + deps/db/.carve/ignore | 2 -- deps/db/.clj-kondo/config.edn | 1 + deps/db/src/logseq/db/file_based/builtins.cljs | 15 --------------- .../src/logseq/graph_parser/db.cljs | 18 +++++++++++++----- .../main/frontend/common/graph_view.cljs | 10 +++++----- src/main/frontend/db/model.cljs | 4 ++-- src/main/frontend/worker/db_worker.cljs | 4 ++-- 8 files changed, 24 insertions(+), 31 deletions(-) delete mode 100644 deps/db/src/logseq/db/file_based/builtins.cljs rename deps/db/src/logseq/db/common/graph.cljs => src/main/frontend/common/graph_view.cljs (98%) diff --git a/.clj-kondo/config.edn b/.clj-kondo/config.edn index 9f0e0f1d3f..79bc386151 100644 --- a/.clj-kondo/config.edn +++ b/.clj-kondo/config.edn @@ -176,6 +176,7 @@ logseq.db.common.order db-order logseq.db.common.property-util db-property-util logseq.db.common.sqlite sqlite-common-db + logseq.db.common.view db-view logseq.db.file-based.rules file-rules logseq.db.file-based.schema file-schema logseq.db.file-based.entity-util file-entity-util diff --git a/deps/db/.carve/ignore b/deps/db/.carve/ignore index 8c5ca4d17d..3e60812675 100644 --- a/deps/db/.carve/ignore +++ b/deps/db/.carve/ignore @@ -25,8 +25,6 @@ logseq.db.sqlite.export/build-export ;; API logseq.db.sqlite.export/build-import ;; API -logseq.db.common.graph/build-graph -;; API logseq.db.common.view/get-property-values ;; API logseq.db.common.view/get-view-data diff --git a/deps/db/.clj-kondo/config.edn b/deps/db/.clj-kondo/config.edn index e4b4371701..c05ef9884c 100644 --- a/deps/db/.clj-kondo/config.edn +++ b/deps/db/.clj-kondo/config.edn @@ -13,6 +13,7 @@ logseq.db.common.order db-order logseq.db.common.property-util db-property-util logseq.db.common.sqlite sqlite-common-db + logseq.db.common.view db-view logseq.db.frontend.content db-content logseq.db.frontend.class db-class logseq.db.frontend.db-ident db-ident diff --git a/deps/db/src/logseq/db/file_based/builtins.cljs b/deps/db/src/logseq/db/file_based/builtins.cljs deleted file mode 100644 index 433da9a5ee..0000000000 --- a/deps/db/src/logseq/db/file_based/builtins.cljs +++ /dev/null @@ -1,15 +0,0 @@ -(ns logseq.db.file-based.builtins - "File graph built-ins" - (:require [clojure.set :as set])) - -(defonce built-in-markers - ["NOW" "LATER" "DOING" "DONE" "CANCELED" "CANCELLED" "IN-PROGRESS" "TODO" "WAIT" "WAITING"]) - -(defonce built-in-priorities - ["A" "B" "C"]) - -(defonce built-in-pages-names - (set/union - (set built-in-markers) - (set built-in-priorities) - #{"Favorites" "Contents" "card"})) diff --git a/deps/graph-parser/src/logseq/graph_parser/db.cljs b/deps/graph-parser/src/logseq/graph_parser/db.cljs index e5529be8eb..5dd1b7740b 100644 --- a/deps/graph-parser/src/logseq/graph_parser/db.cljs +++ b/deps/graph-parser/src/logseq/graph_parser/db.cljs @@ -1,16 +1,24 @@ (ns logseq.graph-parser.db "File graph specific db fns" - (:require [clojure.string :as string] + (:require [clojure.set :as set] + [clojure.string :as string] [datascript.core :as d] [logseq.common.util :as common-util] [logseq.common.uuid :as common-uuid] [logseq.db :as ldb] - [logseq.db.file-based.builtins :as file-builtins] [logseq.db.file-based.schema :as file-schema])) -(defonce built-in-markers file-builtins/built-in-markers) -(defonce built-in-priorities file-builtins/built-in-priorities) -(defonce built-in-pages-names file-builtins/built-in-pages-names) +(defonce built-in-markers + ["NOW" "LATER" "DOING" "DONE" "CANCELED" "CANCELLED" "IN-PROGRESS" "TODO" "WAIT" "WAITING"]) + +(defonce built-in-priorities + ["A" "B" "C"]) + +(defonce built-in-pages-names + (set/union + (set built-in-markers) + (set built-in-priorities) + #{"Favorites" "Contents" "card"})) (defn- page-title->block [title] diff --git a/deps/db/src/logseq/db/common/graph.cljs b/src/main/frontend/common/graph_view.cljs similarity index 98% rename from deps/db/src/logseq/db/common/graph.cljs rename to src/main/frontend/common/graph_view.cljs index 73e4928d61..4a6cecd43c 100644 --- a/deps/db/src/logseq/db/common/graph.cljs +++ b/src/main/frontend/common/graph_view.cljs @@ -1,4 +1,4 @@ -(ns logseq.db.common.graph +(ns frontend.common.graph-view "Main namespace for graph view fns." (:require [clojure.set :as set] [clojure.string :as string] @@ -6,9 +6,9 @@ [logseq.common.util :as common-util] [logseq.db :as ldb] [logseq.db.common.property-util :as db-property-util] - [logseq.db.file-based.builtins :as file-builtins] [logseq.db.frontend.entity-plus :as entity-plus] - [logseq.db.sqlite.create-graph :as sqlite-create-graph])) + [logseq.db.sqlite.create-graph :as sqlite-create-graph] + [logseq.graph-parser.db :as gp-db])) (defn- build-links [links] @@ -97,7 +97,7 @@ (get p (db-property-util/get-pid-2 db :logseq.property/exclude-from-graph-view)))))) links (concat relation tagged-pages namespaces) linked (set (mapcat identity links)) - build-in-pages (->> (if db-based? sqlite-create-graph/built-in-pages-names file-builtins/built-in-pages-names) + build-in-pages (->> (if db-based? sqlite-create-graph/built-in-pages-names gp-db/built-in-pages-names) (map string/lower-case) set) nodes (cond->> full-pages' @@ -232,7 +232,7 @@ {:nodes nodes :links links})))) -(defn ^:api build-graph +(defn build-graph [db opts] (case (:type opts) :global (build-global-graph db opts) diff --git a/src/main/frontend/db/model.cljs b/src/main/frontend/db/model.cljs index f5376a4c12..483a247a32 100644 --- a/src/main/frontend/db/model.cljs +++ b/src/main/frontend/db/model.cljs @@ -7,6 +7,7 @@ [clojure.walk :as walk] [datascript.core :as d] [frontend.common.file-based.db :as common-file-db] + [frontend.common.graph-view :as graph-view] [frontend.config :as config] [frontend.date :as date] [frontend.db.conn :as conn] @@ -17,7 +18,6 @@ [logseq.common.util :as common-util] [logseq.common.util.date-time :as date-time-util] [logseq.db :as ldb] - [logseq.db.common.graph :as db-graph] [logseq.db.frontend.class :as db-class] [logseq.db.frontend.content :as db-content] [logseq.db.frontend.rules :as rules] @@ -561,7 +561,7 @@ independent of format as format specific heading characters are stripped" (defn get-pages-that-mentioned-page [repo page-id include-journals?] (when-let [db (conn/get-db repo)] - (db-graph/get-pages-that-mentioned-page db page-id include-journals?))) + (graph-view/get-pages-that-mentioned-page db page-id include-journals?))) (defn get-page-referenced-blocks-full ([page-id] diff --git a/src/main/frontend/worker/db_worker.cljs b/src/main/frontend/worker/db_worker.cljs index 11cc79ae67..37bfd3d9c1 100644 --- a/src/main/frontend/worker/db_worker.cljs +++ b/src/main/frontend/worker/db_worker.cljs @@ -10,6 +10,7 @@ [datascript.core :as d] [datascript.storage :refer [IStorage] :as storage] [frontend.common.cache :as common.cache] + [frontend.common.graph-view :as graph-view] [frontend.common.thread-api :as thread-api :refer [def-thread-api]] [frontend.worker.db-listener :as db-listener] [frontend.worker.db.migrate :as db-migrate] @@ -31,7 +32,6 @@ [logseq.common.config :as common-config] [logseq.common.util :as common-util] [logseq.db :as ldb] - [logseq.db.common.graph :as db-graph] [logseq.db.common.order :as db-order] [logseq.db.common.sqlite :as sqlite-common-db] [logseq.db.common.view :as db-view] @@ -773,7 +773,7 @@ (def-thread-api :thread-api/build-graph [repo option] (let [conn (worker-state/get-datascript-conn repo)] - (db-graph/build-graph @conn option))) + (graph-view/build-graph @conn option))) (def ^:private *get-all-page-titles-cache (volatile! (cache/lru-cache-factory {}))) (defn- get-all-page-titles