fix: caret pos

pull/3949/head
Tienson Qin 2022-01-19 23:12:27 +08:00
parent 73e0c9968a
commit 8d4f44a326
1 changed files with 16 additions and 15 deletions

View File

@ -29,21 +29,22 @@
If you only need character position, use `pos` instead. Do NOT call this."
[input]
(let [pos (util/get-selection-start input)
rect (bean/->clj (.. input (getBoundingClientRect) (toJSON)))]
(try
(-> (gdom/getElement "mock-text")
gdom/getChildren
array-seq
(util/nth-safe pos)
mock-char-pos
(assoc :rect rect))
(catch :default _e
(js/console.log "index error" _e)
{:pos pos
:rect rect
:left js/Number.MAX_SAFE_INTEGER
:top js/Number.MAX_SAFE_INTEGER}))))
(when input
(let [pos (util/get-selection-start input)
rect (bean/->clj (.. input (getBoundingClientRect) (toJSON)))]
(try
(some-> (gdom/getElement "mock-text")
gdom/getChildren
array-seq
(util/nth-safe pos)
mock-char-pos
(assoc :rect rect))
(catch :default _e
(js/console.log "index error" _e)
{:pos pos
:rect rect
:left js/Number.MAX_SAFE_INTEGER
:top js/Number.MAX_SAFE_INTEGER})))))
(defn pos [input]