Gjallarhorn.Bindable


ApplicationCore<'Model, 'Nav, 'Message>

Namespace: Gjallarhorn.Bindable.Framework

The core information required for an application

Constructors

ConstructorDescription
new(...)
Signature: (initialModel:'Model * navUpdate:(ApplicationCore<'Model,'Nav,'Message> -> 'Nav -> unit) * update:('Message -> 'Model -> 'Model) * binding:IComponent<'Model,'Nav,'Message>) -> ApplicationCore<'Model,'Nav,'Message>

CompiledName: .ctor

Instance members

Instance memberDescription
AddLogger(logger)
Signature: (logger:('Model -> 'Message -> 'Model -> unit)) -> unit

Add a logger to this application

Binding
Signature: IComponent<'Model,'Nav,'Message>

The function which binds the model to the view

CompiledName: get_Binding

InstallContext(ctx)
Signature: ctx:SynchronizationContext -> unit

Install the proper synchronization context for navigation operations

Model
Signature: ISignal<'Model>

The current model as a signal

CompiledName: get_Model

Navigation(msg)
Signature: msg:'Nav -> unit

The navigation dispatcher for pumping messages

Update(message)
Signature: message:'Message -> unit

Push an update message to the model

UpdateAsync(message)
Signature: message:'Message -> Async<unit>

Push an update message asynchronously to the model

UpdateLog
Signature: IObservable<'Model * 'Message * 'Model>

An stream that reports all updates as original model, message, new model

CompiledName: get_UpdateLog

Fork me on GitHub