Browse Source

fix: choices for new view type weren't translateable

Follow up to #11508. Avoid dynamically generating built-in property
choices as it prevents us from being able to translate this easily. All
other built-in choices are strings in a file that we can easily
translate
Gabriel Horner 1 year ago
parent
commit
fc58750557

+ 2 - 2
deps/db/src/logseq/db/frontend/property.cljs

@@ -195,8 +195,8 @@
             {:db-ident db-ident
              :value value
              :uuid (common-uuid/gen-uuid :db-ident-block-uuid db-ident)})
-          [[:logseq.property.view/type.table "table"]
-           [:logseq.property.view/type.list "list"]])}
+          [[:logseq.property.view/type.table "Table View"]
+           [:logseq.property.view/type.list "List View"]])}
 
    :logseq.property.table/sorting {:schema
                                    {:type :coll

+ 4 - 11
src/main/frontend/components/property/value.cljs

@@ -529,13 +529,6 @@
                                      (reset! *result result)))))]
     (select-node property opts' *result)))
 
-(defn- get-closed-value-content
-  [block property]
-  (let [value (db-property/closed-value-content block)]
-    (if (= :logseq.property.view/type (:db/ident property))
-      (str (string/capitalize value) " View")
-      value)))
-
 (rum/defcs select < rum/reactive db-mixins/query
                     {:init (fn [state]
                              (let [*values (atom :loading)
@@ -562,7 +555,7 @@
             items (if closed-values?
                     (keep (fn [block]
                             (let [icon (pu/get-block-property-value block :logseq.property/icon)
-                                  value (get-closed-value-content block property)]
+                                  value (db-property/closed-value-content block)]
                               {:label (if icon
                                         [:div.flex.flex-row.gap-1.items-center
                                          (icon-component/icon icon)
@@ -678,12 +671,12 @@
         (property-empty-btn-value property)))))
 
 (rum/defc closed-value-item < rum/reactive db-mixins/query
-  [property value {:keys [inline-text icon?]}]
+  [value {:keys [inline-text icon?]}]
   (when value
     (let [eid (if (de/entity? value) (:db/id value) [:block/uuid value])]
       (when-let [block (db/sub-block (:db/id (db/entity eid)))]
         (let [property-block? (db-property/property-created-block? block)
-              value' (get-closed-value-content block property)
+              value' (db-property/closed-value-content block)
               icon (pu/get-block-property-value block :logseq.property/icon)]
           (cond
             icon
@@ -737,7 +730,7 @@
          (reference {} (:block/uuid value)))
 
        closed-values?
-       (closed-value-item property value opts)
+       (closed-value-item value opts)
 
        (de/entity? value)
        (when-some [content (if (some? (:property.value/content value))

+ 3 - 2
src/main/frontend/components/views.cljs

@@ -1005,7 +1005,8 @@
 
         [ready?, set-ready!] (rum/use-state false)
         *view-ref (rum/use-ref nil)
-        display-type (keyword (:block/title (get view-entity :logseq.property.view/type "table")))]
+        display-type (or (:db/ident (get view-entity :logseq.property.view/type))
+                         :logseq.property.view/type.table)]
 
     (rum/use-effect!
      (fn [] (debounced-set-row-filter!
@@ -1048,7 +1049,7 @@
       [ready?])
 
      (case display-type
-       :list
+       :logseq.property.view/type.list
        (list-view view-entity (:rows table) (:config option))
 
        (table-view table option row-selection add-new-object! ready?))]))