mirror of
https://github.com/penpot/penpot.git
synced 2025-01-25 07:58:49 -05:00
commit
d9618c6213
4 changed files with 28 additions and 11 deletions
|
@ -23,6 +23,8 @@
|
|||
- Fix expand libraries when search results are present [Taiga #7876](https://tree.taiga.io/project/penpot/issue/7876)
|
||||
- Fix color palette default library [Taiga #8029](https://tree.taiga.io/project/penpot/issue/8029)
|
||||
- Component Library is lost after exporting/importing in .zip format [Github #4672](https://github.com/penpot/penpot/issues/4672)
|
||||
- Fix problem with moving+selection not working properly [Taiga #7943](https://tree.taiga.io/project/penpot/issue/7943)
|
||||
- Fix problem with flex layout fit to content not positioning correctly children [Taiga #7537](https://tree.taiga.io/project/penpot/issue/7537)
|
||||
|
||||
## 2.0.3
|
||||
|
||||
|
|
|
@ -269,6 +269,13 @@
|
|||
(keep (mk-check-auto-layout objects))
|
||||
shapes)))
|
||||
|
||||
(defn full-tree?
|
||||
"Checks if we need to calculate the full tree or we can calculate just a partial tree. Partial
|
||||
trees are more efficient but cannot be done when the layout is centered."
|
||||
[objects layout-id]
|
||||
(let [layout-justify-content (get-in objects [layout-id :layout-justify-content])]
|
||||
(contains? #{:center :end :space-around :space-evenly :stretch} layout-justify-content)))
|
||||
|
||||
(defn sizing-auto-modifiers
|
||||
"Recalculates the layouts to adjust the sizing: auto new sizes"
|
||||
[modif-tree sizing-auto-layouts objects bounds ignore-constraints]
|
||||
|
@ -286,7 +293,7 @@
|
|||
(d/seek sizing-auto-layouts))
|
||||
|
||||
shapes
|
||||
(if from-layout
|
||||
(if (and from-layout (not (full-tree? objects from-layout)))
|
||||
(cgst/resolve-subtree from-layout layout-id objects)
|
||||
(cgst/resolve-tree #{layout-id} objects))
|
||||
|
||||
|
|
|
@ -431,7 +431,7 @@
|
|||
(watch [_ state stream]
|
||||
(let [initial (deref ms/mouse-position)
|
||||
|
||||
stopper (mse/drag-stopper stream)
|
||||
stopper (mse/drag-stopper stream {:interrupt? false})
|
||||
zoom (get-in state [:workspace-local :zoom] 1)
|
||||
|
||||
;; We toggle the selection so we don't have to wait for the event
|
||||
|
|
|
@ -72,12 +72,20 @@
|
|||
(defn drag-stopper
|
||||
"Creates a stream to stop drag events. Takes into account the mouse and also
|
||||
if the window loses focus or the esc key is pressed."
|
||||
[stream]
|
||||
(rx/merge
|
||||
(->> stream
|
||||
(rx/filter blur-event?))
|
||||
(->> stream
|
||||
(rx/filter mouse-event?)
|
||||
(rx/filter mouse-up-event?))
|
||||
(->> stream
|
||||
(rx/filter #(= % :interrupt)))))
|
||||
([stream]
|
||||
(drag-stopper stream nil))
|
||||
([stream {:keys [blur? up-mouse? interrupt?] :or {blur? true up-mouse? true interrupt? true}}]
|
||||
(rx/merge
|
||||
(if blur?
|
||||
(->> stream
|
||||
(rx/filter blur-event?))
|
||||
(rx/empty))
|
||||
(if up-mouse?
|
||||
(->> stream
|
||||
(rx/filter mouse-event?)
|
||||
(rx/filter mouse-up-event?))
|
||||
(rx/empty))
|
||||
(if interrupt?
|
||||
(->> stream
|
||||
(rx/filter #(= % :interrupt)))
|
||||
(rx/empty)))))
|
||||
|
|
Loading…
Add table
Reference in a new issue