diff --git a/frontend/src/uxbox/main/data/shapes.cljs b/frontend/src/uxbox/main/data/shapes.cljs index 3c9fd535d..75ec369de 100644 --- a/frontend/src/uxbox/main/data/shapes.cljs +++ b/frontend/src/uxbox/main/data/shapes.cljs @@ -656,14 +656,22 @@ (->> (get-in state [:workspace :selected]) (map #(update-stroke-attrs % opts))))))) + +;; --- Move Selected Layer + +(s/def ::direction #{:up :down}) + +(deftype MoveSelectedLayer [loc] + udp/IPageUpdate + ptk/UpdateEvent + (update [_ state] + (let [selected (get-in state [:workspace :selected])] + (impl/move-layer state selected loc)))) + (defn move-selected-layer [loc] - (reify - udp/IPageUpdate - ptk/UpdateEvent - (update [_ state] - (let [selected (get-in state [:workspace :selected])] - (impl/move-layer state selected loc))))) + {:pre [(us/valid? ::direction loc)]} + (MoveSelectedLayer. loc)) ;; --- Point Alignment (with Grid) diff --git a/frontend/src/uxbox/main/ui/workspace/shortcuts.cljs b/frontend/src/uxbox/main/ui/workspace/shortcuts.cljs index fe435a234..9d315ebe8 100644 --- a/frontend/src/uxbox/main/ui/workspace/shortcuts.cljs +++ b/frontend/src/uxbox/main/ui/workspace/shortcuts.cljs @@ -50,14 +50,15 @@ :ctrl+down #(st/emit! (uds/move-selected-layer :down)) :ctrl+shift+up #(st/emit! (uds/move-selected-layer :top)) :ctrl+shift+down #(st/emit! (uds/move-selected-layer :bottom)) - :shift+up #(move-selected :up :fast) - :shift+down #(move-selected :down :fast) - :shift+right #(move-selected :right :fast) - :shift+left #(move-selected :left :fast) - :up #(move-selected :up :std) - :down #(move-selected :down :std) - :right #(move-selected :right :std) - :left #(move-selected :left :std)}) + ;; :shift+up #(move-selected :up :fast) + ;; :shift+down #(move-selected :down :fast) + ;; :shift+right #(move-selected :right :fast) + ;; :shift+left #(move-selected :left :fast) + ;; :up #(move-selected :up :std) + ;; :down #(move-selected :down :std) + ;; :right #(move-selected :right :std) + ;; :left #(move-selected :left :std) + }) ;; --- Shortcuts Setup Functions