mirror of
https://github.com/penpot/penpot.git
synced 2025-06-15 12:01:38 +02:00
🐛 Fix focus losing on text selection.
This commit is contained in:
parent
6cffaafe24
commit
6d6e0ecd21
1 changed files with 17 additions and 3 deletions
|
@ -228,6 +228,7 @@
|
||||||
state (mf/use-state #(parse-content content))
|
state (mf/use-state #(parse-content content))
|
||||||
editor (mf/use-memo #(dwt/create-editor))
|
editor (mf/use-memo #(dwt/create-editor))
|
||||||
self-ref (mf/use-ref)
|
self-ref (mf/use-ref)
|
||||||
|
selecting-ref (mf/use-ref)
|
||||||
|
|
||||||
on-close
|
on-close
|
||||||
(fn []
|
(fn []
|
||||||
|
@ -240,11 +241,22 @@
|
||||||
(let [sidebar (dom/get-element "settings-bar")
|
(let [sidebar (dom/get-element "settings-bar")
|
||||||
cpicker (dom/get-element-by-class "colorpicker-tooltip")
|
cpicker (dom/get-element-by-class "colorpicker-tooltip")
|
||||||
self (mf/ref-val self-ref)
|
self (mf/ref-val self-ref)
|
||||||
target (dom/get-target event)]
|
target (dom/get-target event)
|
||||||
|
selecting? (mf/ref-val selecting-ref)]
|
||||||
(when-not (or (.contains sidebar target)
|
(when-not (or (.contains sidebar target)
|
||||||
(.contains self target)
|
(.contains self target)
|
||||||
(and cpicker (.contains cpicker target)))
|
(and cpicker (.contains cpicker target)))
|
||||||
(on-close))))
|
(if selecting?
|
||||||
|
(mf/set-ref-val! selecting-ref false)
|
||||||
|
(on-close)))))
|
||||||
|
|
||||||
|
on-mouse-down
|
||||||
|
(fn [event]
|
||||||
|
(mf/set-ref-val! selecting-ref true))
|
||||||
|
|
||||||
|
on-mouse-up
|
||||||
|
(fn [event]
|
||||||
|
(mf/set-ref-val! selecting-ref false))
|
||||||
|
|
||||||
on-keyup
|
on-keyup
|
||||||
(fn [event]
|
(fn [event]
|
||||||
|
@ -282,6 +294,8 @@
|
||||||
:class "rich-text"
|
:class "rich-text"
|
||||||
:render-element render-element
|
:render-element render-element
|
||||||
:render-leaf render-text
|
:render-leaf render-text
|
||||||
|
:on-mouse-up on-mouse-up
|
||||||
|
:on-mouse-down on-mouse-down
|
||||||
:on-blur (fn [event]
|
:on-blur (fn [event]
|
||||||
(dom/prevent-default event)
|
(dom/prevent-default event)
|
||||||
(dom/stop-propagation event)
|
(dom/stop-propagation event)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue