                                                          "bold"
                                                          "")
                                           :white-space "nowrap"})}
+
                 (.toFixed duration 1) " ms"]]
               (when true
                 [:tr {:key (str id "-details")}

(defn render-trace-panel []
  (let [filter-input     (r/atom "")
        filter-items     (r/atom [])
        slower-than-ms   (r/atom "")
        slower-than-bold (r/atom "")
        filter-type      (r/atom "contains")]
    (fn []
      (let [slower-than-ms-int   (js/parseInt @slower-than-ms)
            slower-than-bold-int (js/parseInt @slower-than-bold)
            op-filter            (when-not (str/blank? @filter-input)
                                   (filter #(str/includes? (str/lower-case (str (:operation %) " " (:op-type %))) @filter-input)))
            ms-filter            (when-not (str/blank? @slower-than-ms)
                                   (filter #(< slower-than-ms-int (:duration %))))
            transducers          (apply comp (remove nil? [ms-filter op-filter]))
            showing-traces       (sequence transducers @traces)
            padding              {:padding "0px 5px 0px 5px"}
            save-query           (fn [_]
                                   (swap! filter-items conj {:id (random-uuid)
                                                             :query (str/lower-case @filter-input)

             (when (pos? (count @traces))
               [:span "(" [:button.text-button {:on-click #(do (trace/reset-tracing!) (reset! traces []))} "clear"] ")"])]
           [:th "meta"]]
          [:tbody (render-traces showing-traces)]]]))))

(defn resizer-style [draggable-area]
  {:position "absolute" :z-index 2 :opacity 0
