Browse Source

enhance: display tags the same way as other properties

Tienson Qin 1 year ago
parent
commit
f4dd06f959

+ 1 - 0
deps/outliner/src/logseq/outliner/property.cljs

@@ -428,6 +428,7 @@
                         (remove #{:logseq.property/icon :logseq.property/built-in?}))]
     (or
      (seq (:block/alias block-entity))
+     (seq (:block/tags block-entity))
      (seq properties))))
 
 (defn- build-closed-value-tx

+ 5 - 11
src/main/frontend/components/db_based/page.cljs

@@ -49,15 +49,6 @@
                                            (str edit-input-id-prefix "-page")
                                            (assoc configure-opts :class-schema? false :page? true)))])))
 
-(rum/defc tags
-  [page]
-  (let [tags-property (db/entity :block/tags)]
-    (pv/property-value page tags-property
-                       (:block/tags page)
-                       {:page-cp (fn [config page]
-                                   (component-block/page-cp (assoc config :tag? true) page))
-                        :inline-text component-block/inline-text})))
-
 (rum/defcs page-configure < rum/reactive
   [state page *mode]
   (let [*mode *mode
@@ -119,8 +110,11 @@
         types (:block/type page)
         class? (contains? types "class")
         collapsed? (not @*show-info?)
-        has-properties? (seq (remove (set (keys db-property/built-in-properties))
-                                     (keys (:block/properties page))))
+        has-properties? (or
+                         (seq (:block/tags page))
+                         (seq (:block/alias page))
+                         (seq (remove (set (keys db-property/built-in-properties))
+                                      (keys (:block/properties page)))))
         show-info? (or @*show-info? has-properties?)]
     (when (if config/publishing?
             ;; Since publishing is read-only, hide this component if it has no info to show

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

@@ -531,10 +531,6 @@
                     (plugins/hook-ui-slot :page-head-actions-slotted nil)
                     (plugins/hook-ui-items :pagebar)]))])
 
-            (when (and db-based? (not block?) (:block/tags page))
-              [:div.cursor-pointer.px-1
-               (db-page/tags page)])
-
             (cond
               (and db-based? (not block?))
               (db-page/page-info page

+ 14 - 10
src/main/frontend/components/property.cljs

@@ -417,16 +417,20 @@
 (rum/defc property-icon
   [property property-type]
   (let [type (or (get-in property [:block/schema :type] property-type) :default)
-        icon (case type
-               :number "hash"
-               :date "calendar"
-               :checkbox "checkbox"
-               :url "link"
-               :page "file"
-               ;; FIXME: upgrade tabler icons
-               :object "topology-star"
-               :template "template"
-               "letter-t")]
+        ident (:db/ident property)
+        icon (cond
+               (= ident :block/tags)
+               "hash"
+               :else
+               (case type
+                 :number "number"
+                 :date "calendar"
+                 :checkbox "checkbox"
+                 :url "link"
+                 :page "file"
+                 :object "topology-star"
+                 :template "template"
+                 "letter-t"))]
     (ui/icon icon {:class "opacity-50"
                    :size 15})))