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.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)

View File

@ -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- <add-property-from-dropdown
@ -640,14 +640,15 @@
{:properties {:logseq.property/icon icon}})]
(shui/popup-hide! id))))}))]
(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)))))
(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