package virtual_dom
- Overview
- No Docs
You can search for identifiers within the package.
in-package search v0.2.0
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=6964ee633d70badc0cc51763f8e2d211c37e5c5388de73ec98aa2d0915d74d6b
md5=fdfe48cea9cb5df272f2462672e0de72
doc/virtual_dom/Virtual_dom/Vdom/Node/index.html
Module Vdom.NodeSource
The values associated with an Element and element like nodes. (that is in practice all nodes that aren't just text).
val create :
Base.string ->
?key:Base.string ->
Virtual_dom__.Attr.t Base.list ->
t Base.list ->
tkey is used by Virtual_dom as a hint during diffing/patching
val create_svg :
Base.string ->
?key:Base.string ->
Virtual_dom__.Attr.t Base.list ->
t Base.list ->
tLike create but for svg nodes (i.e. all to be placed inside <svg> tag). This is needed as browsers maintain separate namespaces for html and svg, and failing to use the correct one may result in delayed redraws.
val widget :
?destroy:
('s -> (Js_of_ocaml.Dom_html.element as 'e) Js_of_ocaml.Js.t -> Base.unit) ->
?update:('s -> 'e Js_of_ocaml.Js.t -> 's * 'e Js_of_ocaml.Js.t) ->
id:('s * 'e Js_of_ocaml.Js.t) Base.Type_equal.Id.t ->
init:(Base.unit -> 's * 'e Js_of_ocaml.Js.t) ->
Base.unit ->
tCreates a Node.t that has fine-grained control over the Browser DOM node.
Callbacks =========
init: Returns a Browser DOM Node and a widget state object. The Browser DOM node is mounted into the dom in the location where the Node.t object would otherwise be.
update: Given the previous Browser DOM Node and state, makes any changes necessary to either and returns a new state and Browser DOM Node.
destroy: Called when this Node.t is removed from the Virtual_dom. Performs any necessary cleanup.
Other =====
The id is used to compare widgets, and is used to make sure that the state from one widget doesn't get interpreted as the state for another. Otherwise, you would be able to implement Obj.magic using this API.
WARNING: While other Virtual_dom APIs shield the application from script injection attacks, the Widget.create function allows a developer to bypass these safeguards and manually create DOM nodes which could allow an attacker to change the behavior of the application or exfiltrate data.
In using this API, you are being trusted to understand and follow security best-practices.