refactor: remove both :block/scheduled-ast and :block/deadline-ast

This commit is contained in:
Tienson Qin
2021-03-23 14:55:01 +08:00
parent 9a08353037
commit 4dddaa66ab
5 changed files with 63 additions and 31 deletions

View File

@@ -8,11 +8,12 @@
[frontend.config :as config]
[datascript.core :as d]
[clojure.set :as set]
[medley.core :as medley]))
[medley.core :as medley]
[frontend.format.block :as block]))
(defn blocks->vec-tree [col]
(let [col (map (fn [h] (cond->
h
h
(not (:block/dummy? h))
(dissoc h :block/meta))) col)
parent? (fn [item children]
@@ -110,35 +111,35 @@
[block]
(let [repo (:block/repo block)]
(db/transact! repo
[{:block/uuid (:block/uuid block)
:block/collapsed? true}])))
[{:block/uuid (:block/uuid block)
:block/collapsed? true}])))
(defn collapse-blocks!
[block-ids]
(let [repo (state/get-current-repo)]
(db/transact! repo
(map
(fn [id]
{:block/uuid id
:block/collapsed? true})
block-ids))))
(map
(fn [id]
{:block/uuid id
:block/collapsed? true})
block-ids))))
(defn expand-block!
[block]
(let [repo (:block/repo block)]
(db/transact! repo
[{:block/uuid (:block/uuid block)
:block/collapsed? false}])))
[{:block/uuid (:block/uuid block)
:block/collapsed? false}])))
(defn expand-blocks!
[block-ids]
(let [repo (state/get-current-repo)]
(db/transact! repo
(map
(fn [id]
{:block/uuid id
:block/collapsed? false})
block-ids))))
(map
(fn [id]
{:block/uuid id
:block/collapsed? false})
block-ids))))
(defn pre-block-with-only-title?
[repo block-id]
@@ -231,3 +232,31 @@
(remove #(empty? (second %))))
(->> (filter-f ref-blocks)
(remove nil?)))))))
;; TODO: reduced version
(defn walk-block
[block check? transform]
(let [result (atom nil)]
(walk/postwalk
(fn [x]
(if (check? x)
(reset! result (transform x))
x))
(:block/body block))
@result))
(defn get-timestamp
[block typ]
(walk-block block
(fn [x]
(and (block/timestamp-block? x)
(= typ (first (second x)))))
#(second (second %))))
(defn get-scheduled-ast
[block]
(get-timestamp block "Scheduled"))
(defn get-deadline-ast
[block]
(get-timestamp block "Deadline"))