Skip to content

Commit 049ad69

Browse files
committed
revert tree event handling changes
1 parent b2d6108 commit 049ad69

File tree

2 files changed

+35
-24
lines changed

2 files changed

+35
-24
lines changed

src/renderer/tree/events.cljs

+9-22
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
(ns renderer.tree.events
22
(:require
3-
[re-frame.core :as rf]
4-
[renderer.document.events :as-alias document.e]
5-
[renderer.element.events :as-alias element.e]))
3+
[re-frame.core :as rf]))
64

75
(rf/reg-fx
8-
::focus-item
6+
::focus
97
(fn [[k direction]]
108
(let [list-elements (.from js/Array (.querySelectorAll js/document ".tree-sidebar .list-item-button"))
119
current-el (first (.querySelectorAll js/document (str ".tree-sidebar [data-id='" (name k) "']")))
@@ -18,22 +16,11 @@
1816
(.focus element))))
1917

2018
(rf/reg-event-fx
21-
::key-down
22-
(fn [_ [_ key el-k multi?]]
23-
(case key
24-
"ArrowUp"
25-
{::focus-item [el-k :up]}
19+
::focus-up
20+
(fn [_ [_ k]]
21+
{::focus [k :up]}))
2622

27-
"ArrowDown"
28-
{::focus-item [el-k :down]}
29-
30-
"ArrowLeft"
31-
{:dispatch [::document.e/collapse-el el-k]}
32-
33-
"ArrowRight"
34-
{:dispatch [::document.e/expand-el el-k]}
35-
36-
"Enter"
37-
{:dispatch [::element.e/select el-k multi?]}
38-
39-
nil)))
23+
(rf/reg-event-fx
24+
::focus-down
25+
(fn [_ [_ k]]
26+
{::focus [k :down]}))

src/renderer/tree/views.cljs

+26-2
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,31 @@
7474
(- (* depth collapse-button-width)
7575
(if children? collapse-button-width 0))))
7676

77+
(defn key-down-handler
78+
[e el-k]
79+
(case (.-key e)
80+
"ArrowUp"
81+
(do (.stopPropagation e)
82+
(rf/dispatch [::e/focus-up el-k]))
83+
84+
"ArrowDown"
85+
(do (.stopPropagation e)
86+
(rf/dispatch [::e/focus-down el-k]))
87+
88+
"ArrowLeft"
89+
(do (.stopPropagation e)
90+
(rf/dispatch [::document.e/collapse-el el-k]))
91+
92+
"ArrowRight"
93+
(do (.stopPropagation e)
94+
(rf/dispatch [::document.e/expand-el el-k]))
95+
96+
"Enter"
97+
(do (.stopPropagation e)
98+
(rf/dispatch [::element.e/select el-k (.-ctrlKey e)]))
99+
100+
nil))
101+
77102
(defn list-item-button
78103
[{:keys [key selected? children] :as el} depth hovered? collapsed?]
79104
(let [multiple-selected? @(rf/subscribe [::element.s/multiple-selected?])]
@@ -88,8 +113,7 @@
88113
:ref (fn [this]
89114
(when (and this selected? hovered? (not multiple-selected?))
90115
(dom/scroll-into-view! this)))
91-
:on-key-down #(do (.stopPropagation %)
92-
(rf/dispatch [::e/key-down (.-key %) key (.-ctrlKey %)]))
116+
:on-key-down #(key-down-handler % key)
93117
:draggable true
94118
:on-drag-start #(-> (.-dataTransfer %)
95119
(.setData "key" (name key)))

0 commit comments

Comments
 (0)