mirror of
https://github.com/penpot/penpot.git
synced 2025-01-10 08:50:57 -05:00
Merge pull request #4710 from penpot/eva-fix-guides
🐛 Fix move guides with board
This commit is contained in:
commit
8f42be1096
4 changed files with 65 additions and 6 deletions
|
@ -19,6 +19,7 @@
|
|||
|
||||
### :bug: Bugs fixed
|
||||
|
||||
- Fix guides move when board is moved by inputs [Taiga 8010](https://tree.taiga.io/project/penpot/issue/8010)
|
||||
- Fix clickable area of Penptot logo in the viewer [Taiga #7988](https://tree.taiga.io/project/penpot/issue/7988)
|
||||
- Fix constraints dropdown when selecting multiple shapes [Taiga #7686](https://tree.taiga.io/project/penpot/issue/7686)
|
||||
- Layout and scrollign fixes for the bottom palette [Taiga #7559](https://tree.taiga.io/project/penpot/issue/7559)
|
||||
|
|
|
@ -79,20 +79,21 @@
|
|||
(rx/from (->> guides (mapv #(remove-guide %))))))))
|
||||
|
||||
(defmethod ptk/resolve ::move-frame-guides
|
||||
[_ ids]
|
||||
[_ args]
|
||||
(dm/assert!
|
||||
"expected a coll of uuids"
|
||||
(every? uuid? ids))
|
||||
(every? uuid? (:ids args)))
|
||||
(ptk/reify ::move-frame-guides
|
||||
ptk/WatchEvent
|
||||
(watch [_ state _]
|
||||
(let [objects (wsh/lookup-page-objects state)
|
||||
(let [ids (:ids args)
|
||||
object-modifiers (:modifiers args)
|
||||
|
||||
objects (wsh/lookup-page-objects state)
|
||||
|
||||
is-frame? (fn [id] (= :frame (get-in objects [id :type])))
|
||||
frame-ids? (into #{} (filter is-frame?) ids)
|
||||
|
||||
object-modifiers (get state :workspace-modifiers)
|
||||
|
||||
build-move-event
|
||||
(fn [guide]
|
||||
(let [frame (get objects (:frame-id guide))
|
||||
|
|
|
@ -497,7 +497,7 @@
|
|||
(if undo-transation?
|
||||
(rx/of (dwu/start-undo-transaction undo-id))
|
||||
(rx/empty))
|
||||
(rx/of (ptk/event ::dwg/move-frame-guides ids-with-children)
|
||||
(rx/of (ptk/event ::dwg/move-frame-guides {:ids ids-with-children :modifiers object-modifiers})
|
||||
(ptk/event ::dwcm/move-frame-comment-threads ids-with-children)
|
||||
(dwsh/update-shapes
|
||||
ids
|
||||
|
|
57
frontend/test/frontend_tests/logic/frame_guides_test.cljs
Normal file
57
frontend/test/frontend_tests/logic/frame_guides_test.cljs
Normal file
|
@ -0,0 +1,57 @@
|
|||
;; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
;; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
;;
|
||||
;; Copyright (c) KALEIDOS INC
|
||||
(ns frontend-tests.logic.frame-guides-test
|
||||
(:require
|
||||
[app.common.test-helpers.compositions :as ctho]
|
||||
[app.common.test-helpers.files :as cthf]
|
||||
[app.common.test-helpers.shapes :as cths]
|
||||
[app.common.uuid :as uuid]
|
||||
[app.main.data.workspace :as dw]
|
||||
[app.main.data.workspace.guides :as-alias dwg]
|
||||
[cljs.test :as t :include-macros true]
|
||||
[frontend-tests.helpers.pages :as thp]
|
||||
[frontend-tests.helpers.state :as ths]))
|
||||
|
||||
(t/use-fixtures :each
|
||||
{:before thp/reset-idmap!})
|
||||
|
||||
|
||||
(t/deftest test-remove-swap-slot-copy-paste-blue1-to-root
|
||||
(t/async
|
||||
done
|
||||
(let [;; ==== Setup
|
||||
file (-> (cthf/sample-file :file1)
|
||||
(ctho/add-frame :frame1))
|
||||
store (ths/setup-store file)
|
||||
frame1 (cths/get-shape file :frame1)
|
||||
|
||||
guide {:axis :x
|
||||
:frame-id (:id frame1)
|
||||
:id (uuid/next)
|
||||
:position 0}
|
||||
|
||||
;; ==== Action
|
||||
events
|
||||
[(dw/update-guides guide)
|
||||
(dw/update-position (:id frame1) {:x 100})]]
|
||||
|
||||
(ths/run-store
|
||||
store done events
|
||||
(fn [new-state]
|
||||
(let [;; ==== Get
|
||||
file' (ths/get-file-from-store new-state)
|
||||
page' (cthf/current-page file')
|
||||
|
||||
guide' (-> page'
|
||||
:options
|
||||
:guides
|
||||
(vals)
|
||||
(first))]
|
||||
;; ==== Check
|
||||
;; guide has moved
|
||||
(t/is (= (:position guide') 100))))))))
|
||||
|
||||
|
Loading…
Reference in a new issue