Prechádzať zdrojové kódy

enhance: add db/ident for task status and priority closed values

Tienson Qin 1 rok pred
rodič
commit
759555f5c7

+ 17 - 6
deps/db/src/logseq/db/frontend/property.cljs

@@ -56,20 +56,31 @@
             :schema
             {:type :default}
             :closed-values
-            (mapv (fn [[status icon]]
-                    {:value status
+            (mapv (fn [[db-ident value icon]]
+                    {:db-ident db-ident
+                     :value value
                      :uuid (random-uuid)
                      :icon {:type :tabler-icon :id icon :name icon}})
-                  [["Backlog" "Backlog"] ["Todo" "Todo"] ["Doing" "InProgress50"]
-                   ["In Review" "InReview"] ["Done" "Done"] ["Canceled" "Cancelled"]])
+                  [[:task/status.backlog "Backlog" "Backlog"]
+                   [:task/status.todo "Todo" "Todo"]
+                   [:task/status.doing "Doing" "InProgress50"]
+                   [:task/status.in-review "In Review" "InReview"]
+                   [:task/status.done "Done" "Done"]
+                   [:task/status.canceled "Canceled" "Cancelled"]])
             :visible true}
    :priority {:db-ident :task/priority
               :original-name "Priority"
               :schema
               {:type :default}
               :closed-values
-              (mapv #(hash-map :value % :uuid (random-uuid))
-                    ["Urgent" "High" "Medium" "Low"])
+              (mapv (fn [[db-ident value]]
+                      {:db-ident db-ident
+                       :value value
+                       :uuid (random-uuid)})
+                    [[:task/priority.urgent "Urgent"]
+                     [:task/priority.high "High"]
+                     [:task/priority.medium "Medium"]
+                     [:task/priority.low "Low"]])
               :visible true}
    :scheduled {:db-ident :task/scheduled
                :original-name "Scheduled"

+ 8 - 4
deps/db/src/logseq/db/frontend/property/util.cljs

@@ -18,9 +18,12 @@
 
 (defn build-closed-value-block
   "Builds a closed value block to be transacted"
-  [block-uuid block-value page-id property {:keys [icon-id icon description]}]
+  [block-uuid block-value page-id property {:keys [db-ident icon-id icon description]}]
   (cond->
-    (closed-value-new-block page-id (or block-uuid (d/squuid)) block-value property)
+   (closed-value-new-block page-id (or block-uuid (d/squuid)) block-value property)
+    (and db-ident (keyword? db-ident))
+    (assoc :db/ident db-ident)
+
     icon
     (assoc :block/properties {icon-id icon})
 
@@ -58,9 +61,10 @@
         closed-value-blocks-tx
         (if closed-value-page-uuids?
           (map translate-closed-page-value-fn (:closed-values property))
-          (map (fn [{:keys [value icon description uuid]}]
+          (map (fn [{:keys [db-ident value icon description uuid]}]
                  (build-closed-value-block
-                  uuid value page-id property {:icon-id icon-id
+                  uuid value page-id property {:db-ident db-ident
+                                               :icon-id icon-id
                                                :icon icon
                                                :description description}))
                (:closed-values property)))