Lint a good chunk of src/main/frontend

Left some TODOs to discuss with others and others for me to finish
This commit is contained in:
Gabriel Horner
2022-01-11 17:34:54 -05:00
parent 3ded9ee1ff
commit 7497d8b396
37 changed files with 325 additions and 364 deletions

View File

@@ -176,7 +176,6 @@
[properties]
(when (seq properties)
(let [properties (seq properties)
properties-order (keys properties)
page-refs (->>
properties
(remove (fn [[k _]]
@@ -274,7 +273,7 @@
{:block/name page-name
:block/original-name original-page-name}
(when with-id?
(if-let [block (db/entity [:block/name page-name])]
(if (db/entity [:block/name page-name])
{}
{:block/uuid (db/new-block-id)}))
(when namespace?
@@ -437,16 +436,15 @@
end-pos)
(utf8/substring utf8-content
(:start-pos meta))))
content-orig content]
(let [content (when content
(let [content (text/remove-level-spaces content format)]
(if (or (:pre-block? block)
(= (:format block) :org))
content
(text/remove-indentation-spaces content (inc (:level block)) false))))]
(if (= format :org)
content
(property/->new-properties content)))))
content (when content
(let [content (text/remove-level-spaces content format)]
(if (or (:pre-block? block)
(= (:format block) :org))
content
(text/remove-indentation-spaces content (inc (:level block)) false))))]
(if (= format :org)
content
(property/->new-properties content))))
(defn- remove-indentations
[format level element]
@@ -500,6 +498,36 @@
block-tags->pages
(update :refs (fn [col] (remove nil? col)))))
(defn extract-blocks*
[blocks pre-block-body pre-block-properties encoded-content]
(let [first-block (first blocks)
first-block-start-pos (get-in first-block [:block/meta :start-pos])
blocks (if (or (seq @pre-block-body)
(seq @pre-block-properties))
(cons
(merge
(let [content (utf8/substring encoded-content 0 first-block-start-pos)
id (get-custom-id-or-new-id {:properties @pre-block-properties})
block {:uuid id
:content content
:level 1
:meta {:start-pos 0
:end-pos (or first-block-start-pos
(utf8/length encoded-content))}
:body @pre-block-body
:properties @pre-block-properties
:properties-order (keys @pre-block-properties)
:refs (get-page-refs-from-properties @pre-block-properties)
:pre-block? true
:unordered true}
block (with-page-block-refs block false)]
(block-keywordize block))
(select-keys first-block [:block/format :block/page]))
blocks)
blocks)
blocks (map (fn [block] (dissoc block :block/anchor)) blocks)]
(with-path-refs blocks)))
(defn extract-blocks
[blocks content with-id? format]
(try
@@ -518,7 +546,7 @@
children []
block-all-content []]
(if (seq blocks)
(let [[block {:keys [start_pos end_pos] :as block-content}] (first blocks)
(let [[block {:keys [start_pos _end_pos] :as block-content}] (first blocks)
block-content (when (string? block-content) block-content)
unordered? (:unordered (second block))
markdown-heading? (and (:size (second block)) (= :markdown format))]
@@ -609,33 +637,7 @@
(reset! pre-block-properties properties)))
(-> (reverse headings)
safe-blocks))))]
(let [first-block (first blocks)
first-block-start-pos (get-in first-block [:block/meta :start-pos])
blocks (if (or (seq @pre-block-body)
(seq @pre-block-properties))
(cons
(merge
(let [content (utf8/substring encoded-content 0 first-block-start-pos)
id (get-custom-id-or-new-id {:properties @pre-block-properties})
block {:uuid id
:content content
:level 1
:meta {:start-pos 0
:end-pos (or first-block-start-pos
(utf8/length encoded-content))}
:body @pre-block-body
:properties @pre-block-properties
:properties-order (keys @pre-block-properties)
:refs (get-page-refs-from-properties @pre-block-properties)
:pre-block? true
:unordered true}
block (with-page-block-refs block false)]
(block-keywordize block))
(select-keys first-block [:block/format :block/page]))
blocks)
blocks)
blocks (map (fn [block] (dissoc block :block/anchor)) blocks)]
(with-path-refs blocks)))
(extract-blocks* blocks pre-block-body pre-block-properties encoded-content))
(catch js/Error e
(js/console.error "extract-blocks-failed")
(log/error :exception e))))
@@ -646,13 +648,13 @@
parents [{:page/id page-id ; db id or a map {:block/name "xxx"}
:block/level 0
:block/level-spaces 0}]
sibling nil
_sibling nil
result []]
(if (empty? blocks)
(map #(dissoc % :block/level-spaces) result)
(let [[block & others] blocks
level-spaces (:block/level-spaces block)
{:block/keys [uuid level parent unordered] :as last-parent} (last parents)
{:block/keys [uuid level parent] :as last-parent} (last parents)
parent-spaces (:block/level-spaces last-parent)
[blocks parents sibling result]
(cond
@@ -696,7 +698,6 @@
:else
(let [[f r] (split-with (fn [p] (<= (:block/level-spaces p) level-spaces)) parents)
left (first r)
parents' (->> (concat f [left]) vec)
parent-id (if-let [block-id (:block/uuid (last f))]
[:block/uuid block-id]
page-id)