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.