Is it true that now with the new om-0.8.0-alpha2 using the cursor here directly would have the same effect as closing over om/value like discussed in this thread? Or would it then differ from what is rendered?
Thanks, Leon. On Wednesday, October 15, 2014 10:46:24 PM UTC+2, David Nolen wrote: > It just depends, but yes that's one way to do it. > > David > > On Wed, Oct 15, 2014 at 4:31 PM, Peter Jaros <[email protected]> wrote: > > 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. -- 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.
