            (fn [k a old-s new-s]
              (println ":filters-watcher")
              (println new-s)
-             (when (or (some #(not (nil? (get-in % [1 :search-str]))) new-s)
-                       (u/nil-or-empty? new-s))
-               (start-redrawing-table :filter-redraw))
+             ;; если есть какое-то значение для числового поиска
+;;              (when (or (some #(and (not (nil? (get-in % [1 :search-str])))
+;;                                    (= :numeric (get-in % [1 :filter-type])))
+;;                              new-s)
+;;                        ;; если обнулили
+;;                        (u/nil-or-empty? new-s))
+               (start-redrawing-table :filter-redraw)
+;;              )
 ;;                ;; фильтруем
 ;;                (filter-rows! new-s)
 ;;                ;; заодно сортируем

            :disabled (nil? active-col-filter)
            :style {:text-align "right"}
            :value (u/value-or-empty-str (:search-str active-col-filter))
            :on-change #(change-col-filter-search-str column
                                                      (dom/target-value %))
            }]])

(rum/defc text-filter-view

          rows))


(defn filter-rows-text
  "Отфильтровать строки по тексту"
  [rows field-name value]
  (filter #(re-find (re-pattern value) (get % field-name)) rows))


(defn get-filtered-rows
  "Получить отфильтрованные строки из общего списка строк и параметров"
  [init-rows filter-params]
  (if (u/nil-or-empty? filter-params)
    init-rows
    (reduce-kv (fn [rows flt-index flt-params]
                 (println "flt-params: " flt-params)
                 (-> rows
                     (#(if (:search-str flt-params)
                         (case (:filter-type flt-params)
                           :numeric (filter-rows-numeric %
                                                         (:filter-cond flt-params)
                                                         (:field-name flt-params)
                                                         (:search-str flt-params))
                           :text (filter-rows-text %
                                                   (:field-name flt-params)
                                                   (:search-str flt-params)))
                         %))))
               init-rows
               filter-params)))
;;; -------------------------------------------

(defn filter-rows!
  [filter-params]
  (println "filter-rows!")
  (println filter-params)
  (let [init-rows @init-rows
        filtered-rows (get-filtered-rows init-rows filter-params)]
    (when (= filtered-rows init-rows) (loading-off!))
    (reset! (rum/cursor-in app-state [:rows]) filtered-rows)
    ))



