summaryrefslogtreecommitdiff
path: root/lib/elements/input.ml
diff options
context:
space:
mode:
authorSébastien Dailly <sebastien@dailly.me>2022-02-07 15:38:37 +0100
committerSébastien Dailly <sebastien@dailly.me>2022-02-07 16:01:12 +0100
commit77544bdfad2af41514ec1435f706fee87ea2969e (patch)
tree4de23870e08711da25ff92e9670370fc0a74e459 /lib/elements/input.ml
parentad526111f0dd619ae9e0e98ef2253146b58a068f (diff)
Added viz.js code
Diffstat (limited to 'lib/elements/input.ml')
-rwxr-xr-xlib/elements/input.ml23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/elements/input.ml b/lib/elements/input.ml
new file mode 100755
index 0000000..6ae9aa8
--- /dev/null
+++ b/lib/elements/input.ml
@@ -0,0 +1,23 @@
+open Brr
+open Brr_note
+open Note
+
+(** Create a slider element, and a signal with the value *)
+let slider
+ : at:Brr.At.t list -> Brr.El.t * float S.t
+
+ = fun ~at ->
+ let slider =
+ El.input ~at () in
+
+ let init_value = (Jstr.to_float (El.prop El.Prop.value slider)) in
+
+ let event =
+ Evr.on_el
+ Ev.input (fun _ ->
+ let raw_value = El.prop El.Prop.value slider in
+ Jstr.to_float raw_value)
+ slider
+ |> S.hold init_value
+ in
+ slider, event