node package manager


Flexible Flux Implementation


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 or onFail callback will be called depending on the Action result.

Creates multiple actions based on the provided spec. Supports sub-actions:

var Actions = Flex.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, that is resolved with a function, that will synchronously propagate changes to subscribed Store. May be used together with Promise.all() in isomorphic apps.

Creates a new Store. Returns a Flex.Store object.

  • initialize method, it will be used as a constructor.
  • 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) Applies stateDiff 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 using onData callback.

  • .listenTo(action[, onSuccess, onFail]) Subscribes Store to action calls. Optional onSuccess and onFail 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 on componentWillUnmount.

Returns current store state as a JSON string.

Applies savedState to store and propagates changes to Components. May be used in isomorphic apps.

Runs a sequence of Actions and returns a promise that will be resolved, when they all finish running. Stores will be reseted before resolving the promise. Can be used for serverside rendering.

Promise constructor

Observable constructor