From d01b2e372dae78cc0986d943672aaab95085bdb0 Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Wed, 12 Apr 2023 23:04:12 +0800 Subject: [PATCH] fix: scheduled and deadline --- src/main/frontend/db/model.cljs | 58 +++++++++++++++++---------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/src/main/frontend/db/model.cljs b/src/main/frontend/db/model.cljs index 6ae870c317..8b96d90524 100644 --- a/src/main/frontend/db/model.cljs +++ b/src/main/frontend/db/model.cljs @@ -1269,34 +1269,36 @@ independent of format as format specific heading characters are stripped" [journal-title] (when-let [date (date/journal-title->int journal-title)] (let [future-days (state/get-scheduled-future-days) - date-format "yyyyMMdd" - current-day (tf/parse (tf/formatter date-format) (str date)) - future-day (->> (t/plus current-day (t/days future-days)) - (tf/unparse date-format))] - (when-let [repo (state/get-current-repo)] - (->> (react/q repo [:custom :scheduled-deadline journal-title] - {:use-cache? false} - '[:find [(pull ?block ?block-attrs) ...] - :in $ ?day ?future ?block-attrs - :where - (or - [?block :block/scheduled ?d] - [?block :block/deadline ?d]) - [(get-else $ ?block :block/repeated? false) ?repeated] - [(get-else $ ?block :block/marker "NIL") ?marker] - [(not= ?marker "DONE")] - [(not= ?marker "CANCELED")] - [(not= ?marker "CANCELLED")] - [(<= ?d ?future)] - (or-join [?repeated ?d ?day] - [(true? ?repeated)] - [(>= ?d ?day)])] - date - future-day - block-attrs) - react - (sort-by-left-recursive) - db-utils/group-by-page))))) + date-format (tf/formatter "yyyyMMdd") + current-day (tf/parse date-format (str date)) + future-day (some->> (t/plus current-day (t/days future-days)) + (tf/unparse date-format) + (parse-long))] + (when future-day + (when-let [repo (state/get-current-repo)] + (->> (react/q repo [:custom :scheduled-deadline journal-title] + {:use-cache? false} + '[:find [(pull ?block ?block-attrs) ...] + :in $ ?day ?future ?block-attrs + :where + (or + [?block :block/scheduled ?d] + [?block :block/deadline ?d]) + [(get-else $ ?block :block/repeated? false) ?repeated] + [(get-else $ ?block :block/marker "NIL") ?marker] + [(not= ?marker "DONE")] + [(not= ?marker "CANCELED")] + [(not= ?marker "CANCELLED")] + [(<= ?d ?future)] + (or-join [?repeated ?d ?day] + [(true? ?repeated)] + [(>= ?d ?day)])] + date + future-day + block-attrs) + react + (sort-by-left-recursive) + db-utils/group-by-page)))))) (defn- pattern [name] (re-pattern (str "(?i)(^|[^\\[#0-9a-zA-Z]|((^|[^\\[])\\[))"