         (merge (select-keys props [:workspace-id :submission-id])
                {:workflow-id (get-in @state [:selected-workflow :id])}))]])})
 
+(defn- getErrorsFromInputResolutions [inputResolutions]
+  (let [errors (filter (fn [m] (contains? m "error")) inputResolutions)
+        keyedErrors (map utils/keywordize-keys errors)]
+       (map (fn [k] (:error k)) keyedErrors)))
+
+(defn- getErrorInputsFromInputResolutions [inputResolutions]
+  (let [errors (filter (fn [m] (contains? m "error")) inputResolutions)
+        keyedErrors (map utils/keywordize-keys errors)]
+       (map (fn [k] (:inputName k)) keyedErrors)))
 
 (react/defc WorkflowFailuresTable
   {:render

                               (str (:type entity) " " (:name entity)))
                  :content-renderer (fn [entity]
                                      (str (:name entity) " (" (:type entity) ")"))}
                 {:header "Errors" :starting-width 500 :sort-by count
                  :content-renderer (fn [error-list]
                                      [:div {}

       :data (:workflows props)
       :->row (fn [row]
                [{:type (row "entityType") :name (row "entityName")}
                 (getErrorInputsFromInputResolutions (row "inputResolutions"))
                 (getErrorsFromInputResolutions (row "inputResolutions"))])}])})


(react/defc AbortButton
