           :reaction (fn [this bool]
                       (object/merge! this {:open-linked-doc bool})))
 
+(behavior ::open-dialog
+          :triggers #{:open-dialog!}
+          :reaction (fn [opener paths]
+                      (doseq [path paths :when path]
+                        (object/raise opener :open! path))))
+
 (behavior ::open-standard-editor
                   :triggers #{:open!}
                   :reaction (fn [obj path]

;; transient docs
;;**********************************************************

(defui open-input [this]
  [:input {:type "file"}]
  :change (fn []
            (this-as me
                     (when-not (empty? (dom/val me))
                       (object/raise this :open! (dom/val me))))))

(defn save-input [this path]
  (ipc/call this :save-as!

(cmd/command {:command :open-file
              :desc "File: Open file"
              :exec (fn []
                      (open-input opener :open-dialog!))})

(cmd/command {:command :open-path
              :desc "File: Open path"
