I've been following a tutorial and adapted slightly. For some reason I keep getting this error when ever I try to transact! or update! the app-state:
Uncaught Error: No protocol method ICollection.-conj defined for type cljs.core/Atom: [object Object] Does anyone know what I'm doing wrong. Heres the code: (ns dashboard.core (:require-macros [cljs.core.async.macros :refer [go alt!]]) (:require [goog.events :as events] [cljs.core.async :refer [put! <! >! chan timeout]] [om.core :as om :include-macros true] [om.dom :as dom :include-macros true] [cljs-http.client :as http])) (enable-console-print!) (println "Hello world!") (def app-state (atom {})) (defn fetch-departments [url] (let [c (chan)] (go ;;(let [{departments :body} (<! (http/get url))] (let [departments [{:department "Departement 1"} {:department "Departement 2"}]] (>! c (vec departments)))) c)) (defn department [{:keys [department]} owner opts] (om/component (dom/li nil department))) (defn department-list [{:keys [departments]}] (om/component (apply dom/ul nil (om/build-all department departments)))) (defn departments-box [app owner opts] (reify om/IInitState (init-state [_] ;; THIS IS THE LINE THAT ERRORS (om/transact! app :departments (fn [] []))) om/IWillMount (will-mount [_] (go (while true (let [departments (<! (fetch-departments (:url opts)))] (.log js/console (pr-str departments)) (om/update! app #(assoc % :departments departments)) ) (<! (timeout (:poll-interval opts)))))) om/IRender (render [_] (dom/h1 nil "Departments") (om/build department-list app)))) (defn om-app [app owner] (om/component (dom/div nil (om/build departments-box app {:opts {:url "http://localhost:3030/api/departments" :poll-interval 2000}})))) (om/root om-app app-state {:target (. js/document (getElementById "main-container"))}) -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojurescript+unsubscr...@googlegroups.com. To post to this group, send email to clojurescript@googlegroups.com. Visit this group at http://groups.google.com/group/clojurescript.