             size (.-size file)]
         (html
          [:li
-          [:form {:on-submit (partial upload-file! row owner)}
-           (if document-id
-             [:a.title {:href (when document-id
-                                (nav/document-route {:id document-id}))
-                        :title name}
-              name]
-             [:span.title {:title name} name])
-           [:span.size (str (byte->kb size) "kB")]
-           (if-not document-id
-             [:button.upload {:type :submit
-                              :disabled (:working? row)}
-              "Upload"]
-             [:.hide {:on-click (fn [e]
-                                  (when (fn? hide-fn)
-                                    (hide-fn (om/value row)))
-                                  (doto e
-                                    (.preventDefault)
-                                    (.stopPropagation)))}
-              "Hide"])]])))))
+          (if document-id
+            [:a.title {:href (when document-id
+                               (nav/document-route {:id document-id}))
+                       :title name}
+             name]
+            [:span.title {:title name} name])
+          [:span.size (str (byte->kb size) "kB")]
+          (when-not document-id
+            [:.hide {:on-click (fn [e]
+                                 (when (fn? hide-fn)
+                                   (hide-fn (om/value row)))
+                                 (doto e
+                                   (.preventDefault)
+                                   (.stopPropagation)))}
+             "Hide"])])))))
 
 (defn ^:private remove-file! [files file]
   (om/transact! files (fn [files]

      (js/console.warn "Unsupported file type:" (.-type file) file)
      upload)
    (update-in upload [:files]
               #(vec (conj % {:file file})))))

(defn upload-dialog [upload owner _]
  (reify
    om/IRenderState
    (render-state [_ {:keys [mini?]}]
      (let [files (:files upload)

            [cljs.core.async :as async])
  (:require-macros [cljs.core.async.macros :refer [go]]))

(defn ^:private upload-file! [row & [e]]
  (when e
   (.preventDefault e))
  (when-not (:working? row)
    (go
      (try
