From 4cd2627892ca6079394976a6fcc9718933ee3c7e Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Sun, 20 Dec 2020 20:24:01 +0800 Subject: [PATCH] fix(editor): page alias should at least contains itself --- src/main/frontend/db/model.cljs | 37 ++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/src/main/frontend/db/model.cljs b/src/main/frontend/db/model.cljs index ce95de3781..f621883025 100644 --- a/src/main/frontend/db/model.cljs +++ b/src/main/frontend/db/model.cljs @@ -294,23 +294,25 @@ (defn page-alias-set [repo-url page] - (->> - (d/q '[:find ?e - :in $ ?page-name % - :where - [?page :page/name ?page-name] - (alias ?page ?e)] - (conn/get-conn repo-url) - page - '[[(alias ?e2 ?e1) - [?e2 :page/alias ?e1]] - [(alias ?e2 ?e1) - [?e1 :page/alias ?e2]] - [(alias ?e3 ?e1) - [?e1 :page/alias ?e2] - [?e2 :page/alias ?e3]]]) - db-utils/seq-flatten - (set))) + (when-let [page-id (:db/id (db-utils/entity repo-url [:page/name page]))] + (->> + (d/q '[:find ?e + :in $ ?page-name % + :where + [?page :page/name ?page-name] + (alias ?page ?e)] + (conn/get-conn repo-url) + page + '[[(alias ?e2 ?e1) + [?e2 :page/alias ?e1]] + [(alias ?e2 ?e1) + [?e1 :page/alias ?e2]] + [(alias ?e3 ?e1) + [?e1 :page/alias ?e2] + [?e2 :page/alias ?e3]]]) + db-utils/seq-flatten + (set)) + (set/union #{page-id}))) (defn get-page-alias-names [repo page-name] @@ -849,6 +851,7 @@ (when (conn/get-conn repo) (let [page-id (:db/id (db-utils/entity [:page/name page])) pages (page-alias-set repo page)] + (prn {:pages pages}) (->> (react/q repo [:page/refed-blocks page-id] {} '[:find (pull ?block [*]) :in $ ?pages