diff --git a/src/main/frontend/components/all_pages.cljs b/src/main/frontend/components/all_pages.cljs index 344d20e430..a45144ff28 100644 --- a/src/main/frontend/components/all_pages.cljs +++ b/src/main/frontend/components/all_pages.cljs @@ -61,7 +61,7 @@ (views/view {:data data :set-data! set-data! :view-parent (db/get-page common-config/views-page-name) - :view-identity :all-pages + :view-feature-type :all-pages :show-items-count? true :columns columns' :on-delete-rows (fn [table selected-rows] diff --git a/src/main/frontend/components/objects.cljs b/src/main/frontend/components/objects.cljs index de5f9bade1..6faa7f608e 100644 --- a/src/main/frontend/components/objects.cljs +++ b/src/main/frontend/components/objects.cljs @@ -82,7 +82,7 @@ :data data :set-data! set-data! :view-parent class - :view-identity :class-objects + :view-feature-type :class-objects :columns columns :add-new-object! (fn [{:keys [properties]}] (if (= :logseq.class/Asset (:db/ident class)) @@ -168,7 +168,7 @@ (views/view {:config config :data data :view-parent property - :view-identity :property-objects + :view-feature-type :property-objects :set-data! set-data! :columns columns :add-new-object! (fn [{:keys [properties]}] diff --git a/src/main/frontend/components/query/view.cljs b/src/main/frontend/components/query/view.cljs index f729813280..b6ef074ea8 100644 --- a/src/main/frontend/components/query/view.cljs +++ b/src/main/frontend/components/query/view.cljs @@ -50,9 +50,10 @@ set-data! (fn [data] (reset! *result data))] [:div.query-result.w-full (views/view - {:title-key :views.table/live-query-title + {:config {:custom-query? true} + :title-key :views.table/live-query-title :view-entity view-entity - :view-identity :query-result + :view-feature-type :query-result :data result' :set-data! set-data! :columns columns' diff --git a/src/main/frontend/components/reference.cljs b/src/main/frontend/components/reference.cljs index 7d5d1f77c2..bad2c139e3 100644 --- a/src/main/frontend/components/reference.cljs +++ b/src/main/frontend/components/reference.cljs @@ -129,7 +129,7 @@ (seq (:excluded filters))) (views/view {:view-parent page-entity - :view-identity :linked-references + :view-feature-type :linked-references :additional-actions [reference-filter] :data blocks :columns columns'}))) diff --git a/src/main/frontend/components/views.cljs b/src/main/frontend/components/views.cljs index cd33210286..8e69d226c8 100644 --- a/src/main/frontend/components/views.cljs +++ b/src/main/frontend/components/views.cljs @@ -1246,20 +1246,21 @@ (shui/table-footer (add-new-row table)))]])))) (rum/defc list-view < rum/static - [config view-entity result] + [{:keys [config view-feature-type]} view-entity result] (when-let [->hiccup (state/get-component :block/->hiccup)] (let [group-by-page? (not (every? db/page? result)) result (if group-by-page? (group-by :block/page result) - result)] - (->hiccup result - (assoc config - :custom-query? true - :current-block (:db/id view-entity) - :query (:block/title view-entity) - :breadcrumb-show? (if group-by-page? true false) - :group-by-page? group-by-page? - :ref? true))))) + result) + config' (cond-> (assoc config + :current-block (:db/id view-entity) + :query (:block/title view-entity) + :breadcrumb-show? (if group-by-page? true false) + :group-by-page? group-by-page? + :ref? true) + (= view-feature-type :query-result) + (assoc :query (:block/title view-entity)))] + (->hiccup result config')))) (rum/defc gallery-card-item [table view-entity block config] @@ -1398,7 +1399,7 @@ [view-entity table option {:keys [*scroller-ref display-type row-selection]}] (case display-type :logseq.property.view/type.list - (list-view (:config option) view-entity (:rows table)) + (list-view option view-entity (:rows table)) :logseq.property.view/type.gallery (gallery-view (:config option) table view-entity (:rows table) *scroller-ref) @@ -1406,25 +1407,25 @@ (table-view table option row-selection *scroller-ref))) (defn- get-views - [ent view-identity] + [ent view-feature-type] (let [entity (db/entity (:db/id ent)) views (->> (:logseq.property/_view-for entity) (filter (fn [view] - (= view-identity (:logseq.property.view/feature-type view)))))] + (= view-feature-type (:logseq.property.view/feature-type view)))))] (ldb/sort-by-order views))) (defn- create-view! - [view-parent view-identity] + [view-parent view-feature-type] (when-let [page (db/get-case-page common-config/views-page-name)] (p/let [properties (cond-> {:logseq.property/view-for (:db/id view-parent) - :logseq.property.view/feature-type view-identity} - (contains? #{:linked-references :unlinked-references} view-identity) + :logseq.property.view/feature-type view-feature-type} + (contains? #{:linked-references :unlinked-references} view-feature-type) (assoc :logseq.property.view/type (:db/id (db/entity :logseq.property.view/type.list)))) - view-exists? (seq (get-views view-parent view-identity)) + view-exists? (seq (get-views view-parent view-feature-type)) view-title (if view-exists? "" - (case view-identity + (case view-feature-type :linked-references "Linked references" :unlinked-references @@ -1442,7 +1443,7 @@ (db/entity [:block/uuid (:block/uuid result)])))) (rum/defc views-tab < rum/reactive db-mixins/query - [view-parent current-view data {:keys [views set-view-entity! set-views! view-identity show-items-count?]} hover?] + [view-parent current-view data {:keys [views set-view-entity! set-views! view-feature-type show-items-count?]} hover?] [:div.views.flex.flex-row.items-center.flex-wrap.gap-2 (for [view* views] (let [view (db/sub-block (:db/id view*)) @@ -1497,21 +1498,21 @@ :class (str "!px-1 -ml-1 text-muted-foreground hover:text-foreground transition-opacity ease-in duration-300 " (if hover? "opacity-100" "opacity-75")) :on-click (fn [] - (p/let [view (create-view! view-parent view-identity)] + (p/let [view (create-view! view-parent view-feature-type)] (set-views! (concat views [view]))))} (ui/icon "plus" {:size 15}))]) (rum/defc view-head < rum/static [view-parent view-entity table columns input sorting set-input! add-new-object! - {:keys [view-identity title-key additional-actions] + {:keys [view-feature-type title-key additional-actions] :as option}] (let [[hover? set-hover?] (hooks/use-state nil)] [:div.flex.flex-1.flex-wrap.items-center.justify-between.gap-1 {:on-mouse-over #(set-hover? true) :on-mouse-out #(set-hover? false)} [:div.flex.flex-row.items-center.gap-2 - (if (= view-identity :query-result) + (if (= view-feature-type :query-result) [:div.font-medium.opacity-50.text-sm (t (or title-key :views.table/default-title) (count (:rows table)))] @@ -1686,20 +1687,20 @@ (str "view-" (:db/id view-entity'))))) (rum/defc view < rum/static - [{:keys [view-parent view-identity view-entity] :as option}] + [{:keys [view-parent view-feature-type view-entity] :as option}] (let [[view-entity set-view-entity!] (hooks/use-state view-entity) [views set-views!] (hooks/use-state nil)] (hooks/use-effect! (fn [] (let [repo (state/get-current-repo)] - (p/let [_result (db-async/