glucose/dom

Types

Reference to document in JavaScript.

pub type Document

HTMLElement type from JavaScript

pub type HTMLElement

Functions

pub fn clear_interval(id id: Int) -> Nil
pub fn clear_timeout(id id: Int) -> Nil
pub fn event(
  element element: HTMLElement,
  event event: String,
  handler handler: fn() -> Nil,
) -> fn() -> Nil

Add an event listener to an element

let remove_event = event(btn, "click", fn () {
    io.println("pressed!")   
})
remove_event() // removes event listener
pub fn get(obj obj: a, attribute attribute: String) -> Dynamic

Universal getter for JavaScript items

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

Equivalent to

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

Set an attribute of an item

set(app, "innerHTML", "<h1>Hello Gleam!</h1>")
pub fn set_interval(a: fn() -> Nil, b: Float) -> Int
pub fn set_timeout(a: fn() -> Nil, b: Float) -> Int
pub fn update(
  obj obj: a,
  attribute attribute: String,
  updater 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