Flexible Flux implementation
Creates a new Action. Returns an Observable/Function.
.listen(onSuccess, onFail)
Subscribe to an Action. Returns a function, that will unsubscribe you, once called.onSuccess
oronFail
callback will be called depending on the Action result.
Creates multiple actions based on the provided spec
. Supports sub-actions:
var Actions = Fusor.createActions({
Parent: {
$: function () {}, // optional Parent implementation
Child: 'Child',
Child2: function () {} // optional Child implementation
},
Parent2: ['Child3', 'Child4'] // alternative syntax
})
Actions can later be used as:
Actions.Parent()
, Actions.Parent2.Child3()
etc.
Note: Action call returns a Promise
. They can be chained as regular promises for sequential action chains.
Creates a new Store. Returns a Fusor.Store
object.
initialize
method, it will be used as aconstructor
.initialState
property will be used a Store's initial state.
Store constructor, extend it to create a new Store using ES6 syntax
-
.getInitialState()
Returns Store initial state -
.getState()
&.get()
Returns current state -
.setState(stateDiff)
&.set(stateDiff)
AppliesstateDiff
to the current state and propagates it to Observers. -
.resetState()
&.reset()
Resets state to its original form. -
.listen(onData)
Subscribes an Observer to Store state changes usingonData
callback. -
.listenTo(action[, onSuccess, onFail])
Subscribes Store toaction
calls. OptionalonSuccess
andonFail
methods may be used. -
.on<
ActionName
>()
&.on<
ActionName
>Fail()
If no callbacks provided to.listenTo()
method, appropriate Store methods will be used as callbacks.ActionName
is formed as (ParentName + ChildName):Parent
,ParentChild
,Parent2Child3
etc.
Actions constructor, extend it to create a new Actions using ES6 syntax
Simplifies Component subscription/unsubscription to Store.
.listenTo(store, onData)
Subscribes Component to Store changes. Unsubscribes oncomponentWillUnmount
.
Returns current store
state as a JSON
string.
Applies savedState
to store
and propagates changes to Components. Can be used for server-side rendering.
Runs a sequence of Actions and returns a promise that will be resolved, when they all finish running.
Promise constructor
Observable constructor