 (defui ^:once ItemAdder
   static om/IQuery
   (query [this] [:item-adder/input-value])
-  static
-  fc/InitialAppState
+  static fc/InitialAppState
   (initial-state [c params] {:item-adder/input-value ""})
   Object
   (render [this]


(defui ^:once ItemList
  static om/IQuery
  (query [this] [:item-list/sort-by-desc-added-at {:item-list/items (om/get-query Item)}])
  static
  fc/InitialAppState
  (initial-state [c params] {:item-list/sort-by-desc-added-at true
                             :item-list/items [(fc/get-initial-state Item {:added-at 1508175827181
                                                                           :text "hello"
                                                                           :checked? false})
                                               (fc/get-initial-state Item {:added-at 1508175970713
                                                                           :text "world"
                                                                           :checked? true})]})
  Object
  (render [this]
          (let [{:keys [item-list/items]} (om/props this)]
            (if (empty? items)
              (dom/div
               #js {:className "item-list"}

(def ui-item-adder (om/factory ItemAdder))

(defui ^:once Item
  static om/Ident
  (ident [this props] [:item/by-id (:db/id props)])
  static om/IQuery
  (query [this] [:db/id :item/added-at :item/text :item/checked?])
  static fc/InitialAppState
  (initial-state [c {:keys [id added-at text]}] {:db/id id
                                                 :item/added-at added-at
                                                 :item/text text
                                                 :item/checked? false})
  Object
  (render [this]
          (let [{:keys [item/added-at item/text item/checked?]} (om/props this)]
