Skip to content

Commit a7414e5

Browse files
SylvainBoilardhhugo
authored andcommitted
1 parent e0ec46e commit a7414e5

File tree

3 files changed

+57
-4
lines changed

3 files changed

+57
-4
lines changed

CHANGES.md

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
* Runtime: reimplement the runtime of weak and ephemeron (#1707)
4040
* Lib: Modify Typed_array API for compatibility with WebAssembly
4141
* Lib: add details element and toggle event (#1728)
42+
* Lib: implement popover API (#1734)
4243
* Toplevel: no longer set globals for toplevel initialization
4344
* Runtime: precompute constants used in `caml_lxm_next` (#1730)
4445
* Runtime: cleanup runtime

lib/js_of_ocaml/dom_html.ml

+28-2
Original file line numberDiff line numberDiff line change
@@ -557,6 +557,10 @@ and eventTarget = object ('self)
557557

558558
method onpointerup : ('self t, pointerEvent t) event_listener writeonly_prop
559559

560+
method onbeforetoggle : ('self t, toggleEvent t) event_listener writeonly_prop
561+
562+
method ontoggle : ('self t, toggleEvent t) event_listener writeonly_prop
563+
560564
method dispatchEvent : event t -> bool t meth
561565
end
562566

@@ -735,6 +739,8 @@ and element = object
735739

736740
method scrollHeight : int prop
737741

742+
method popover : js_string t opt prop
743+
738744
method getClientRects : clientRectList t meth
739745

740746
method getBoundingClientRect : clientRect t meth
@@ -747,6 +753,18 @@ and element = object
747753

748754
method blur : unit meth
749755

756+
method hidePopover : unit meth
757+
758+
method showPopover : unit meth
759+
760+
method showPopover_options : _ -> unit meth
761+
762+
method togglePopover : bool t meth
763+
764+
method togglePopover_force : bool t -> bool t meth
765+
766+
method togglePopover_options : _ -> bool t meth
767+
750768
inherit eventTarget
751769
end
752770

@@ -967,6 +985,8 @@ module Event = struct
967985

968986
let waiting = Dom.Event.make "waiting"
969987

988+
let beforetoggle = Dom.Event.make "beforetoggle"
989+
970990
let toggle = Dom.Event.make "toggle"
971991

972992
let make = Dom.Event.make
@@ -1197,6 +1217,10 @@ class type inputElement = object ('self)
11971217

11981218
method selectionEnd : int prop
11991219

1220+
method popovertarget : element t opt prop
1221+
1222+
method popovertargetaction : js_string t prop
1223+
12001224
method onselect : ('self t, event t) event_listener prop
12011225

12021226
method onchange : ('self t, event t) event_listener prop
@@ -1272,6 +1296,10 @@ class type buttonElement = object
12721296
method _type : js_string t readonly_prop
12731297

12741298
method value : js_string t prop
1299+
1300+
method popovertarget : element t opt prop
1301+
1302+
method popovertargetaction : js_string t prop
12751303
end
12761304

12771305
class type labelElement = object
@@ -1388,8 +1416,6 @@ class type detailsElement = object ('self)
13881416
method open_ : bool t prop
13891417

13901418
method name : js_string t prop
1391-
1392-
method ontoggle : ('self t, toggleEvent t) event_listener prop
13931419
end
13941420

13951421
class type imageElement = object ('self)

lib/js_of_ocaml/dom_html.mli

+28-2
Original file line numberDiff line numberDiff line change
@@ -565,6 +565,10 @@ and eventTarget = object ('self)
565565

566566
method onpointerup : ('self t, pointerEvent t) event_listener writeonly_prop
567567

568+
method onbeforetoggle : ('self t, toggleEvent t) event_listener writeonly_prop
569+
570+
method ontoggle : ('self t, toggleEvent t) event_listener writeonly_prop
571+
568572
method dispatchEvent : event t -> bool t meth
569573
end
570574

@@ -748,6 +752,8 @@ and element = object
748752

749753
method scrollHeight : int prop
750754

755+
method popover : js_string t opt prop
756+
751757
method getClientRects : clientRectList t meth
752758

753759
method getBoundingClientRect : clientRect t meth
@@ -760,6 +766,18 @@ and element = object
760766

761767
method blur : unit meth
762768

769+
method hidePopover : unit meth
770+
771+
method showPopover : unit meth
772+
773+
method showPopover_options : _ -> unit meth
774+
775+
method togglePopover : bool t meth
776+
777+
method togglePopover_force : bool t -> bool t meth
778+
779+
method togglePopover_options : _ -> bool t meth
780+
763781
inherit eventTarget
764782
end
765783

@@ -1007,6 +1025,10 @@ class type inputElement = object ('self)
10071025

10081026
method selectionEnd : int prop
10091027

1028+
method popovertarget : element t opt prop
1029+
1030+
method popovertargetaction : js_string t prop
1031+
10101032
method onselect : ('self t, event t) event_listener prop
10111033

10121034
method onchange : ('self t, event t) event_listener prop
@@ -1088,6 +1110,10 @@ class type buttonElement = object
10881110

10891111
(* Cannot be changed under IE *)
10901112
method value : js_string t prop
1113+
1114+
method popovertarget : element t opt prop
1115+
1116+
method popovertargetaction : js_string t prop
10911117
end
10921118

10931119
class type labelElement = object
@@ -1204,8 +1230,6 @@ class type detailsElement = object ('self)
12041230
method open_ : bool t prop
12051231

12061232
method name : js_string t prop
1207-
1208-
method ontoggle : ('self t, toggleEvent t) event_listener prop
12091233
end
12101234

12111235
class type imageElement = object ('self)
@@ -2527,6 +2551,8 @@ module Event : sig
25272551

25282552
val waiting : mediaEvent t typ
25292553

2554+
val beforetoggle : toggleEvent t typ
2555+
25302556
val toggle : toggleEvent t typ
25312557

25322558
val make : string -> 'a typ

0 commit comments

Comments
 (0)