Skip to content

Commit

Permalink
Lib: implement popover API. (ocsigen#1734)
Browse files Browse the repository at this point in the history
  • Loading branch information
SylvainBoilard authored and hhugo committed Dec 9, 2024
1 parent e0ec46e commit a7414e5
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 4 deletions.
1 change: 1 addition & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
* Runtime: reimplement the runtime of weak and ephemeron (#1707)
* Lib: Modify Typed_array API for compatibility with WebAssembly
* Lib: add details element and toggle event (#1728)
* Lib: implement popover API (#1734)
* Toplevel: no longer set globals for toplevel initialization
* Runtime: precompute constants used in `caml_lxm_next` (#1730)
* Runtime: cleanup runtime
Expand Down
30 changes: 28 additions & 2 deletions lib/js_of_ocaml/dom_html.ml
Original file line number Diff line number Diff line change
Expand Up @@ -557,6 +557,10 @@ and eventTarget = object ('self)

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

method onbeforetoggle : ('self t, toggleEvent t) event_listener writeonly_prop

method ontoggle : ('self t, toggleEvent t) event_listener writeonly_prop

method dispatchEvent : event t -> bool t meth
end

Expand Down Expand Up @@ -735,6 +739,8 @@ and element = object

method scrollHeight : int prop

method popover : js_string t opt prop

method getClientRects : clientRectList t meth

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

method blur : unit meth

method hidePopover : unit meth

method showPopover : unit meth

method showPopover_options : _ -> unit meth

method togglePopover : bool t meth

method togglePopover_force : bool t -> bool t meth

method togglePopover_options : _ -> bool t meth

inherit eventTarget
end

Expand Down Expand Up @@ -967,6 +985,8 @@ module Event = struct

let waiting = Dom.Event.make "waiting"

let beforetoggle = Dom.Event.make "beforetoggle"

let toggle = Dom.Event.make "toggle"

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

method selectionEnd : int prop

method popovertarget : element t opt prop

method popovertargetaction : js_string t prop

method onselect : ('self t, event t) event_listener prop

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

method value : js_string t prop

method popovertarget : element t opt prop

method popovertargetaction : js_string t prop
end

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

method name : js_string t prop

method ontoggle : ('self t, toggleEvent t) event_listener prop
end

class type imageElement = object ('self)
Expand Down
30 changes: 28 additions & 2 deletions lib/js_of_ocaml/dom_html.mli
Original file line number Diff line number Diff line change
Expand Up @@ -565,6 +565,10 @@ and eventTarget = object ('self)

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

method onbeforetoggle : ('self t, toggleEvent t) event_listener writeonly_prop

method ontoggle : ('self t, toggleEvent t) event_listener writeonly_prop

method dispatchEvent : event t -> bool t meth
end

Expand Down Expand Up @@ -748,6 +752,8 @@ and element = object

method scrollHeight : int prop

method popover : js_string t opt prop

method getClientRects : clientRectList t meth

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

method blur : unit meth

method hidePopover : unit meth

method showPopover : unit meth

method showPopover_options : _ -> unit meth

method togglePopover : bool t meth

method togglePopover_force : bool t -> bool t meth

method togglePopover_options : _ -> bool t meth

inherit eventTarget
end

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

method selectionEnd : int prop

method popovertarget : element t opt prop

method popovertargetaction : js_string t prop

method onselect : ('self t, event t) event_listener prop

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

(* Cannot be changed under IE *)
method value : js_string t prop

method popovertarget : element t opt prop

method popovertargetaction : js_string t prop
end

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

method name : js_string t prop

method ontoggle : ('self t, toggleEvent t) event_listener prop
end

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

val waiting : mediaEvent t typ

val beforetoggle : toggleEvent t typ

val toggle : toggleEvent t typ

val make : string -> 'a typ
Expand Down

0 comments on commit a7414e5

Please sign in to comment.