   (init-state [_]
     {:page-number 1
      :pages (async/chan)
-     :tag-changes (async/chan)})
+     :tag-changes (async/chan)
+     :date-changes (async/chan)})
   (will-mount [_]
     ;; Start handling tag change events etc.
     (go-loop []
-      (let [{:keys [pages tag-changes]} (om/get-state owner)
-            [event port] (alts! [pages tag-changes])]
+      (let [{:keys [pages tag-changes date-changes]} (om/get-state owner)
+            [event port] (alts! [pages tag-changes date-changes])]
         (when (and event port)
           (condp = port
             pages

            [pepa.components.draggable :as draggable]
            [goog.events.KeyCodes :as keycodes])
  (:require-macros [cljs.core.async.macros :refer [go go-loop]]
                   [cljs.core.match.macros :refer [match]]))

;;; Editable Title Header


       (om/build tags/tags-input document
                 {:state (om/get-state owner)})]

      (let [formatter (DateTimeFormat. "yyyy-MM-dd")]
        (om/build date-picker document
                  {:init-state {:value (when document_date
                                         (.format formatter document_date))}
                   :state (om/get-state owner)}))
      
      ;; Buttons: Download, Delete, etc.
      [:.buttons
       [:button.download {:on-click #(js/window.open
