aboutsummaryrefslogtreecommitdiff
path: root/src/animation.ml
diff options
context:
space:
mode:
Diffstat (limited to 'src/animation.ml')
-rw-r--r--src/animation.ml31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/animation.ml b/src/animation.ml
index 7a598e5..35294dc 100644
--- a/src/animation.ml
+++ b/src/animation.ml
@@ -1,26 +1,27 @@
-let mainElt = Document.querySelectorUnsafe "#g-Layout__Main"
-
let isRunning = ref false
-let start ~onHidden ~onEnded =
+let start base ~onStart ~onEnd =
if not !isRunning then
let () = isRunning := true in
- let () = Element.setClassName mainElt "g-Layout__HideMain" in
- let delay = 200 in
+ let () = onStart () in
+ let () = Element.setClassName base "g-Animation" in
+ let delay = 400 in
let _ =
Js.Global.setTimeout
(fun () ->
- let () = onHidden () in
- let () = Element.setClassName mainElt "" in
- let _ =
- Js.Global.setTimeout
- (fun () ->
- let () = onEnded () in
- isRunning := false)
- delay
- in
- ())
+ let () = Element.setClassName base "" in
+ let () = onEnd () in
+ isRunning := false)
delay
in
()
else ()
+
+let replaceChild scrollBase base mkChild =
+ start base
+ ~onStart:(fun _ ->
+ let () = Element.setScrollTop scrollBase 0 in
+ Element.appendChild base (mkChild ()))
+ ~onEnd:(fun _ ->
+ let _ = Element.removeFirstChild base in
+ ())