Merge pull request #18 from dvcrn/master

Changed to om.next
This commit is contained in:
Dan Motzenbecker 2015-10-31 14:56:40 -04:00
commit 65c93dc0a8
2 changed files with 30 additions and 10 deletions

View File

@ -2,7 +2,7 @@
(set! js/React (js/require "react-native/Libraries/react-native/react-native.js"))
(ns $PROJECT_NAME_HYPHENATED$.core
(:require [om.core :as om]))
(:require [om.next :as om :refer-macros [defui]]))
;; Reset js/React back as the form above loads in an different React
(set! js/React (js/require "react-native/Libraries/react-native/react-native.js"))
@ -17,16 +17,36 @@
;; Set up our Om UI
(defonce app-state (atom {:text "Welcome to $PROJECT_NAME$"}))
(defonce app-state (atom {:app/msg "Welcome to $PROJECT_NAME$"}))
(defn widget [data owner]
(reify
om/IRender
(render [this]
(view {:style {:flexDirection "column" :margin 40}}
(text nil (:text data))))))
(defui WidgetComponent
static om/IQuery
(query [this]
'[:app/msg])
Object
(render [this]
(let [{:keys [app/msg]} (om/props this)]
(view {:style {:flexDirection "column" :margin 40}}
(text nil msg)))))
(om/root widget app-state {:target 1})
;; om.next parser
(defmulti read om/dispatch)
(defmethod read :default
[{:keys [state]} k _]
(let [st @state]
(find st k)
(if-let [[_ v] (find st k)]
{:value v}
{:value :not-found})))
(def reconciler
(om/reconciler
{:state app-state
:parser (om/parser {:read read})
:root-render #(.render js/React %1 %2)
:root-unmount #(.unmountComponentAtNode js/React %)}))
(om/add-root! reconciler WidgetComponent 1)
(defn ^:export init []
((fn render []

View File

@ -5,7 +5,7 @@
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.7.0"]
[org.clojure/clojurescript "1.7.145"]
[org.omcljs/om "0.9.0"]
[org.omcljs/om "1.0.0-alpha13"]
[org.omcljs/ambly "0.6.0"]]
:plugins [[lein-cljsbuild "1.1.0"]]
:cljsbuild {:builds {:dev {:source-paths ["src"]