gadgetobrr/lib/slippery_slidy.mli

44 lines
987 B
OCaml
Raw Normal View History

2024-04-11 15:46:46 +02:00
open Brr
type datalist =
{ datalist_id : string
; datalist_el : El.t
}
2024-04-12 10:46:11 +02:00
(** - [id] is the id of the actual_slider_el element
- [el] is the slider container element
- [actual_slider_el] is the input slider *)
2024-04-11 15:46:46 +02:00
type slider =
2024-04-12 10:46:11 +02:00
{ id : string
; el : El.t
; actual_slider_el : El.t
2024-04-11 15:46:46 +02:00
}
(** Any is for continuous slider *)
type step_kind =
| Any
| Step_value of float
val step_to_string : step_kind -> string
val mk_datalist : Jstr.t list -> string -> datalist
(** make a div of class "slippery-slidy-container" containing a slider of class
"slippery-slidy-slider" wi id [id]
don't forget to add your slider and datalist to your document *)
val mk_slider :
min:float
-> max:float
-> step:step_kind
-> value:float
-> id:string
-> label:string
-> datalist_id:string option
-> slider
val add_slider_input_listener : slider -> (float -> unit) -> unit
2024-04-12 10:46:11 +02:00
(** setup listener to drag and move slider with mouse *)
val mk_dragable : slider -> unit