The app’s state is split between the Redux store, and per component state when the state does not need to be shared throughout the app.
Redux actions are used to:
- manage edited assets: the edited document as well as the underlying type definition and code
- manage UI state: switch layouts, toggle block visibility, drag blocks and enter / exit full screen.
- communicate with the preview iframe / between blocks
Redux store
The redux store contains:
- the store defined in xrc-cms
- an object named edit containing the specific Edit app store
The Edit app store is structured thus:
{
doc: {} the edited asset's cloud doc,
codeDoc: {} the edited asset's code doc,
typeDef: {} the edited asset's TypeDefinition doc,
logs: [] console logs generated by the preview iframe,
layoutConfigs: {} available layouts,
presetKey: current layout preset name,
layout: {} current preset layout object
}