package js_of_ocaml
Compiler from OCaml bytecode to JavaScript
Install
Dune Dependency
Authors
Maintainers
Sources
js_of_ocaml-5.4.0.tbz
sha256=f1215de133867fefdb16e2798a225ee0446469a57462af0deebdd22d2a8d3b94
sha512=610cd22818bc6f0a0163f0eec74f58338e18709a6101639f65e58241a9216ed286c3cb091b41e36a82c926de5f030d718a6e76a493e885e61456047a8da153c9
doc/src/js_of_ocaml/resizeObserver.ml.html
Source file resizeObserver.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
(* Js_of_ocaml library * http://www.ocsigen.org/js_of_ocaml/ * Copyright (C) 2019 Alexander Yanin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, with linking exception; * either version 2.1 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *) open! Import class type resizeObserverSize = object method inlineSize : float Js.readonly_prop method blockSize : float Js.readonly_prop end class type resizeObserverEntry = object method target : Dom.node Js.t Js.readonly_prop method contentRect : Dom_html.clientRect Js.t Js.readonly_prop method borderBoxSize : resizeObserverSize Js.t Js.js_array Js.t Js.readonly_prop method contentBoxSize : resizeObserverSize Js.t Js.js_array Js.t Js.readonly_prop end class type resizeObserverOptions = object method box : Js.js_string Js.t Js.writeonly_prop end class type resizeObserver = object method observe : #Dom.node Js.t -> unit Js.meth method observe_withOptions : #Dom.node Js.t -> resizeObserverOptions Js.t -> unit Js.meth method unobserve : #Dom.node Js.t -> unit Js.meth method disconnect : unit Js.meth end let empty_resize_observer_options () : resizeObserverOptions Js.t = Js.Unsafe.obj [||] let resizeObserver = Js.Unsafe.global##._ResizeObserver let is_supported () = Js.Optdef.test resizeObserver let resizeObserver : ( (resizeObserverEntry Js.t Js.js_array Js.t -> resizeObserver Js.t -> unit) Js.callback -> resizeObserver Js.t) Js.constr = resizeObserver let observe ~(node : #Dom.node Js.t) ~(f : resizeObserverEntry Js.t Js.js_array Js.t -> resizeObserver Js.t -> unit) ?(box : Js.js_string Js.t option) () : resizeObserver Js.t = let obs = new%js resizeObserver (Js.wrap_callback f) in (match box with | None -> obs##observe node | Some box -> let opts = empty_resize_observer_options () in opts##.box := box; obs##observe_withOptions node opts); obs
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>