gadgetobrr/examples/slider.ml

34 lines
944 B
OCaml
Raw Normal View History

2024-04-11 15:46:46 +02:00
(* This add a slidder to into <main>
moving the slider print its value to the console *)
open Brr
2024-04-16 02:15:55 +02:00
open Slippery_slidy
2024-04-11 15:46:46 +02:00
let append_el_to_main el =
let main =
match El.find_first_by_selector (Jstr.v "main") with
| Some main -> main
| None -> failwith "append_el_to_main: main element not found"
in
El.append_children main [ el ];
()
let () =
let datalist =
2024-04-16 02:15:55 +02:00
mk_datalist
2024-04-11 15:46:46 +02:00
(List.map Jstr.of_float [ 2.; 3.; 5.; 8.; 13. ])
"my-slider-datalist"
in
let slider =
2024-04-16 02:15:55 +02:00
mk_slider ~min:0. ~max:100. ~step:Any ~value:50. ~id:"my-slider"
~label:"Important slider, slide carefully"
2024-04-11 15:46:46 +02:00
~datalist_id:(Some datalist.datalist_id)
in
2024-04-16 02:15:55 +02:00
append_el_to_main (el slider);
2024-04-11 15:46:46 +02:00
(* don't forget to add datalist to document too! *)
append_el_to_main datalist.datalist_el;
(* add listener on slider change *)
2024-04-16 02:15:55 +02:00
add_input_listener slider (fun x -> Printf.printf "slider value: %f !!@." x);
mk_dragable slider;
2024-04-11 15:46:46 +02:00
()