make Map.create take Brr.El

This commit is contained in:
Swrup 2022-05-19 16:16:37 +02:00
parent 0370fb97a2
commit 68ee03bead
4 changed files with 12 additions and 6 deletions

View file

@ -1,7 +1,7 @@
(executable
(name main)
(modules main)
(libraries leaflet)
(libraries brr leaflet)
(modes js)
(preprocess
(pps js_of_ocaml-ppx)))

View file

@ -1,7 +1,11 @@
(* create map *)
let map =
let container_id = "map" in
Leaflet.Map.create container_id
let container =
match Brr.Document.find_el_by_id Brr.G.document (Jstr.of_string "map") with
| None -> failwith "map container not found"
| Some el -> el
in
Leaflet.Map.create container
(* setup map *)
let () =

View file

@ -6,8 +6,10 @@ let of_jv = Fun.id
let to_jv = Fun.id
let create ?(options = Jv.null) container_id =
Jv.call Global.leaflet "map" [| Jv.of_string container_id; options |]
let create ?(options = Jv.null) container =
match Brr.El.at (Jstr.of_string "id") container with
| None -> failwith "container doesn't have id"
| Some id -> Jv.call Global.leaflet "map" [| Jv.of_jstr id; options |]
let invalidate_size map =
let (_ : Jv.t) = Jv.call map "invalidateSize" [| Jv.true' |] in

View file

@ -2,7 +2,7 @@
type t
val create : ?options:Jv.t -> string -> t
val create : ?options:Jv.t -> Brr.El.t -> t
val invalidate_size : t -> unit