bellroy/elm-actor-framework-template-html/1.0.0

Formerly tricycle/elm-actor-framework-template-html. Search finds this package by either name.

Framework.Template.Html

type alias HtmlTemplate appActors =
HtmlTemplate appActors

Your parsed template that originated from a string containing valid Html

Creation

blank : HtmlTemplate appActors

An empty, blank HtmlTemplate

Components appActors
-> String
-> Result String (HtmlTemplate appActors)

Parse a string containing valid Html into an HtmlTemplate

Add Components to replace Html Elements with your Actors based on their nodeNames. (e.g. <my-actor></my-actor>)

fromNodes : List (Node appActors) -> HtmlTemplate appActors

Turn a list of Nodes into an HtmlTemplate

This could be useful for when you use your own Html Parser.

Rendering

toNodes : HtmlTemplate appActors -> List (Node appActors)

Turn a HtmlTemplate into a list of Nodes

This could be useful for when you want to write or use another method of rendering the template in question.

Dict String Pid
-> (Pid -> Maybe (Html msg))
-> HtmlTemplate appActors
-> List (Html msg)

Render your template

Dict String Pid
-> Dict String String
-> (Pid -> Maybe (Html msg))
-> HtmlTemplate appActors
-> List (Html msg)

Render your template and interpolate any string matching your interpolation dictionary.

renderAndInterpolate
    Dict.empty
    (Dict.fromList [ ( "foo", "bar" ) ])
    (fromNodes [ Text "<p>#[foo]</p>" ])
    temmplate
toString : HtmlTemplate appActors -> String

Turn a HtmlTemplate into a string

Utility

HtmlTemplate appActors
-> List
{ actor : appActors
, reference : String
, actorElement : ActorElement appActors
}

Get the actor, reference and original complete node from a template that are meant to be spawned.

The String is a reference that can be used on the render function in combination with a Pid to render the Actors output.