瀏覽代碼

fix: lint warnings

Tienson Qin 1 年之前
父節點
當前提交
bb63ed4a42

+ 1 - 2
src/main/frontend/components/icon.cljs

@@ -13,8 +13,7 @@
             [frontend.util :as util]
             [goog.object :as gobj]
             [goog.functions :refer [debounce]]
-            [frontend.config :as config]
-            [frontend.handler.property.util :as pu]))
+            [frontend.config :as config]))
 
 (defn icon
   [icon & [opts]]

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

@@ -11,6 +11,7 @@
             [frontend.components.scheduled-deadlines :as scheduled]
             [frontend.components.icon :as icon-component]
             [frontend.components.db-based.page :as db-page]
+            [frontend.components.class :as class-component]
             [frontend.handler.db-based.property :as db-property-handler]
             [frontend.components.svg :as svg]
             [frontend.config :as config]
@@ -555,6 +556,9 @@
                       (reference/references route-page-name)
                       (str route-page-name "-refs"))]))
 
+               (when (contains? (:block/type page) "class")
+                 (class-component/class-children page))
+
                (when-not block-or-whiteboard?
                  (when (not journal?)
                    (hierarchy/structures route-page-name)))

+ 1 - 3
src/main/frontend/components/property.cljs

@@ -121,9 +121,7 @@
             f (if (and class? class-schema?)
                 db-property-handler/class-remove-property!
                 property-handler/remove-block-property!)
-            property-id (if (config/db-based-graph? repo)
-                          (:db/ident property)
-                          (:block/uuid property))]
+            property-id (:db/ident property)]
         (f repo (:block/uuid block) property-id)))))
 
 (rum/defc schema-type <

+ 1 - 1
src/main/frontend/components/property/closed_value.cljs

@@ -168,7 +168,7 @@
        (assoc opts
               :delete-choice
               (fn []
-                (p/let [success? (db-property-handler/delete-closed-value! (db/get-db) property block)]
+                (p/let [success? (db-property-handler/delete-closed-value! property block)]
                   (when success?
                     (swap! *property-schema update :values (fn [vs] (vec (remove #(= uuid %) vs)))))))
               :update-icon

+ 80 - 67
src/main/frontend/components/property/value.cljs

@@ -612,19 +612,91 @@
          :page
          (property-value-select-page block property select-opts' opts))]))))
 
+(defn- property-editing
+  [block property value schema editor-box editor-args editor-id]
+  (let [repo (state/get-current-repo)
+        multiple-values? (= :many (:cardinality schema))]
+    [:div.flex.flex-1
+    (case type
+      :template
+      (let [id (first (:classes schema))
+            template (when id (db/entity [:block/uuid id]))]
+        (when template
+          (<create-new-block-from-template! block property template)))
+
+      (let [config {:editor-opts (new-text-editor-opts repo block property value editor-id)}]
+        [:div
+         (editor-box editor-args editor-id (cond-> config
+                                             multiple-values?
+                                             (assoc :property-value value)))]))]))
+
+(defn- property-value-inner
+  [block property value *ref {:keys [inline-text block-cp page-cp
+                                     editor-id dom-id row?
+                                     editor-box]
+                              :as opts}]
+  (let [schema (:block/schema property)
+        multiple-values? (= :many (:cardinality schema))
+        class (str (when-not row? "flex flex-1 ")
+                   (when multiple-values? "property-value-content"))
+        type (or (when (and (= type :default) (uuid? value)) :block)
+                 type
+                 :default)
+        type (if (= :block type)
+               (let [v-block (db/entity value)]
+                 (if (:logseq.property/created-from-template v-block)
+                   :template
+                   type))
+               type)
+        template? (= :template type)]
+    [:div.cursor-text.jtrigger
+     {:id (or dom-id (random-uuid))
+      :tabIndex 0
+      :class class
+      :style {:min-height 24}
+      :on-click (fn []
+                  (let [property-block (when (and (= type :block) (uuid? value))
+                                         (db/entity [:block/uuid value]))
+                        invalid-block? (and (= type :block) (uuid? value)
+                                            (or (nil? property-block)
+                                                (nil? (:block/_parent property-block))))
+                        value (if invalid-block? "" value)]
+                    (when (or (= type :default) invalid-block?)
+                      (set-editing! (assoc property :block/uuid (random-uuid)) editor-id dom-id value {:ref @*ref}))))}
+     (if (string/blank? value)
+       (if template?
+         (let [id (first (:classes schema))
+               template (when id (db/entity [:block/uuid id]))]
+           (when template
+             [:a.fade-link.pointer.text-sm.jtrigger
+              {:on-click (fn [e]
+                           (util/stop e)
+                           (<create-new-block-from-template! block property template))}
+              (str "Use template #" (:block/original-name template))]))
+         [:div.opacity-50.pointer.text-sm.cursor-pointer "Empty"])
+       (cond
+         (= type :template)
+         (property-template-value {:editor-id editor-id}
+                                  value
+                                  opts)
+
+         (and (= type :block) (uuid? value))
+         (property-block-value value block property block-cp editor-box opts page-cp editor-id)
+
+         :else
+         (inline-text {} :markdown (macro-util/expand-value-if-macro (str value) (state/get-macros)))))]))
+
 (rum/defcs property-scalar-value < rum/reactive db-mixins/query
   (rum/local nil ::ref)
-  [state block property value {:keys [inline-text block-cp page-cp
-                                      editor-id dom-id row?
-                                      editor-box editor-args editing?
+  [state block property value {:keys [editor-id editor-box editor-args editing?
                                       on-chosen]
                                :as opts}]
   (let [*ref (::ref state)
         property (model/sub-block (:db/id property))
-        repo (state/get-current-repo)
+
         schema (:block/schema property)
         type (get schema :type :default)
-        multiple-values? (= :many (:cardinality schema))
+
         editing? (or editing?
                      (state/sub-property-value-editing? editor-id)
                      (and @*ref (state/sub-editing? @*ref)))
@@ -657,68 +729,9 @@
                                            (add-property!)))}))
         ;; :others
         [:div.flex.flex-1 {:ref #(when-not @*ref (reset! *ref %))}
-         (if editing?
-           [:div.flex.flex-1
-            (case type
-              :template
-              (let [id (first (:classes schema))
-                    template (when id (db/entity [:block/uuid id]))]
-                (when template
-                  (<create-new-block-from-template! block property template)))
-
-              (let [config {:editor-opts (new-text-editor-opts repo block property value editor-id)}]
-                [:div
-                 (editor-box editor-args editor-id (cond-> config
-                                                     multiple-values?
-                                                     (assoc :property-value value)))]))]
-           (let [class (str (when-not row? "flex flex-1 ")
-                            (when multiple-values? "property-value-content"))
-                 type (or (when (and (= type :default) (uuid? value)) :block)
-                          type
-                          :default)
-                 type (if (= :block type)
-                        (let [v-block (db/entity value)]
-                          (if (:logseq.property/created-from-template v-block)
-                            :template
-                            type))
-                        type)
-                 template? (= :template type)]
-             [:div.cursor-text.jtrigger
-              {:id (or dom-id (random-uuid))
-               :tabIndex 0
-               :class class
-               :style {:min-height 24}
-               :on-click (fn []
-                           (let [property-block (when (and (= type :block) (uuid? value))
-                                                  (db/entity [:block/uuid value]))
-                                 invalid-block? (and (= type :block) (uuid? value)
-                                                     (or (nil? property-block)
-                                                         (nil? (:block/_parent property-block))))
-                                 value (if invalid-block? "" value)]
-                             (when (or (= type :default) invalid-block?)
-                               (set-editing! (assoc property :block/uuid (random-uuid)) editor-id dom-id value {:ref @*ref}))))}
-              (if (string/blank? value)
-                (if template?
-                  (let [id (first (:classes schema))
-                        template (when id (db/entity [:block/uuid id]))]
-                    (when template
-                      [:a.fade-link.pointer.text-sm.jtrigger
-                       {:on-click (fn [e]
-                                    (util/stop e)
-                                    (<create-new-block-from-template! block property template))}
-                       (str "Use template #" (:block/original-name template))]))
-                  [:div.opacity-50.pointer.text-sm.cursor-pointer "Empty"])
-                (cond
-                  (= type :template)
-                  (property-template-value {:editor-id editor-id}
-                                           value
-                                           opts)
-
-                  (and (= type :block) (uuid? value))
-                  (property-block-value value block property block-cp editor-box opts page-cp editor-id)
-
-                  :else
-                  (inline-text {} :markdown (macro-util/expand-value-if-macro (str value) (state/get-macros)))))]))]))))
+   (if editing?
+     (property-editing  block property value schema editor-box editor-args editor-id)
+     (property-value-inner block property value *ref opts))]))))
 
 (rum/defc multiple-values
   [block property v {:keys [on-chosen dropdown? editing?]

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

@@ -9,7 +9,6 @@
             [frontend.extensions.sci :as sci]
             [frontend.handler.editor :as editor-handler]
             [frontend.handler.property :as property-handler]
-            [frontend.handler.property.util :as pu]
             [frontend.state :as state]
             [frontend.ui :as ui]
             [frontend.util :as util]

+ 1 - 1
src/main/frontend/handler/db_based/property.cljs

@@ -687,7 +687,7 @@
 
 (defn delete-closed-value!
   "Returns true when deleted or if not deleted displays warning and returns false"
-  [db property value-block]
+  [property value-block]
   (cond
     (ldb/built-in? value-block)
     (do (notification/show! "The choice can't be deleted because it's built-in." :warning)

+ 1 - 1
src/test/frontend/handler/db_based/property_closed_value_test.cljs

@@ -82,7 +82,7 @@
                  (is (contains? (:block/type b) "closed value")))))
 
            (p/do!
-            (db-property-handler/delete-closed-value! (db/get-db) property (db/entity [:block/uuid block-id]))
+            (db-property-handler/delete-closed-value! property (db/entity [:block/uuid block-id]))
             (testing "Delete closed value"
               (is (nil? (db/entity [:block/uuid block-id])))
               (is (= 2 (count (:values (:block/schema (db/entity [:block/name k]))))))))))))))