It works!!! :) Thanks so much for walking me through it (and thanks again for a fantastic library!)
I do a *lot* of these sorts of these simple transitions so it's definitely been worth the effort to get this up and running. On Tuesday, October 4, 2016 at 10:30:37 AM UTC-4, Matthew Griffith wrote: > > Oh! You need to add the animation subscription as well. > > Sub.batch this with your current subscriptions > > subscriptions : Model -> Sub Msgsubscriptions model = > Animation.subscription Animate [ model.storyTextStyle ] > > > On Tuesday, October 4, 2016 at 9:28:25 AM UTC-4, Rex van der Spuy wrote: >> >> Thanks Mathew!! >> I've added your code suggestion, but so far no luck yet (FadeInOut is >> called, but not SendStoryComponents) >> >> If anyone wants to take a look at the current Main.elm file where all >> this code is running, it's here: >> >> https://gist.github.com/kittykatattack/f05b42efc6ecf09ddf244bbafd18edb3 >> >> >> On Monday, October 3, 2016 at 5:24:43 PM UTC-4, Matthew Griffith wrote: >>> >>> In your `Animate animMsg` area, you're not returning the cmds, which is >>> how the msg is fired :). >>> >>> Change your code to this: >>> >>> Animate animMsg -> >>> let >>> (newStyle, cmds) = >>> Animation.Messenger.update >>> animMsg >>> model.storyTextStyle >>> in >>> ( { model >>> | storyTextStyle = newStyle >>> } >>> , cmds >>> ) >>> >>> >>> >>> On Monday, October 3, 2016 at 2:09:57 PM UTC-4, Rex van der Spuy wrote: >>>> >>>> Thanks everyone, I like these ideas! >>>> >>>> Here's what I've got so far - but it's not working... yet! :) >>>> Could any of you with more experience with elm-style-animation let me >>>> know what I'm doing wrong? >>>> >>>> I've imported Animation and Animation.Messener, exposing State: >>>> >>>> ``` >>>> import Animation >>>> import Animation.Messenger exposing (State) >>>> ``` >>>> >>>> I created a style for my text called `storyTextStyle` >>>> >>>> ``` >>>> , storyTextStyle : Animation.Messenger.State Msg >>>> >>>> , storyTextStyle = >>>> Animation.style >>>> [ Animation.opacity 1.0 >>>> ] >>>> >>>> ``` >>>> I added it to the view, which displays my story output text >>>> >>>> ``` >>>> div [ storyCardStyle ] >>>> [ p ( Animation.render model.storyTextStyle ++ [ >>>> storyParagraphStyle ]) [ text model.storyOutput ] ] >>>> ``` >>>> >>>> I have an MDL button that triggers a `FadeInOut` update message: >>>> >>>> ``` >>>> , Button.onClick FadeInOut >>>> ``` >>>> >>>> The `FadeInOut` message and `Animate` message are in the `update` >>>> function: >>>> >>>> ``` >>>> Animate animMsg -> >>>> let >>>> (newStyle, cmds) = >>>> Animation.Messenger.update >>>> animMsg >>>> model.storyTextStyle >>>> in >>>> { model >>>> | storyTextStyle = newStyle >>>> } >>>> ! [ ] >>>> >>>> FadeInOut -> >>>> let >>>> newStyle = >>>> Animation.interrupt >>>> [ Animation.to [Animation.opacity 0] >>>> , Animation.Messenger.send SendStoryComponents >>>> , Animation.to [Animation.opacity 1] >>>> ] >>>> model.storyTextStyle >>>> in >>>> { model >>>> | storyTextStyle = newStyle >>>> } >>>> ! [ ] >>>> ``` >>>> >>>> ... all this compiles and I've tested `FadeInOut` with Debug.crash to >>>> make sure it's called - and it is definitely being called when I click the >>>> button. >>>> But, my `SendStoryComponents`, which generates the new text to fade is, >>>> is never called. >>>> Here's `SendStoryComponents` (it uses a port that does some fun stuff >>>> with nlp-compromise.js to generate a random story based on user input and >>>> story templates) >>>> >>>> ``` >>>> SendStoryComponents -> >>>> let >>>> words = >>>> model.words >>>> >>>> toList string = >>>> String.Extra.clean string >>>> |> String.split " " >>>> >>>> >>>> words' = >>>> { places = toList model.places >>>> , livingThings = toList model.livingThings >>>> , objects = toList model.objects >>>> , actions = toList model.actions >>>> , moods = toList model.moods >>>> } >>>> >>>> model' = >>>> { model >>>> | words = words' >>>> } >>>> in >>>> (model', sendStoryComponents(model'.words, >>>> StoryTemplates.stories)) >>>> ``` >>>> (`SendStoryComponents` does work, if I don't call it through the >>>> `FadeInOut` message.) >>>> >>>> Can anyone tell by looking at that why `Animation.Messenger.send` might >>>> not be calling `SendStoryComponents` ? >>>> >>> -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
