Tienson Qin 6 månader sedan
förälder
incheckning
b39a81db17

+ 3 - 3
deps/db/.carve/ignore

@@ -25,8 +25,8 @@ logseq.db.sqlite.export/build-export
 ;; API
 logseq.db.sqlite.export/build-import
 ;; API
-logseq.db.frontend.graph/build-graph
+logseq.db.common.graph/build-graph
 ;; API
-logseq.db.frontend.view/get-property-values
+logseq.db.common.view/get-property-values
 ;; API
-logseq.db.frontend.view/get-view-data
+logseq.db.common.view/get-view-data

+ 1 - 1
deps/db/bb.edn

@@ -42,5 +42,5 @@
 
  :tasks/config
  {:large-vars
-  {:max-lines-count 50
+  {:max-lines-count 60
    :metadata-exceptions #{:large-vars/doc-var :large-vars/cleanup-todo}}}}

+ 3 - 4
deps/db/src/logseq/db/frontend/graph.cljs → deps/db/src/logseq/db/common/graph.cljs

@@ -1,10 +1,11 @@
-(ns logseq.db.frontend.graph
+(ns logseq.db.common.graph
   "Main namespace for graph view fns."
   (:require [clojure.set :as set]
             [clojure.string :as string]
             [datascript.core :as d]
             [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]))
@@ -93,9 +94,7 @@
           (remove ldb/journal?)
           (not excluded-pages?)
           (remove (fn [p] (true?
-                           (if db-based?
-                             (:logseq.property/exclude-from-graph-view p)
-                             (get-in p [:block/properties :exclude-from-graph-view]))))))
+                           (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)

+ 15 - 1
deps/db/src/logseq/db/common/property_util.cljs

@@ -1,17 +1,31 @@
 (ns logseq.db.common.property-util
   "Property related util fns. Fns used in both DB and file graphs should go here"
   (:require [datascript.core :as d]
+            [logseq.db.frontend.entity-plus :as entity-plus]
             [logseq.db.frontend.property :as db-property]
             [logseq.db.frontend.property.type :as db-property-type]
             [logseq.db.sqlite.util :as sqlite-util]))
 
+(defn- get-file-pid-by-ident
+  [db-ident]
+  (get-in db-property/built-in-properties [db-ident :name] (name db-ident)))
+
+;; TODO: refactor later to remove this fn
 (defn get-pid
   "Get a built-in property's id (keyword name for file graph and db-ident for db
   graph) given its db-ident. No need to use this fn in a db graph only context"
   [repo db-ident]
   (if (sqlite-util/db-based-graph? repo)
     db-ident
-    (get-in db-property/built-in-properties [db-ident :name] (name db-ident))))
+    (get-file-pid-by-ident db-ident)))
+
+(defn get-pid-2
+  "Get a built-in property's id (keyword name for file graph and db-ident for db
+  graph) given its db-ident. No need to use this fn in a db graph only context"
+  [db db-ident]
+  (if (entity-plus/db-based-graph? db)
+    db-ident
+    (get-file-pid-by-ident db-ident)))
 
 (defn built-in-has-ref-value?
   "Given a built-in's db-ident, determine if its property value is a ref"

+ 2 - 2
deps/db/src/logseq/db/frontend/view.cljs → deps/db/src/logseq/db/common/view.cljs

@@ -1,4 +1,4 @@
-(ns logseq.db.frontend.view
+(ns logseq.db.common.view
   "Main namespace for view fns."
   (:require [cljs.reader :as reader]
             [clojure.set :as set]
@@ -427,7 +427,7 @@
             values)
       values)))
 
-(defn ^:api get-view-data
+(defn ^:api ^:large-vars/cleanup-todo get-view-data
   [db view-id {:keys [journals? _view-for-id view-feature-type input query-entity-ids]
                :as opts}]
   ;; TODO: create a view for journals maybe?

+ 2 - 2
src/main/frontend/common/cache.cljs

@@ -3,7 +3,7 @@
   (:require [cljs.cache :as cache]))
 
 #_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]}
-(def *profile (volatile! {}))
+;; (def *profile (volatile! {}))
 
 (defn cache-fn
   "Return a cached version of `f`.
@@ -14,6 +14,6 @@
           through-value-fn #(apply f f-args)
           ;; hit? (cache/has? @*cache cache-k)
           ;; _ (vswap! *profile update-in [[*cache (.-limit ^js @*cache)] (if hit? :hit :miss)] inc)
-          ;; _ (prn (if hit? :hit :mis) cache-k)
+          ;; _ (prn (if hit? :hit :miss) cache-k)
           cache (vreset! *cache (cache/through through-value-fn @*cache cache-k))]
       (cache/lookup cache cache-k))))

+ 0 - 1
src/main/frontend/components/editor.cljs

@@ -1,6 +1,5 @@
 (ns frontend.components.editor
   (:require [clojure.string :as string]
-            [datascript.impl.entity :as de]
             [dommy.core :as dom]
             [frontend.commands :as commands :refer [*matched-commands]]
             [frontend.components.file-based.datetime :as datetime-comp]

+ 0 - 6
src/main/frontend/components/page.cljs

@@ -73,12 +73,6 @@
            str)))
   (def get-block-uuid-by-block-route-name (constantly nil)))
 
-(defn- get-block
-  [page-name-or-uuid]
-  (when page-name-or-uuid
-    (when-let [block (model/get-page page-name-or-uuid)]
-      (model/sub-block (:db/id block)))))
-
 (defn- open-root-block!
   [state]
   (let [[_ block _ sidebar? preview?] (:rum/args state)]

+ 0 - 1
src/main/frontend/components/property/config.cljs

@@ -754,7 +754,6 @@
 (rum/defcs dropdown-editor < rum/reactive db-mixins/query
   {:init (fn [state]
            (let [*values (atom :loading)
-                 repo (state/get-current-repo)
                  property (first (:rum/args state))
                  ident (:db/ident property)]
              (p/let [result (db-async/<get-property-values ident)]

+ 0 - 1
src/main/frontend/components/query.cljs

@@ -10,7 +10,6 @@
             [frontend.db-mixins :as db-mixins]
             [frontend.extensions.sci :as sci]
             [frontend.handler.editor :as editor-handler]
-            [frontend.hooks :as hooks]
             [frontend.state :as state]
             [frontend.ui :as ui]
             [frontend.util :as util]

+ 4 - 8
src/main/frontend/components/query/builder.cljs

@@ -291,15 +291,13 @@
 
        "page"
        (page-search (fn [{:keys [value]}]
-                      (append-tree! *tree opts loc [:page value]))
-                    {})
+                      (append-tree! *tree opts loc [:page value])))
 
        ;; TODO: replace with node reference
        "page reference"
 
        (page-search (fn [{:keys [value]}]
-                      (append-tree! *tree opts loc [:page-ref value]))
-                    {})
+                      (append-tree! *tree opts loc [:page-ref value])))
 
        "full text search"
        (search (fn [v] (append-tree! *tree opts loc v))
@@ -374,13 +372,11 @@
 
        "page"
        (page-search (fn [{:keys [value]}]
-                      (append-tree! *tree opts loc [:page value]))
-                    {})
+                      (append-tree! *tree opts loc [:page value])))
 
        "page reference"
        (page-search (fn [{:keys [value]}]
-                      (append-tree! *tree opts loc [:page-ref value]))
-                    {})
+                      (append-tree! *tree opts loc [:page-ref value])))
 
        "full text search"
        (search (fn [v] (append-tree! *tree opts loc v))

+ 1 - 1
src/main/frontend/components/reference.cljs

@@ -13,7 +13,7 @@
             [frontend.hooks :as hooks]
             [frontend.state :as state]
             [frontend.ui :as ui]
-            [logseq.db.frontend.view :as db-view]
+            [logseq.db.common.view :as db-view]
             [logseq.shui.ui :as shui]
             [missionary.core :as m]
             [rum.core :as rum]))

+ 1 - 1
src/main/frontend/components/reference_filters.cljs

@@ -10,7 +10,7 @@
             [frontend.state :as state]
             [frontend.ui :as ui]
             [frontend.util :as util]
-            [logseq.db.frontend.view :as db-view]
+            [logseq.db.common.view :as db-view]
             [promesa.core :as p]
             [rum.core :as rum]))
 

+ 1 - 1
src/main/frontend/components/views.cljs

@@ -37,8 +37,8 @@
             [goog.dom :as gdom]
             [logseq.common.config :as common-config]
             [logseq.db :as ldb]
+            [logseq.db.common.view :as db-view]
             [logseq.db.frontend.property :as db-property]
-            [logseq.db.frontend.view :as db-view]
             [logseq.shui.ui :as shui]
             [medley.core :as medley]
             [missionary.core :as m]

+ 0 - 1
src/main/frontend/db.cljs

@@ -36,7 +36,6 @@
   get-latest-journals get-page get-case-page get-page-alias-names
   get-page-blocks-count get-page-blocks-no-cache get-page-file get-page-format
   get-referenced-blocks get-page-referenced-blocks-full
-  get-all-pages get-pages-relation get-pages-that-mentioned-page
   journal-page? page? page-alias-set sub-block sub-entity
   page-empty? page-exists? get-alias-source-page
   has-children? whiteboard-page?

+ 1 - 40
src/main/frontend/db/model.cljs

@@ -18,9 +18,9 @@
             [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.graph :as db-graph]
             [logseq.db.frontend.rules :as rules]
             [logseq.graph-parser.db :as gp-db]))
 
@@ -61,16 +61,6 @@
 
 (def hidden-page? ldb/hidden?)
 
-(defn get-all-pages
-  [repo]
-  (when-let [db (conn/get-db repo)]
-    (ldb/get-all-pages db)))
-
-(defn get-all-page-titles
-  [repo]
-  (->> (get-all-pages repo)
-       (map :block/title)))
-
 (defn get-alias-source-page
   "return the source page of an alias"
   [repo alias-id]
@@ -812,35 +802,6 @@ independent of format as format specific heading characters are stripped"
          (map (fn [[_ ?parent]]
                 (db-utils/entity db ?parent))))))
 
-;; Ignore files with empty blocks for now
-(defn get-pages-relation
-  [repo with-journal?]
-  (when-let [db (conn/get-db repo)]
-    (if (config/db-based-graph?)
-      (let [q (if with-journal?
-                '[:find ?p ?ref-page
-                  :where
-                  [?block :block/page ?p]
-                  [?block :block/refs ?ref-page]]
-                '[:find ?p ?ref-page
-                  :where
-                  [?block :block/page ?p]
-                  [?p :block/tags]
-                  (not [?p :block/tags :logseq.class/Journal])
-                  [?block :block/refs ?ref-page]])]
-        (d/q q db))
-      (let [q (if with-journal?
-                '[:find ?p ?ref-page
-                  :where
-                  [?block :block/page ?p]
-                  [?block :block/refs ?ref-page]]
-                '[:find ?p ?ref-page
-                  :where
-                  [?block :block/page ?p]
-                  (not [?p :block/type "journal"])
-                  [?block :block/refs ?ref-page]])]
-        (d/q q db)))))
-
 (defn get-namespace-pages
   "Accepts both sanitized and unsanitized namespaces"
   [repo namespace]

+ 9 - 7
src/main/frontend/state.cljs

@@ -622,13 +622,15 @@ should be done through this fn in order to get global config and config defaults
       (get-in @state [:me :settings :start-of-week])
       6))
 
-(defn get-ref-open-blocks-level
-  []
-  (or
-   (when-let [value (:ref/default-open-blocks-level (get-config))]
-     (when (integer? value)
-       value))
-   2))
+;; TODO: support this later
+(comment
+  (defn get-ref-open-blocks-level
+    []
+    (or
+     (when-let [value (:ref/default-open-blocks-level (get-config))]
+       (when (integer? value)
+         value))
+     2)))
 
 (comment
   (defn get-linked-references-collapsed-threshold

+ 2 - 2
src/main/frontend/worker/db_worker.cljs

@@ -31,11 +31,11 @@
             [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.frontend.graph :as db-graph]
+            [logseq.db.common.view :as db-view]
             [logseq.db.frontend.schema :as db-schema]
-            [logseq.db.frontend.view :as db-view]
             [logseq.db.sqlite.create-graph :as sqlite-create-graph]
             [logseq.db.sqlite.export :as sqlite-export]
             [logseq.db.sqlite.util :as sqlite-util]