Note that you can make strings and other types act as cursor, but I believe
its discouraged. Should you want to anyway, take a look at this example:
https://github.com/swannodette/om/blob/master/examples/typeahead/src/core.cljs


On 4 May 2014 16:05, Daniel Kersten <[email protected]> wrote:

> Accessing a cursor only creates a cursor if the resulting value is a
> vector or map. :customer is a string, so accessing it will return a string
> and not a cursor.
>
> If you want to be able to trasnact! or update! :customer, you will need to
> wrap it in a vector or map.
>
> https://github.com/swannodette/om/wiki/Cursors#creating-sub-cursors
>
>
> On 4 May 2014 15:33, Roger Gilliar <[email protected]> wrote:
>
>> My component looks like this:
>>
>> (defn- domain-data [_ owner]
>>   (reify
>>
>>     om/IInitState
>>     (init-state [_]
>>       {:domain nil})
>>
>>     om/IWillMount
>>     (will-mount [state]
>>       (th/poll @chan (fn[data] (om/set-state! owner :domain data)))) ;;
>> sets the state with a selected domain
>>
>>     om/IRenderState
>>     (render-state [this state]
>>      (if-let [domain (:domain state)]
>>         (dom/div nil
>>                  (om/build header/header-comp domain)
>>                  (om/build (customer-info/create update-chan) (get-in
>> state [:domain :customer-info])))
>>         (dom/span nil "")))))
>>
>> It seems that (get-in state [:domain :customer-info]) doesn't create a
>> cursor. Because some lines down the source I get
>>
>> No protocol method ITransact.-transact! defined for type
>> cljs.core/PersistentArrayMap
>>
>> as soon as I try to call
>>
>> (om/transact! app-state assoc key value);  app-state is the result of the
>> get-in call
>>
>> BTW:
>>
>> The customer-info/app-state may look like this:
>> {:customer-nr "12332233", :customer "a company", :ip "122.122.1.23",
>> :description "database server"}
>>
>>
>>
>>
>> --
>> 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 [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/clojurescript.
>>
>
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to