Module: lib/entities/Module

Base module class

new (require("lib/entities/Module"))(app, name, initState, depends)

Always stateful
Parameters:
Name Type Description
app App
name ModuleName
initState ModuleState
depends Array.<ModuleName>

Members


afterUpdateHooks :Object.<ModuleStateKey, Array.<function()>>

After update hooks for each state key
Type:
  • Object.<ModuleStateKey, Array.<function()>>

app :App

Type:
  • App

beforeUpdateHooks :Object.<ModuleStateKey, Array.<function()>>

Before update hooks for each state key
Type:
  • Object.<ModuleStateKey, Array.<function()>>

depends :Array.<ModuleName>

Type:
  • Array.<ModuleName>

initHooks :Array.<function()>

On module init hooks
Type:
  • Array.<function()>

initState :ModuleState

Type:
  • ModuleState

meta :Object

Type:
  • Object

name :ModuleName

Type:
  • ModuleName

prevState :ModuleState

Type:
  • ModuleState

state :ModuleState

Type:
  • ModuleState

utils :Object.<string, function()>

Pass module utils functions here
Type:
  • Object.<string, function()>

<inner, constant> ACTION_TOGGLE_BULK :string

Reducer action name
Type:
  • string

Methods


getEntityType()

Returns:
Type
EntityType

getState()

Get module state
Returns:
Type
ModuleState

init()

Init the module

onAfterUpdate(key, fn)

Add after update hook
Parameters:
Name Type Description
key ModuleStateKey
fn function

onBeforeUpdate(key, fn)

Add before update hook
Parameters:
Name Type Description
key ModuleStateKey
fn function

onInit(fn)

Add on init hook
Parameters:
Name Type Description
fn function

reducer(state, action)

Redux reducer function
Parameters:
Name Type Description
state ModuleState
action Object redux action
Returns:
Type
ModuleState

setState(nextState)

Update state
Parameters:
Name Type Description
nextState ModuleState

Type Definitions


ModuleStateValue

Type:
  • string