glucose/dom

Types

Reference to document in JavaScript.

pub external type Document

HTMLElement type from JavaScript

pub external type HTMLElement

Functions

pub external fn event(
  element: HTMLElement,
  event: String,
  handler: fn() -> Nil,
) -> Nil

Add an event listener to an element

event(btn, "click", fn () {
    io.println("pressed!")   
})
pub external fn get(obj: a, attribute: String) -> t

Universal getter for JavaScript items

io.println(get(elem, "className"))

Equivalent to

console.log(elem["className"])
// console.log(elem.className)
pub external fn set(obj: a, attribute: String, value: b) -> Nil

Set an attribute of an item

set(app, "innerHTML", "<h1>Hello Gleam!</h1>")
pub external fn update(
  obj: a,
  attribute: String,
  updater: fn(b) -> b,
) -> Nil

Update an attribute using an updater function

// assuming `app` is an element
update(app, "innerText", fn (text) {
    text <> " world"
})
Search Document