Browse code

Use a better unique key for commandline suggestions

Using just the name has problems when there are multiple entries
with the same name (e.g. Shield).
Using the index to disambiguate is a stop-gap solution; we will
need to handle duplicates better, going forward.

Joseph Weston authored on 18/12/2021 21:53:59
Showing 1 changed files
... ...
@@ -59,14 +59,15 @@
59 59
      [:ul.suggestions
60 60
       (let [{:keys [options selected]} @suggestions]
61 61
          (for [[idx x] (enumerated options)]
62
-           ^{:key x} [:li
63
-                      {:class (when (= idx selected) :selected)
64
-                       :on-mouse-enter #(re-frame/dispatch [::events/hover-suggestion idx])
65
-                       :on-click #(do (.preventDefault %)
66
-                                      (re-frame/dispatch [::events/click-suggestion
67
-                                                          (-> % .-target .-parentElement .-parentElement)
68
-                                                          x]))}
69
-                      x]))]]))
62
+           ^{:key [idx x]}
63
+            [:li
64
+             {:class (when (= idx selected) :selected)
65
+              :on-mouse-enter #(re-frame/dispatch [::events/hover-suggestion idx])
66
+              :on-click #(do (.preventDefault %)
67
+                             (re-frame/dispatch [::events/click-suggestion
68
+                                                 (-> % .-target .-parentElement .-parentElement)
69
+                                                 x]))}
70
+             x]))]]))
70 71
 
71 72
 (defn title []
72 73
   (let [name (re-frame/subscribe [::subs/name])]