enhance: remove :object type as gabriel suggested

pull/10438/head
Tienson Qin 2023-09-12 13:18:59 +08:00
parent 3781c8a0ca
commit 47f906ff16
3 changed files with 9 additions and 31 deletions

View File

@ -132,7 +132,7 @@
(let [type (keyword (string/lower-case v))] (let [type (keyword (string/lower-case v))]
(swap! *property-schema assoc :type type))))])] (swap! *property-schema assoc :type type))))])]
(when (= :object (:type @*property-schema)) (when (= :page (:type @*property-schema))
[:div.grid.grid-cols-4.gap-1.leading-8 [:div.grid.grid-cols-4.gap-1.leading-8
[:label "Specify classes:"] [:label "Specify classes:"]
(class-select *property-schema (:classes @*property-schema) opts)]) (class-select *property-schema (:classes @*property-schema) opts)])

View File

@ -100,8 +100,8 @@
opts {:items options opts {:items options
:dropdown? true :dropdown? true
:input-default-placeholder (if multiple-values? :input-default-placeholder (if multiple-values?
(str "Choose " (if (= type :object) "objects" "pages")) "Choose pages"
(str "Choose " (if (= type :object) "object" "page"))) "Choose page")
:on-chosen (fn [chosen] :on-chosen (fn [chosen]
(let [page (string/trim (if (string? chosen) chosen (:value chosen))) (let [page (string/trim (if (string? chosen) chosen (:value chosen)))
id (:block/uuid (db/entity [:block/name (util/page-name-sanity-lc page)])) id (:block/uuid (db/entity [:block/name (util/page-name-sanity-lc page)]))
@ -339,14 +339,11 @@
(list :number :url) (list :number :url)
[:div.h-6 (select block property select-opts)] [:div.h-6 (select block property select-opts)]
:object :page
[:div.h-6 (select-page block property (assoc select-opts [:div.h-6 (select-page block property (assoc select-opts
:classes (:classes schema) :classes (:classes schema)
:multiple? multiple-values?))] :multiple? multiple-values?))]
:page
[:div.h-6 (select-page block property select-opts)]
:block :block
nil nil
@ -361,7 +358,7 @@
:class class :class class
:style {:min-height 24} :style {:min-height 24}
:on-click (fn [] :on-click (fn []
(let [ref? (contains? #{:page :block :object} type)] (let [ref? (contains? #{:page :block} type)]
(when (or (not ref?) (when (or (not ref?)
(and (string/blank? value) ref?)) (and (string/blank? value) ref?))
(when-not (and (= type :block) (string/blank? value)) (when-not (and (= type :block) (string/blank? value))
@ -374,16 +371,10 @@
(if (string/blank? value) (if (string/blank? value)
[:div.opacity-70.text-sm [:div.opacity-70.text-sm
(case type (case type
:object
(if multiple-values? "Choose objects" "Choose object")
:page :page
(if multiple-values? "Choose pages" "Choose page") (if multiple-values? "Choose pages" "Choose page")
"Input something")] "Input something")]
(case type (case type
:object
(when-let [object (db/entity [:block/uuid value])]
(page-cp {:disable-preview? true} object))
:page :page
(when-let [page (db/entity [:block/uuid value])] (when-let [page (db/entity [:block/uuid value])]
(page-cp {:disable-preview? true} page)) (page-cp {:disable-preview? true} page))
@ -472,7 +463,7 @@
type (:type schema) type (:type schema)
block? (= type :block) block? (= type :block)
default? (= type :default) default? (= type :default)
row? (contains? #{:page :object} type) row? (contains? #{:page} type)
items (if (coll? v) v (when v [v]))] items (if (coll? v) v (when v [v]))]
[:div.relative [:div.relative
{:class (cond {:class (cond
@ -546,7 +537,7 @@
multiple-values? multiple-values?
(multiple-values block property v opts dom-id schema editor-id editor-args) (multiple-values block property v opts dom-id schema editor-id editor-args)
(contains? #{:page :object} type) (contains? #{:page} type)
[:div.flex.flex-1.items-center.property-value-content [:div.flex.flex-1.items-center.property-value-content
(item-with-close block property v (item-with-close block property v
(merge (merge

View File

@ -26,12 +26,6 @@
(and (uuid? id) (and (uuid? id)
(some? (db/entity [:block/uuid id])))) (some? (db/entity [:block/uuid id]))))
(defn- logseq-object?
[id]
(and (uuid? id)
(when-let [e (db/entity [:block/uuid id])]
(seq (:block/tags e)))))
(def builtin-schema-types (def builtin-schema-types
{:default string? ; refs/tags will not be extracted {:default string? ; refs/tags will not be extracted
:number number? :number number?
@ -48,10 +42,6 @@
:block [:fn :block [:fn
{:error/message "should be a block"} {:error/message "should be a block"}
logseq-block?] logseq-block?]
:object [:fn
{:error/message "should be an object"}
logseq-object?]
;; internal usage ;; internal usage
:keyword keyword? :keyword keyword?
:map map? :map map?
@ -60,7 +50,7 @@
:any some?}) :any some?})
(def internal-builtin-schema-types #{:keyword :map :coll :any}) (def internal-builtin-schema-types #{:keyword :map :coll :any})
(def user-face-builtin-schema-types [:default :number :date :checkbox :url :page :block :object]) (def user-face-builtin-schema-types [:default :number :date :checkbox :url :page :block])
;; schema -> type, cardinality, object's class ;; schema -> type, cardinality, object's class
;; min, max -> string length, number range, cardinality size limit ;; min, max -> string length, number range, cardinality size limit
@ -71,7 +61,7 @@
(cond (cond
(parse-long v-str) :number (parse-long v-str) :number
(parse-double v-str) :number (parse-double v-str) :number
(util/uuid-string? v-str) :object (util/uuid-string? v-str) :page
(gp-util/url? v-str) :url (gp-util/url? v-str) :url
(contains? #{"true" "false"} (string/lower-case v-str)) :boolean (contains? #{"true" "false"} (string/lower-case v-str)) :boolean
:else :default) :else :default)
@ -98,9 +88,6 @@
:block :block
(uuid v-str) (uuid v-str)
:object
(uuid v-str)
:date :date
v-str ; uuid v-str ; uuid
))) )))