         :on-focus util/move-cursor-to-end!
         :value @input
         :on-change (fn [e]
-                     (let [new-input (-> e .-target .-value)]
+                     (let [new-input (-> e .-target .-value)
+                           parsed (util/parse-int new-input initial-value)]
                        (reset! input new-input)
-                       (change-fn (assoc edited-row-data
-                                         k
-                                         (util/parse-int new-input
-                                                         initial-value)))))}])))
+                       (change-edited! (assoc edited-row-data
+                                              k
+                                              parsed))))}])))
 
 (defn- dropdown-editor-key-down
-  [e v change-fn options]
+  [e v change-edited! options]
   (let [keycode (.-keyCode e)
         position (first (keep-indexed #(if (= %2 v) %1)
                                       (map :key options)))]

                       "reabledit-cell-editor-dropdown-list__item--selected")
              :on-click (fn [e]
                          (.stopPropagation e)
                          (change-fn key)
                          (disable-edit!))}
             [:span.reabledit-cell__content value]])]]))}))


      38 (do
           (.preventDefault e)
           (if (zero? position)
             (change-edited! (-> options last :key))
             (change-edited! (:key (nth options (dec position))))))
      40 (do
           (.preventDefault e)
           (if (= position (-> options count dec))
             (change-edited! (-> options first :key))
             (change-edited! (:key (nth options (inc position))))))
      nil)))

(defn dropdown-editor
  [_ edited-row-data k change-edited! disable-edit! {:keys [options]}]
  (reagent/create-class
   {:component-did-mount #(.focus (reagent/dom-node %))
    :reagent-render
    (fn [_ edited-row-data k change-edited! disable-edit! {:keys [options]}]
      (let [v (get edited-row-data k)
            change-edited! #(change-edited! (assoc edited-row-data k %))]
        [:div.reabledit-cell-editor-dropdown
         {:tabIndex 0
          :on-key-down #(dropdown-editor-key-down % v change-edited! options)}
         [:span.reabledit-cell__content
          (-> (filter #(= (:key %) v) options)
              first
