Skip to content

Commit 49b8db9

Browse files
1 parent 6aebdf5 commit 49b8db9

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
@@ -50,6 +50,7 @@
5050
* Runtime: reimplement the runtime of weak and ephemeron (#1707)
5151
* Lib: Modify Typed_array API for compatibility with WebAssembly
5252
* Lib: add details element and toggle event (#1728)
53+
* Lib: implement popover API (#1734)
5354
* Toplevel: no longer set globals for toplevel initialization
5455
* Runtime: precompute constants used in `caml_lxm_next` (#1730)
5556
* Runtime: cleanup runtime

lib/js_of_ocaml/dom_html.ml

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

562562
method onpointerup : ('self t, pointerEvent t) event_listener writeonly_prop
563563

564+
method onbeforetoggle : ('self t, toggleEvent t) event_listener writeonly_prop
565+
566+
method ontoggle : ('self t, toggleEvent t) event_listener writeonly_prop
567+
564568
method dispatchEvent : event t -> bool t meth
565569
end
566570

@@ -739,6 +743,8 @@ and element = object
739743

740744
method scrollHeight : int prop
741745

746+
method popover : js_string t opt prop
747+
742748
method getClientRects : clientRectList t meth
743749

744750
method getBoundingClientRect : clientRect t meth
@@ -751,6 +757,18 @@ and element = object
751757

752758
method blur : unit meth
753759

760+
method hidePopover : unit meth
761+
762+
method showPopover : unit meth
763+
764+
method showPopover_options : _ -> unit meth
765+
766+
method togglePopover : bool t meth
767+
768+
method togglePopover_force : bool t -> bool t meth
769+
770+
method togglePopover_options : _ -> bool t meth
771+
754772
inherit eventTarget
755773
end
756774

@@ -971,6 +989,8 @@ module Event = struct
971989

972990
let waiting = Dom.Event.make "waiting"
973991

992+
let beforetoggle = Dom.Event.make "beforetoggle"
993+
974994
let toggle = Dom.Event.make "toggle"
975995

976996
let make = Dom.Event.make
@@ -1201,6 +1221,10 @@ class type inputElement = object ('self)
12011221

12021222
method selectionEnd : int prop
12031223

1224+
method popovertarget : element t opt prop
1225+
1226+
method popovertargetaction : js_string t prop
1227+
12041228
method onselect : ('self t, event t) event_listener prop
12051229

12061230
method onchange : ('self t, event t) event_listener prop
@@ -1276,6 +1300,10 @@ class type buttonElement = object
12761300
method _type : js_string t readonly_prop
12771301

12781302
method value : js_string t prop
1303+
1304+
method popovertarget : element t opt prop
1305+
1306+
method popovertargetaction : js_string t prop
12791307
end
12801308

12811309
class type labelElement = object
@@ -1392,8 +1420,6 @@ class type detailsElement = object ('self)
13921420
method open_ : bool t prop
13931421

13941422
method name : js_string t prop
1395-
1396-
method ontoggle : ('self t, toggleEvent t) event_listener prop
13971423
end
13981424

13991425
class type imageElement = object ('self)

lib/js_of_ocaml/dom_html.mli

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

575575
method onpointerup : ('self t, pointerEvent t) event_listener writeonly_prop
576576

577+
method onbeforetoggle : ('self t, toggleEvent t) event_listener writeonly_prop
578+
579+
method ontoggle : ('self t, toggleEvent t) event_listener writeonly_prop
580+
577581
method dispatchEvent : event t -> bool t meth
578582
end
579583

@@ -756,6 +760,8 @@ and element = object
756760

757761
method scrollHeight : int prop
758762

763+
method popover : js_string t opt prop
764+
759765
method getClientRects : clientRectList t meth
760766

761767
method getBoundingClientRect : clientRect t meth
@@ -768,6 +774,18 @@ and element = object
768774

769775
method blur : unit meth
770776

777+
method hidePopover : unit meth
778+
779+
method showPopover : unit meth
780+
781+
method showPopover_options : _ -> unit meth
782+
783+
method togglePopover : bool t meth
784+
785+
method togglePopover_force : bool t -> bool t meth
786+
787+
method togglePopover_options : _ -> bool t meth
788+
771789
inherit eventTarget
772790
end
773791

@@ -1010,6 +1028,10 @@ class type inputElement = object ('self)
10101028

10111029
method selectionEnd : int prop
10121030

1031+
method popovertarget : element t opt prop
1032+
1033+
method popovertargetaction : js_string t prop
1034+
10131035
method onselect : ('self t, event t) event_listener prop
10141036

10151037
method onchange : ('self t, event t) event_listener prop
@@ -1085,6 +1107,10 @@ class type buttonElement = object
10851107
method _type : js_string t readonly_prop
10861108

10871109
method value : js_string t prop
1110+
1111+
method popovertarget : element t opt prop
1112+
1113+
method popovertargetaction : js_string t prop
10881114
end
10891115

10901116
class type labelElement = object
@@ -1201,8 +1227,6 @@ class type detailsElement = object ('self)
12011227
method open_ : bool t prop
12021228

12031229
method name : js_string t prop
1204-
1205-
method ontoggle : ('self t, toggleEvent t) event_listener prop
12061230
end
12071231

12081232
class type imageElement = object ('self)
@@ -2553,6 +2577,8 @@ module Event : sig
25532577

25542578
val waiting : mediaEvent t typ
25552579

2580+
val beforetoggle : toggleEvent t typ
2581+
25562582
val toggle : toggleEvent t typ
25572583

25582584
val make : string -> 'a typ

0 commit comments

Comments
 (0)