So, in this case, would you want to grab the om.core/value during the
render and have the click handler close over *that* instead of the cursor?
That is, put!ting it on the channel would mean “delete this thing I’m
displaying, if it still exists”.

Peter
​

On Wed, Oct 15, 2014 at 12:39 PM, David Nolen <[email protected]>
wrote:

> Yes that's correct. om.core/value will give you the rendered value,
> deref will give you the current state.
>
> David
>
> On Wed, Oct 15, 2014 at 12:38 PM, Leon Grapenthin
> <[email protected]> wrote:
> > On Tuesday, October 14, 2014 7:58:28 PM UTC+2, David Nolen wrote:
> >> om.core/value, om.core/path, om.core/state are not going to change and
> >>
> >> can be used.
> >
> > Thank you for clearing that up
> >
> >> In the case of om.core/value the value may well be stale
> >>
> >> - thus deref - but even then the value may have been deleted.
> >>
> >
> > With om.core/value the user can rely that only the value /she can see/
> could be deleted (if it is still up to date), because it is consistent with
> what was rendered to her.
> >
> > With deref, a value that /she has not yet seen/ could be deleted,
> because it could have been changed but not yet rendered.
> >
> > Is this correct?
> >
> >>
> >>
> >> David
> >>
> >>
> >>
> >> On Tue, Oct 14, 2014 at 1:43 PM, Leon Grapenthin
> >>
> >> <[email protected]> wrote:
> >>
> >> > Thank you, Moritz. However, since it is not documented, how do you
> know? By study of the implementation?
> >>
> >> >
> >>
> >> > Since there is not a single defn- in om.core, is it really API
> exposed and there to stay?
> >>
> >> >
> >>
> >> > Would using it like I suggested in the example really have
> consistency benefits?
> >>
> >> >
> >>
> >> >
> >>
> >> > On Sunday, October 12, 2014 11:48:54 PM UTC+2, Moritz Ulrich wrote:
> >>
> >> >> Am 12.10.2014 21:33 schrieb "Leon Grapenthin" <[email protected]
> >:
> >>
> >> >>
> >>
> >> >> >
> >>
> >> >>
> >>
> >> >> > Regarding this (
> https://github.com/swannodette/om/wiki/Basic-Tutorial#debugging-om-components)
> section of the om tutorial:
> >>
> >> >>
> >>
> >> >> >
> >>
> >> >>
> >>
> >> >> > Couldn't the click handler in theory delete a version of the
> contact that has not been rendered to the user?
> >>
> >> >>
> >>
> >> >> >
> >>
> >> >>
> >>
> >> >> > E. g. Wouldn't
> >>
> >> >>
> >>
> >> >> >
> >>
> >> >>
> >>
> >> >> > #js {:onClick (let [rendered-contact (into {} contact)]
> >>
> >> >>
> >>
> >> >> >                 (fn [e] (put! delete rendered-contact)))}
> >>
> >> >>
> >>
> >> >> >
> >>
> >> >>
> >>
> >> >> > be the only way to make the click handler consistent with what is
> displayed to the user? - If so, could we get an operation to retrieve the
> rendered value during the render phase as non-cursor to close over it
> (probably also deref)?
> >>
> >> >>
> >>
> >> >> `om/value'
> >>
> >> >>
> >>
> >> >> > If not, how should I take "Thus you are not allowed to use cursors
> outside of the render phase as this is almost certainly a concurrency bug!"
> - How exactly is that /not/ what we are doing in the click handler of the
> tutorial?
> >>
> >> >>
> >>
> >> >> >
> >>
> >> >>
> >>
> >> >> > If it doesn't make a difference, please explain why.
> >>
> >> >>
> >>
> >> >> >
> >>
> >> >>
> >>
> >> >> > --
> >>
> >> >>
> >>
> >> >> > 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.
> >
> > --
> > 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.
>



-- 
Visuals: http://youtube.com/peeja
Words: http://blog.peeja.com/
Conversation: (603) 548-1203

-- 
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