fix: unexpected up/down navigation behavior after un/indenting in

navigation mode

close #7091
pull/7096/head
Tienson Qin 2022-10-24 12:04:07 +08:00
parent f490c1c18d
commit 8f55c1d3a6
2 changed files with 42 additions and 32 deletions

View File

@ -17,12 +17,13 @@
(defn clear-idb!
[]
(when @store
(->
(p/let [_ (idb-keyval/clear @store)
dbs (js/window.indexedDB.databases)]
(doseq [db dbs]
(js/window.indexedDB.deleteDatabase (gobj/get db "name"))))
(p/catch (fn [_e]))))
(p/catch (fn [_e])))))
(defn clear-local-storage-and-idb!
[]
@ -31,27 +32,28 @@
(defn remove-item!
[key]
(when key
(when (and key @store)
(idb-keyval/del key @store)))
(defn set-item!
[key value]
(when key
(when (and key @store)
(idb-keyval/set key value @store)))
(defn set-batch!
[items]
(when (seq items)
(when (and (seq items) @store)
(idb-keyval/setBatch (clj->js items) @store)))
(defn get-item
[key]
(when key
(when (and key @store)
(idb-keyval/get key @store)))
(defn get-keys
[]
(idb-keyval/keys @store))
(when @store
(idb-keyval/keys @store)))
(defn get-nfs-dbs
[]

View File

@ -796,35 +796,43 @@
(defn get-prev-block-non-collapsed
[block]
(when-let [blocks (get-blocks-noncollapse)]
(when-let [index (.indexOf blocks block)]
(let [block-id (.-id block)
block-ids (mapv #(.-id %) blocks)]
(when-let [index (.indexOf block-ids block-id)]
(let [idx (dec index)]
(when (>= idx 0)
(nth-safe blocks idx)))))))
(nth-safe blocks idx))))))))
#?(:cljs
(defn get-prev-block-non-collapsed-non-embed
[block]
(when-let [blocks (->> (get-blocks-noncollapse)
remove-embeded-blocks)]
(when-let [index (.indexOf blocks block)]
(let [block-id (.-id block)
block-ids (mapv #(.-id %) blocks)]
(when-let [index (.indexOf block-ids block-id)]
(let [idx (dec index)]
(when (>= idx 0)
(nth-safe blocks idx)))))))
(nth-safe blocks idx))))))))
#?(:cljs
(defn get-next-block-non-collapsed
[block]
(when-let [blocks (get-blocks-noncollapse)]
(when-let [index (.indexOf blocks block)]
(let [block-id (.-id block)
block-ids (mapv #(.-id %) blocks)]
(when-let [index (.indexOf block-ids block-id)]
(let [idx (inc index)]
(when (>= (count blocks) idx)
(nth-safe blocks idx)))))))
(nth-safe blocks idx))))))))
#?(:cljs
(defn get-next-block-non-collapsed-skip
[block]
(when-let [blocks (get-blocks-noncollapse)]
(when-let [index (.indexOf blocks block)]
(let [block-id (.-id block)
block-ids (mapv #(.-id %) blocks)]
(when-let [index (.indexOf block-ids block-id)]
(loop [idx (inc index)]
(when (>= (count blocks) idx)
(let [block (nth-safe blocks idx)
@ -832,7 +840,7 @@
(some (fn [dom] (.contains dom block))))]
(if nested?
(recur (inc idx))
block))))))))
block)))))))))
(defn rand-str
[n]