 
 
 (react/defc Filterer
-  {:get-initial-state
+  {:get-filter-text
+   (fn [{:keys [refs]}]
+     (-> (@refs "filter-field") .getDOMNode .-value trim))
+   :get-initial-state
    (fn [] {:initial true :synced true})
    :render
    (fn [{:keys [state this]}]


         [:div {:style {:float "left" :display "inline-block" :width "33.33%" :padding "2.15em 0em"
                        :verticalAlign "middle"}}
          [:b {} (str left-num " - " right-num)] (str " of " (pluralize num-rows-visible " result")
                                                   (when-not (= num-rows-visible (:num-total-rows props))
                                                     (str " (filtered from " (:num-total-rows props) " total)")))]

         (style/create-unselectable :div {:style {:float "left" :display "inline-block" :width "33.33%"
                                                  :padding "1.6em 0em" :verticalAlign "middle" :textAlign "center"}}
           [:div {:style {:display "inline-block" :padding "0.55em 0.9em"
                          :color (if allow-prev (:button-blue style/colors) (:border-gray style/colors))
                          :cursor (when allow-prev "pointer")}
                  :onClick (when allow-prev #(swap! state update-in [:current-page] dec))}
            (icons/font-icon {:style {:fontSize "70%"}} :angle-left)
            [:span {:style {:paddingLeft "1em"}} "Prev"]]

           [:span {}
            (map (fn [n]
                   (let [selected? (= n current-page)]

   :get-initial-state
   (fn [{:keys [props]}]
     {:ordered-columns (vec (map-indexed
                             (fn [index col]
                               (assoc col
                                      :index index :showing? true
                                      :width (or (:starting-width col) 100)
                                      :starting-width (or (:starting-width col) 100)))
                             (:columns props)))
      :dragging? false})
   :render
   (fn [{:keys [this state props refs]}]
     (let [paginator-above (= :above (:paginator props))
           paginator-below (= :below (:paginator props))
           paginator [Paginator {:ref "paginator"
                                 :num-total-rows (count (:data props))
                                 :onChange #(react/call :set-body-rows this)}]]
       [:div {}
        (when (or (:filterable? props) (:reorderable-columns? props))
          [:div {:style {:padding "0 0 1em 1em"}}
           (when (:filterable? props)
             [:div {:style {:float "left" :marginRight "1em"}}
              [Filterer {:ref "filterer" :onFilter #(react/call :set-body-rows this)}]])
           (when (:reorderable-columns? props)
             [:div {:style {:float "left"}}
              [comps/Button {:icon :gear :title-text "Select Columns..." :ref "col-edit-button"
