package fmlib_browser

  1. Overview
  2. Docs

Module Fmlib_browser.SubscriptionSource

Subscriptions to global events.

Basics

Sourcetype 'm t
Sourceval none : 'm t
Sourceval batch : 'm t list -> 'm t
Sourceval map : ('a -> 'b) -> 'a t -> 'b t

Generic subscription to windows events

Sourceval on_window : string -> 'm Decoder.t -> 'm t

on_window event_type decode

Subscribe to window events of type event_type. Examples

    on_window "resize"  decode
    on_window "keydown" decode

Subscribe to incoming messages from javascript

Sourceval on_message : 'm Decoder.t -> 'm t

on_message decode

Subscribe to incoming messages from the javascript world. If there is an incoming message (a javascript object) then decode the object with the help of the function decode and send the decoded value as a message to the update function of the application.

Subscribe to timer events

Sourceval every : int -> (Time.t -> 'm) -> 'm t

every millis f Subscribe to an event which is fired every millis milliseconds. Use f to map the posix time into a message for the update function.

Subscribe to keyboard events

Sourceval on_keydown : (string -> 'm) -> 'm t

Subscribe to mouse events

The following mouse event subscriptions just decode the clientX and clientY value of the mouse event. But a mouse event has much more information. You can get a customized subscription which decodes more mouse event data by just writing a decoder decode which decodes all values from a mouse event which are of interest and subscribe to the mouse event e.g. by on_window "mouseup" decode.

Sourceval on_mouse_down : (int -> int -> 'm) -> 'm t

Subscribe to mousedown events.

Sourceval on_mouse_move : (int -> int -> 'm) -> 'm t

Subscribe to mousemove events.

Sourceval on_mouse_up : (int -> int -> 'm) -> 'm t

Subscribe to mouseup events.

Subscribe to the window resize event

Sourceval on_resize : (int -> int -> 'm) -> 'm t

on_resize f Subscribe to the window resize event and report the innerWidth and innerHeight properties to the function f to generate the message for the update function.

Subscribe to the window visibility change event

Sourceval on_visibility_change : (string -> 'm) -> 'm t

on_visibility_change f Subscribe to the window visibility change event and report the visibility state which is either "visible" or "hidden" to the function f to generate the message for the update function.