|
|
@@ -157,47 +157,49 @@
|
|
|
[:div.flex.flex-col.gap-2.mt-2
|
|
|
|
|
|
(ui/foldable
|
|
|
- [:div.font-medium.opacity-50 "Tagged Nodes"]
|
|
|
- [:div.mt-2
|
|
|
- (views/view view-entity {:config config
|
|
|
- :data data
|
|
|
- :set-data! set-data!
|
|
|
- :views-title (class-views class views view-entity {:set-view-entity! set-view-entity!
|
|
|
- :set-views! set-views!})
|
|
|
- :columns columns
|
|
|
- :add-new-object! (if (= :logseq.class/Asset (:db/ident class))
|
|
|
- (fn [_e]
|
|
|
- (shui/dialog-open!
|
|
|
- (fn []
|
|
|
- [:div.flex.flex-col.gap-2
|
|
|
- [:div.font-medium "Add assets"]
|
|
|
- (filepicker/picker
|
|
|
- {:on-change (fn [_e files]
|
|
|
- (p/do!
|
|
|
- (editor-handler/upload-asset! nil files :markdown editor-handler/*asset-uploading? true)
|
|
|
- (set-data! (get-class-objects class))
|
|
|
- (shui/dialog-close!)))})])))
|
|
|
- #(add-new-class-object! class set-data!))
|
|
|
- :show-add-property? true
|
|
|
- :add-property! (fn []
|
|
|
- (state/pub-event! [:editor/new-property {:block class
|
|
|
- :class-schema? true}]))
|
|
|
- :on-delete-rows (fn [table selected-rows]
|
|
|
- (let [pages (filter ldb/page? selected-rows)
|
|
|
- blocks (remove ldb/page? selected-rows)]
|
|
|
- (p/do!
|
|
|
- (ui-outliner-tx/transact!
|
|
|
- {:outliner-op :delete-blocks}
|
|
|
- (when (seq blocks)
|
|
|
- (outliner-op/delete-blocks! blocks nil))
|
|
|
- (let [page-ids (map :db/id pages)
|
|
|
- tx-data (map (fn [pid] [:db/retract pid :block/tags (:db/id class)]) page-ids)]
|
|
|
- (when (seq tx-data)
|
|
|
- (outliner-op/transact! tx-data {:outliner-op :save-block}))))
|
|
|
- (set-data! (get-class-objects class))
|
|
|
- (when-let [f (get-in table [:data-fns :set-row-selection!])]
|
|
|
- (f {})))))})]
|
|
|
- {:disable-on-pointer-down? true
|
|
|
+ [:div.font-medium.opacity-60.as-toggle
|
|
|
+ "Tagged Nodes"]
|
|
|
+ (fn []
|
|
|
+ [:div.mt-2
|
|
|
+ (views/view view-entity {:config config
|
|
|
+ :data data
|
|
|
+ :set-data! set-data!
|
|
|
+ :views-title (class-views class views view-entity {:set-view-entity! set-view-entity!
|
|
|
+ :set-views! set-views!})
|
|
|
+ :columns columns
|
|
|
+ :add-new-object! (if (= :logseq.class/Asset (:db/ident class))
|
|
|
+ (fn [_e]
|
|
|
+ (shui/dialog-open!
|
|
|
+ (fn []
|
|
|
+ [:div.flex.flex-col.gap-2
|
|
|
+ [:div.font-medium "Add assets"]
|
|
|
+ (filepicker/picker
|
|
|
+ {:on-change (fn [_e files]
|
|
|
+ (p/do!
|
|
|
+ (editor-handler/upload-asset! nil files :markdown editor-handler/*asset-uploading? true)
|
|
|
+ (set-data! (get-class-objects class))
|
|
|
+ (shui/dialog-close!)))})])))
|
|
|
+ #(add-new-class-object! class set-data!))
|
|
|
+ :show-add-property? true
|
|
|
+ :add-property! (fn []
|
|
|
+ (state/pub-event! [:editor/new-property {:block class
|
|
|
+ :class-schema? true}]))
|
|
|
+ :on-delete-rows (fn [table selected-rows]
|
|
|
+ (let [pages (filter ldb/page? selected-rows)
|
|
|
+ blocks (remove ldb/page? selected-rows)]
|
|
|
+ (p/do!
|
|
|
+ (ui-outliner-tx/transact!
|
|
|
+ {:outliner-op :delete-blocks}
|
|
|
+ (when (seq blocks)
|
|
|
+ (outliner-op/delete-blocks! blocks nil))
|
|
|
+ (let [page-ids (map :db/id pages)
|
|
|
+ tx-data (map (fn [pid] [:db/retract pid :block/tags (:db/id class)]) page-ids)]
|
|
|
+ (when (seq tx-data)
|
|
|
+ (outliner-op/transact! tx-data {:outliner-op :save-block}))))
|
|
|
+ (set-data! (get-class-objects class))
|
|
|
+ (when-let [f (get-in table [:data-fns :set-row-selection!])]
|
|
|
+ (f {})))))})])
|
|
|
+ {:disable-on-pointer-down? true
|
|
|
:default-collapsed? (:sidebar? config)})])))
|
|
|
|
|
|
(rum/defcs class-objects < rum/reactive db-mixins/query mixins/container-id
|