fix: able to delete properties not built-in for the specific class

pull/10981/head
rcmerci 2024-08-09 17:12:16 +08:00
parent d3057f6965
commit c7c17e3dd2
2 changed files with 16 additions and 15 deletions

View File

@ -7,14 +7,14 @@
[logseq.common.config :as common-config] [logseq.common.config :as common-config]
[logseq.common.util :as common-util] [logseq.common.util :as common-util]
[logseq.common.uuid :as common-uuid] [logseq.common.uuid :as common-uuid]
[logseq.db.frontend.delete-blocks :as delete-blocks] [logseq.db.frontend.class :as db-class]
;; Load entity extensions [logseq.db.frontend.delete-blocks :as delete-blocks] ;; Load entity extensions
[logseq.db.frontend.entity-plus] [logseq.db.frontend.entity-plus]
[logseq.db.frontend.entity-util :as entity-util] [logseq.db.frontend.entity-util :as entity-util]
[logseq.db.frontend.order :as db-order]
[logseq.db.frontend.rules :as rules] [logseq.db.frontend.rules :as rules]
[logseq.db.sqlite.common-db :as sqlite-common-db] [logseq.db.sqlite.common-db :as sqlite-common-db]
[logseq.db.sqlite.util :as sqlite-util] [logseq.db.sqlite.util :as sqlite-util]))
[logseq.db.frontend.order :as db-order]))
;; Use it as an input argument for datalog queries ;; Use it as an input argument for datalog queries
(def block-attrs (def block-attrs
@ -456,7 +456,7 @@
(and (built-in? class-entity) (and (built-in? class-entity)
(class? class-entity) (class? class-entity)
(built-in? property-entity) (built-in? property-entity)
(contains? (set (map :db/ident (:class/schema.properties class-entity))) (contains? (set (get-in (db-class/built-in-classes (:db/ident class-entity)) [:schema :properties]))
(:db/ident property-entity)))) (:db/ident property-entity))))
(def write-transit-str sqlite-util/write-transit-str) (def write-transit-str sqlite-util/write-transit-str)

View File

@ -120,8 +120,8 @@
(if (and class? class-schema?) (if (and class? class-schema?)
(-> (shui/dialog-confirm! (-> (shui/dialog-confirm!
;; Only ask for confirmation on class schema properties ;; Only ask for confirmation on class schema properties
[:p (str "Are you sure you want to delete this property?")]) [:p (str "Are you sure you want to delete this property?")])
(p/then remove!)) (p/then remove!))
(remove!)))) (remove!))))
(defn- <add-property-from-dropdown (defn- <add-property-from-dropdown
@ -640,14 +640,15 @@
{:properties {:logseq.property/icon icon}})] {:properties {:logseq.property/icon icon}})]
(shui/popup-hide! id))))}))] (shui/popup-hide! id))))}))]
(shui/trigger-as :button (shui/trigger-as
(-> (when-not config/publishing? :button
{:on-click #(shui/popup-show! (.-target %) content-fn {:as-dropdown? true :auto-focus? true})}) (-> (when-not config/publishing?
(assoc :class "flex items-center")) {:on-click #(shui/popup-show! (.-target %) content-fn {:as-dropdown? true :auto-focus? true})})
(if icon (assoc :class "flex items-center"))
[:span.flex.items-center {:style {:color (or (some-> icon :color) "inherit")}} (if icon
(icon-component/icon icon {:size 15})] [:span.flex.items-center {:style {:color (or (some-> icon :color) "inherit")}}
(property-icon property nil))))) (icon-component/icon icon {:size 15})]
(property-icon property nil)))))
(if config/publishing? (if config/publishing?
[:a.property-k.flex.select-none.jtrigger [:a.property-k.flex.select-none.jtrigger