Skip to content

Commit b0d6373

Browse files
committed
Merge branch 'topic/animate'
2 parents 9b67207 + 6cce5b0 commit b0d6373

File tree

2 files changed

+122
-0
lines changed

2 files changed

+122
-0
lines changed

MODULE.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,32 @@
1111
extend :: forall e a b c. { | a } -> { | b } -> Eff e { | c }
1212

1313

14+
## Module Angular.Animate
15+
16+
### Types
17+
18+
data Animate :: *
19+
20+
type AnimateEff e = Eff (nganimate :: NgAnimate | e) Unit
21+
22+
data NgAnimate :: !
23+
24+
25+
### Values
26+
27+
addClass :: forall e f r. Element -> String -> Maybe (Eff f r) -> Animate -> AnimateEff e
28+
29+
enter :: forall e f r. Element -> Element -> Element -> Maybe (Eff f r) -> Animate -> AnimateEff e
30+
31+
leave :: forall e f r. Element -> Maybe (Eff f r) -> Animate -> AnimateEff e
32+
33+
move :: forall e f r. Element -> Element -> Element -> Maybe (Eff f r) -> Animate -> AnimateEff e
34+
35+
removeClass :: forall e f r. Element -> String -> Maybe (Eff f r) -> Animate -> AnimateEff e
36+
37+
setClass :: forall e f r. Element -> String -> String -> Maybe (Eff f r) -> Animate -> AnimateEff e
38+
39+
1440
## Module Angular.Attributes
1541

1642
### Types

src/Angular/Animate.purs

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
module Angular.Animate
2+
( NgAnimate()
3+
, Animate()
4+
, AnimateEff()
5+
, enter
6+
, leave
7+
, move
8+
, addClass
9+
, removeClass
10+
, setClass
11+
) where
12+
13+
import Control.Monad.Eff
14+
import Data.Function
15+
import Data.Maybe
16+
17+
import Angular.Element (Element())
18+
19+
foreign import data Animate :: *
20+
21+
foreign import data NgAnimate :: !
22+
23+
type AnimateEff e = Eff (nganimate :: NgAnimate | e) Unit
24+
25+
foreign import enterMoveFn
26+
" function enterMoveFn(fn, fromMaybe, element, parent, after, done, $animate){ \
27+
\ return function(){ \
28+
\ return $animate[fn](element, parent, after, fromMaybe(undefined)(done)); \
29+
\ }; \
30+
\ } "
31+
:: forall e f r. Fn7 String
32+
(Eff f r -> Maybe (Eff f r) -> Eff f r)
33+
Element
34+
Element
35+
Element
36+
(Maybe (Eff f r))
37+
Animate
38+
(AnimateEff e)
39+
40+
enter :: forall e f r. Element -> Element -> Element -> Maybe (Eff f r) -> Animate -> AnimateEff e
41+
enter = runFn7 enterMoveFn "enter" fromMaybe
42+
43+
move :: forall e f r. Element -> Element -> Element -> Maybe (Eff f r) -> Animate -> AnimateEff e
44+
move = runFn7 enterMoveFn "move" fromMaybe
45+
46+
foreign import leaveFn
47+
" function leaveFn(fromMaybe, element, done, $animate){ \
48+
\ return function(){ \
49+
\ return $animate.leave(element, fromMaybe(undefined)(done)); \
50+
\ }; \
51+
\ } "
52+
:: forall e f r. Fn4 (Eff f r -> Maybe (Eff f r) -> Eff f r)
53+
Element
54+
(Maybe (Eff f r))
55+
Animate
56+
(AnimateEff e)
57+
58+
leave :: forall e f r. Element -> Maybe (Eff f r) -> Animate -> AnimateEff e
59+
leave = runFn4 leaveFn fromMaybe
60+
61+
foreign import addRemoveClassFn
62+
" function addRemoveClassFn(fn, fromMaybe, element, className, done, $animate){ \
63+
\ return function(){ \
64+
\ return $animate[fn](element, className, fromMaybe(undefined)(done)); \
65+
\ }; \
66+
\ } "
67+
:: forall e f r. Fn6 String
68+
(Eff f r -> Maybe (Eff f r) -> Eff f r)
69+
Element
70+
String
71+
(Maybe (Eff f r))
72+
Animate
73+
(AnimateEff e)
74+
75+
addClass :: forall e f r. Element -> String -> Maybe (Eff f r) -> Animate -> AnimateEff e
76+
addClass = runFn6 addRemoveClassFn "addClass" fromMaybe
77+
78+
removeClass :: forall e f r. Element -> String -> Maybe (Eff f r) -> Animate -> AnimateEff e
79+
removeClass = runFn6 addRemoveClassFn "removeClass" fromMaybe
80+
81+
foreign import setClassFn
82+
" function setClassFn(fromMaybe, element, add, remove, done, $animate){ \
83+
\ return function(){ \
84+
\ return $animate.setClass(element, add, remove, fromMaybe(undefined)(done)); \
85+
\ }; \
86+
\ } "
87+
:: forall e f r. Fn6 (Eff f r -> Maybe (Eff f r) -> Eff f r)
88+
Element
89+
String
90+
String
91+
(Maybe (Eff f r))
92+
Animate
93+
(AnimateEff e)
94+
95+
setClass :: forall e f r. Element -> String -> String -> Maybe (Eff f r) -> Animate -> AnimateEff e
96+
setClass = runFn6 setClassFn fromMaybe

0 commit comments

Comments
 (0)