andrewMacmurray/elm-concurrent-task/1.1.0

NOTE: the latest version is 2.0.0

ConcurrentTask.Browser.Dom

Drop in replacements for elm/browser's's Browser.Dom Tasks.

The JavaScript runner has these tasks builtin by default. There shouldn't be much need to do this, but they can be overridden like so:

NOTE: You can see the built-in implementations here. They follow the Elm.Kernel implementations as closely as possible.

import * as ConcurrentTask from "@andrewmacmurray/elm-concurrent-task"


ConcurrentTask.register({
  tasks: {},
  ports: app.ports,
  builtins: {
    domFocus: customFocus,
    domBlur: customBlur,
    domGetViewport: customGetViewport,
    domGetViewportOf: customGetViewportOf,
    domSetViewport: customSetViewport,
    domSetViewportOf: customSetViewportOf,
    domGetElement: customGetElement,
  }
});

Focus Tasks

focus : String -> ConcurrentTask Error ()

A direct replacement for elm/browser's Browser.Dom.focus.

blur : String -> ConcurrentTask Error ()

A direct replacement for elm/browser's Browser.Dom.blur.

Get Viewport Tasks

getViewport : ConcurrentTask x Viewport

A direct replacement for elm/browser's Browser.Dom.getViewport.

getViewportOf : String -> ConcurrentTask Error Viewport

A direct replacement for elm/browser's Browser.Dom.getViewportOf.

Set Viewport Tasks

setViewport : Float -> Float -> ConcurrentTask x ()

A direct replacement for elm/browser's Browser.Dom.setViewport.

setViewportOf : String -> Float -> Float -> ConcurrentTask Error ()

A direct replacement for elm/browser's Browser.Dom.setViewportOf.

Position Tasks

getElement : String -> ConcurrentTask Error Element

A direct replacement for elm/browser's Browser.Dom.getElement.