Newer
Older
open Notifications;
open Webapi.Dom;
Webapi.Dom.window -> Window.addEventListener("load", _ => {
let spanPermissions: option<Dom.element> =
Document.querySelector(Webapi.Dom.document, "#span-permission");
let setSpanText = (span: option<Dom.element>, text: string): unit => {
let _ = span -> Belt.Option.map(span => Element.setInnerText(span, text));
};
let _ = spanPermissions -> setSpanText(Notification.permission);
let _ = Notification.requestPermission()
-> Promise.then(str => {
spanPermissions -> setSpanText(str) -> Promise.resolve
let _ = Document.querySelector(Webapi.Dom.document, "#button-request")
-> Belt.Option.map(btn => {
btn -> Element.addEventListener("click", onBtnRequestClick);
let _ = Notification.makeWithoutOptions("You have been notified.");
};
let onBtnWithOptionsClick = (_: Dom.event): unit => {
let options: NotificationOptions.t<string> = {
...NotificationOptions.init(Js.Nullable.return("unused data."))
let _ = Document.querySelector(Webapi.Dom.document, "#button-notify")
btn -> Element.addEventListener("click", onBtnNotifyClick);
let _ = Document.querySelector(Webapi.Dom.document, "#button-with-options")
btn -> Element.addEventListener("click", onBtnWithOptionsClick);