Thank you Jack for this question and later example, it certainly helps a 
newcomer like me :)

Dmitry.
On Sunday, March 16, 2014 11:39:33 PM UTC+4, Jack Schaedler wrote:
> Hi David,
> 
> 
> 
> Thanks for the quick response! Seems to be working just fine now. I must have 
> screwed up something simple when I initially tried it yesterday. 
> 
> 
> 
> 
> 
> For posterity:
> 
> 
> 
> 1) Access the CSSTransitionGroup from cljs:
> 
> (def css-trans-group (-> js/React (aget "addons") (aget 
> "CSSTransitionGroup")))
> 
> 
> 
> 2) Wrap your elements in a css-trans-group just like you would a dom/div or 
> dom/ul or whatever:
> 
> 
> 
> (om/root
> 
>   (fn [app owner]
> 
>     (apply css-trans-group #js {:className "my-class-name" :transitionName 
> "example"}
> 
>       (map (fn [text] (dom/li nil text)) (:list app))))
> 
>   app-state
> 
>   {:target (. js/document (getElementById "app0"))})
> 
> 
> 
> 3) Adhere to the naming convention for transition classes in your css (noting 
> use of 'example' above):
> 
> 
> 
> .example-enter {
> 
>   opacity: 0.01;
> 
>   transition: opacity .5s ease-in;
> 
> }
> 
> 
> 
> .example-enter.example-enter-active {
> 
>   opacity: 1;
> 
> }
> 
> 
> 
> 
> 
> .example-leave {
> 
>   opacity: 1;
> 
>   transition: opacity .5s ease-in;
> 
> }
> 
> 
> 
> .example-leave.example-leave-active {
> 
>   opacity: 0.01;
> 
> }
> 
> 
> 
> 
> 
> Best,
> 
> -jack
> 
> 
> 
> 
> 
> On Saturday, March 15, 2014 5:20:07 PM UTC+1, David Nolen wrote:
> 
> > Several people have successfully used the CSS transition group add on, 
> > hopefully they can chime in.
> 
> > 
> 
> > On Saturday, March 15, 2014, Jack Schaedler <[email protected]> wrote:
> 
> > 
> 
> > Hi David,
> 
> > 
> 
> > 
> 
> > 
> 
> > Thanks heaps for all of your tutorials and work on Om. I've got a nice 
> > little clojurescript app with full undo/redo working with Om thanks to your 
> > tutorials and blog posts, and my goal for today is to work on animations.
> 
> > 
> 
> > 
> 
> > 
> 
> > 
> 
> > As an alternative to the interval within IWillMount, has anyone 
> > successfully used the ReactCSSTransitionGroup 
> > (http://facebook.github.io/react/docs/animation.html) addon within Om? I'm 
> > a newcomer to both cljs and React, and I've unsuccessfully attempted to do 
> > something like:
> 
> > 
> 
> > 
> 
> > 
> 
> > 
> 
> > (def css-trans-group (-> js/React (aget "addons") (aget 
> > "CSSTransitionGroup")))
> 
> > 
> 
> > 
> 
> > 
> 
> > (defn my-component [app owner]
> 
> > 
> 
> >   (reify
> 
> > 
> 
> >     om/IRender
> 
> > 
> 
> >     (render [this]
> 
> > 
> 
> >       (css-trans-group #js {:transitionName "example"}
> 
> > 
> 
> >       (apply dom/div nil
> 
> > 
> 
> >         (om/build-all palette-entry-component palette))))))
> 
> > 
> 
> > 
> 
> > 
> 
> > Is this sort of approach reasonable within Om? Sorry in advance for the 
> > probably silly question!
> 
> > 
> 
> > 
> 
> > 
> 
> > -jack
> 
> > 
> 
> > 
> 
> > 
> 
> > 
> 
> > 
> 
> > 
> 
> > 
> 
> > On Saturday, March 8, 2014 3:08:52 AM UTC+1, David Nolen wrote:
> 
> > 
> 
> > > I would probably do this by hooking into IWillUpdate. Generally whatever 
> > > solution makes sense for React will make sense for Om.
> 
> > 
> 
> > >
> 
> > 
> 
> > >
> 
> > 
> 
> > > David
> 
> > 
> 
> > >
> 
> > 
> 
> > >
> 
> > 
> 
> > >
> 
> > 
> 
> > >
> 
> > 
> 
> > > On Fri, Mar 7, 2014 at 8:35 PM,  <[email protected]> wrote:
> 
> > 
> 
> > >
> 
> > 
> 
> > > Hi Everyone,
> 
> > 
> 
> > >
> 
> > 
> 
> > >
> 
> > 
> 
> > >
> 
> > 
> 
> > > I have an application state
> 
> > 
> 
> > >
> 
> > 
> 
> > >
> 
> > 
> 
> > >
> 
> > 
> 
> > > (def app-state (atom {:index 0 :some-list [1 2 3 4]}))
> 
> > 
> 
> > >
> 
> > 
> 
> > >
> 
> > 
> 
> > >
> 
> > 
> 
> > > When next button is clicked, index is incremented and the corresponding 
> > > item from the :some-list is displayed. Now I want to introduce an 
> > > animation/effect during the transition from one item to another. How 
> > > should I go about it in Om ?
> 
> > 
> 
> > 
> 
> > >
> 
> > 
> 
> > >
> 
> > 
> 
> > >
> 
> > 
> 
> > >
> 
> > 
> 
> > > regards
> 
> > 
> 
> > >
> 
> > 
> 
> > >
> 
> > 
> 
> > >
> 
> > 
> 
> > > --
> 
> > 
> 
> > >
> 
> > 
> 
> > > 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.

Reply via email to