package quickterface
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Quick-to-program app interfaces in OCaml for terminal and web
Install
dune-project
Dependency
Authors
Maintainers
Sources
quickterface-0.1.0.tbz
sha256=8261e3819564fb5d05f1f313e62b73382152591d7a4349ae5b1b08a4fc2469f3
sha512=e739a971bb0e696ab716c168419c59a3d195922d2d1e4963106a845e3442ffa085b05106f36cceeec9b806bf7d6ef2c31e98db04911fbf73c5ac0ce626449d0f
doc/src/quickterface_web_app_backend/utils.ml.html
Source file utils.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 41open! Core open! Js_of_ocaml module Await_load_element = struct type +'a t = { element : 'a Js.t; promise : unit Lwt.t; } constraint 'a = #Dom_html.element let make ~make_element = let promise, resolver = Lwt.wait () in let element = make_element () in let onload_callback _ = Lwt.wakeup resolver (); Js._false in let _ = Dom_html.addEventListener element Dom_html.Event.load (Dom_html.handler onload_callback) Js._false in let onerror_callback _ = Lwt.wakeup_exn resolver (Failure "Failed to load element"); Js._false in let _ = Dom_html.addEventListener element Dom_html.Event.error (Dom_html.handler onerror_callback) Js._false in { element; promise } let add_element_as_child_to_parent_and_wait_for_load t ~parent = Dom.appendChild parent (t.element :> Dom.node Js.t); t.promise end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>