|
@@ -10,10 +10,14 @@
|
|
|
[frontend.db.async.util :as db-async-util]
|
|
[frontend.db.async.util :as db-async-util]
|
|
|
[frontend.db.file-based.async :as file-async]
|
|
[frontend.db.file-based.async :as file-async]
|
|
|
[frontend.db :as db]
|
|
[frontend.db :as db]
|
|
|
|
|
+ [frontend.db.model :as db-model]
|
|
|
[frontend.persist-db.browser :as db-browser]
|
|
[frontend.persist-db.browser :as db-browser]
|
|
|
[clojure.edn :as edn]
|
|
[clojure.edn :as edn]
|
|
|
[datascript.core :as d]
|
|
[datascript.core :as d]
|
|
|
- [frontend.db.react :as react]))
|
|
|
|
|
|
|
+ [frontend.db.react :as react]
|
|
|
|
|
+ [frontend.date :as date]
|
|
|
|
|
+ [cljs-time.core :as t]
|
|
|
|
|
+ [cljs-time.format :as tf]))
|
|
|
|
|
|
|
|
(def <q db-async-util/<q)
|
|
(def <q db-async-util/<q)
|
|
|
(def <pull db-async-util/<pull)
|
|
(def <pull db-async-util/<pull)
|
|
@@ -174,3 +178,37 @@
|
|
|
(when (and graph path)
|
|
(when (and graph path)
|
|
|
(p/let [result (<pull graph [:file/path path])]
|
|
(p/let [result (<pull graph [:file/path path])]
|
|
|
(:file/content result))))
|
|
(:file/content result))))
|
|
|
|
|
+
|
|
|
|
|
+(defn <get-date-scheduled-or-deadlines
|
|
|
|
|
+ [journal-title]
|
|
|
|
|
+ (when-let [date (date/journal-title->int journal-title)]
|
|
|
|
|
+ (let [future-days (state/get-scheduled-future-days)
|
|
|
|
|
+ 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)]
|
|
|
|
|
+ (p/let [result (<q repo
|
|
|
|
|
+ '[: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
|
|
|
|
|
+ db-model/block-attrs)]
|
|
|
|
|
+ (->> result
|
|
|
|
|
+ db-model/sort-by-left-recursive
|
|
|
|
|
+ db-utils/group-by-page)))))))
|