0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-03 12:59:12 -05:00

Merge pull request #3555 from penpot/superalex-navigate-up-in-layer-hierarchy-with-shift-enter-shortcut

 Navigate up in layer hierarchy with Shift+Enter shortcut
This commit is contained in:
Aitor Moreno 2023-08-24 13:42:12 +02:00 committed by GitHub
commit ff14208a95
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 37 additions and 3 deletions

View file

@ -1,5 +1,11 @@
# CHANGELOG
## 1.19.2
### :sparkles: New features
- Navigate up in layer hierarchy with Shift+Enter shortcut [Taiga #5734](https://tree.taiga.io/project/penpot/us/5734)
## 1.19.1
### :bug: Bugs fixed

View file

@ -988,6 +988,23 @@
(rx/of (dwe/start-edition-mode id)
(dwdp/start-path-edit id)))))))))
(defn select-parent-layer
[]
(ptk/reify ::select-parent-layer
ptk/WatchEvent
(watch [_ state _]
(let [selected (wsh/lookup-selected state)
objects (wsh/lookup-page-objects state)
shapes-to-select
(->> selected
(reduce
(fn [result shape-id]
(let [parent-id (dm/get-in objects [shape-id :parent-id])]
(if (and (some? parent-id) (not= parent-id uuid/zero))
(conj result parent-id)
(conj result shape-id))))
(d/ordered-set)))]
(rx/of (dws/select-shapes shapes-to-select))))))
;; --- Change Page Order (D&D Ordering)

View file

@ -509,6 +509,10 @@
:subsections [:navigation-workspace]
:fn #(st/emit! (dw/select-next-shape))}
:select-parent-layer {:tooltip (ds/shift ds/enter)
:command "shift+enter"
:subsections [:navigation-workspace]
:fn #(emit-when-no-readonly (dw/select-parent-layer))}
;; SHAPE

View file

@ -175,6 +175,7 @@
;; seek for an alternate solution. Maybe use-context?
scroll-node (dom/get-parent-with-data node "scrollContainer")
parent-node (dom/get-parent-at node 2)
first-child-node (dom/get-first-child parent-node)
subid
(when (and single? selected?)
@ -184,9 +185,9 @@
#(let [scroll-distance-ratio (dom/get-scroll-distance-ratio node scroll-node)
scroll-behavior (if (> scroll-distance-ratio 1) "instant" "smooth")]
(if scroll-to
(dom/scroll-into-view! parent-node #js {:block "center" :behavior scroll-behavior :inline "start"})
(dom/scroll-into-view! first-child-node #js {:block "center" :behavior scroll-behavior :inline "start"})
(do
(dom/scroll-into-view-if-needed! parent-node #js {:block "center" :behavior scroll-behavior :inline "start"})
(dom/scroll-into-view-if-needed! first-child-node #js {:block "center" :behavior scroll-behavior :inline "start"})
(reset! scroll-to-middle? true)))))))]
#(when (some? subid)

View file

@ -2704,6 +2704,9 @@ msgstr "Snap to pixel grid"
msgid "shortcuts.start-editing"
msgstr "Start editing"
msgid "shortcuts.select-parent-layer"
msgstr "Select parent layer"
msgid "shortcuts.start-measure"
msgstr "Start measurement"

View file

@ -2778,6 +2778,9 @@ msgstr "Activar alineación a rejilla de pixel"
msgid "shortcuts.start-editing"
msgstr "Comenzar edición"
msgid "shortcuts.select-parent-layer"
msgstr "Seleccionar capa padre"
msgid "shortcuts.start-measure"
msgstr "Comenzar medida"

View file

@ -1 +1 @@
1.19.1
1.19.2