        [:div {}
         (when (:filterable? props)
           (let [apply-filter #(swap! state assoc :filtered-data
-                               (react/call :filter-data this (-> (@refs "filter-field") .getDOMNode .-value trim)))]
+                               (react/call :filter-data this props
+                                 (-> (@refs "filter-field") .getDOMNode .-value trim)))]
             [:div {:style {:padding "0 0 1em 1em"}}
              (style/create-text-field {:ref "filter-field" :placeholder "Filter"
                                        :onKeyDown (common/create-key-handler

           ordered-data (if (= :desc (:sort-order @state)) (reverse sorted-data) sorted-data)]
       (take c (drop (* (dec n) c) ordered-data))))
   :filter-data
   (fn [{:keys [props]} & [filter-text]]
     (if (empty? filter-text)
       (:data props)
       (filter

                       (case (:sort-order @state)
                         :asc (swap! state assoc :sort-order :desc)
                         :desc (swap! state dissoc :sort-column :sort-order :key-fn)
                         (assert false "bad state"))
                       (swap! state assoc :sort-column i :sort-order :asc
                         :key-fn (if (= :value sorter)
                                   (fn [row] (nth row i))
