From c7c17e3dd279b2f9649092db3033a4c81f899888 Mon Sep 17 00:00:00 2001 From: rcmerci Date: Fri, 9 Aug 2024 17:12:16 +0800 Subject: [PATCH] fix: able to delete properties not built-in for the specific class --- deps/db/src/logseq/db.cljs | 10 +++++----- src/main/frontend/components/property.cljs | 21 +++++++++++---------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/deps/db/src/logseq/db.cljs b/deps/db/src/logseq/db.cljs index b77d1aa4e..33e1bf8cd 100644 --- a/deps/db/src/logseq/db.cljs +++ b/deps/db/src/logseq/db.cljs @@ -7,14 +7,14 @@ [logseq.common.config :as common-config] [logseq.common.util :as common-util] [logseq.common.uuid :as common-uuid] - [logseq.db.frontend.delete-blocks :as delete-blocks] - ;; Load entity extensions + [logseq.db.frontend.class :as db-class] + [logseq.db.frontend.delete-blocks :as delete-blocks] ;; Load entity extensions [logseq.db.frontend.entity-plus] [logseq.db.frontend.entity-util :as entity-util] + [logseq.db.frontend.order :as db-order] [logseq.db.frontend.rules :as rules] [logseq.db.sqlite.common-db :as sqlite-common-db] - [logseq.db.sqlite.util :as sqlite-util] - [logseq.db.frontend.order :as db-order])) + [logseq.db.sqlite.util :as sqlite-util])) ;; Use it as an input argument for datalog queries (def block-attrs @@ -456,7 +456,7 @@ (and (built-in? class-entity) (class? class-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)))) (def write-transit-str sqlite-util/write-transit-str) diff --git a/src/main/frontend/components/property.cljs b/src/main/frontend/components/property.cljs index 016f0146a..df5001a0a 100644 --- a/src/main/frontend/components/property.cljs +++ b/src/main/frontend/components/property.cljs @@ -120,8 +120,8 @@ (if (and class? class-schema?) (-> (shui/dialog-confirm! ;; Only ask for confirmation on class schema properties - [:p (str "Are you sure you want to delete this property?")]) - (p/then remove!)) + [:p (str "Are you sure you want to delete this property?")]) + (p/then remove!)) (remove!)))) (defn- (when-not config/publishing? - {:on-click #(shui/popup-show! (.-target %) content-fn {:as-dropdown? true :auto-focus? true})}) - (assoc :class "flex items-center")) - (if icon - [:span.flex.items-center {:style {:color (or (some-> icon :color) "inherit")}} - (icon-component/icon icon {:size 15})] - (property-icon property nil))))) + (shui/trigger-as + :button + (-> (when-not config/publishing? + {:on-click #(shui/popup-show! (.-target %) content-fn {:as-dropdown? true :auto-focus? true})}) + (assoc :class "flex items-center")) + (if icon + [:span.flex.items-center {:style {:color (or (some-> icon :color) "inherit")}} + (icon-component/icon icon {:size 15})] + (property-icon property nil))))) (if config/publishing? [:a.property-k.flex.select-none.jtrigger