...
|
...
|
@@ -120,11 +120,24 @@
|
120
|
120
|
(let [direction (case (.-key event)
|
121
|
121
|
"ArrowUp" :backward
|
122
|
122
|
"ArrowDown" :forward
|
123
|
|
- nil)]
|
124
|
|
- (if direction
|
125
|
|
- (do (.preventDefault event)
|
126
|
|
- (merge cmd (cycle-history cmd direction)))
|
127
|
|
- cmd))))
|
|
123
|
+ "ArrowRight" :right
|
|
124
|
+ nil)
|
|
125
|
+ tab (= (.-key event) "Tab")
|
|
126
|
+ escape (= (.-key event) "Escape")]
|
|
127
|
+ (println (.-key event) direction (contains? #{:backward :forward} direction))
|
|
128
|
+ (cond
|
|
129
|
+ (contains? #{:backward :forward} direction) (do (.preventDefault event)
|
|
130
|
+ (if (some-> cmd :suggestions :options)
|
|
131
|
+ (merge cmd (cycle-suggestions cmd direction))
|
|
132
|
+ (merge cmd (cycle-history cmd direction))))
|
|
133
|
+ (and (= :right direction)
|
|
134
|
+ (some-> cmd :suggestions :selected)) (do (.preventDefault event)
|
|
135
|
+ (merge cmd (complete-suggestion cmd)))
|
|
136
|
+ tab (do (.preventDefault event)
|
|
137
|
+ (merge cmd (cycle-suggestions cmd :forward)))
|
|
138
|
+ (and escape (some-> cmd :suggestions :options)) (do (.preventDefault event)
|
|
139
|
+ (merge cmd {:suggestions null-suggestions}))
|
|
140
|
+ :else cmd))))
|
128
|
141
|
|
129
|
142
|
(re-frame/reg-event-fx
|
130
|
143
|
::submit-cmd
|