Skip to main content

Class: PageStateManagerImpl<S>

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:22

The implementation of the PageStateManager interface.

Extends

Type Parameters

S extends PageState = {}

Constructors

new PageStateManagerImpl()

new PageStateManagerImpl<S>(dispatcher): PageStateManagerImpl<S>

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:40

Initializes the page state manager.

Parameters

dispatcher

Dispatcher

Dispatcher fires events to app.

Returns

PageStateManagerImpl<S>

Overrides

PageStateManager.constructor

Properties

onChange()?

optional onChange: (newState) => void

Defined in: packages/core/src/page/state/PageStateManager.ts:7

Parameters

newState

S

Returns

void

Inherited from

PageStateManager.onChange

Accessors

$dependencies

Get Signature

get static $dependencies(): typeof Dispatcher[]

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:31

Returns

typeof Dispatcher[]

Methods

_callOnChangeCallback()

_callOnChangeCallback(newState): void

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:175

Call registered callback function on (@link onChange) with newState.

Parameters

newState

S

Returns

void


_eraseExcessHistory()

_eraseExcessHistory(): void

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:157

Erase the oldest state from storage only if it exceed max defined size of history.

Returns

void


_pushToHistory()

_pushToHistory(newState): void

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:167

Push new state to history storage.

Parameters

newState

S

Returns

void


beginTransaction()

beginTransaction(): void

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:106

Starts queueing state patches off the main state. While the transaction is active every setState call has no effect on the current state.

Note that call to getState after the transaction has begun will return state as it was before the transaction.

Returns

void

Overrides

PageStateManager.beginTransaction


cancelTransaction()

cancelTransaction(): void

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:148

Cancels ongoing transaction. Uncommitted state changes are lost.

Returns

void

Overrides

PageStateManager.cancelTransaction


clear()

clear(): void

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:49

Clears the state history.

Returns

void

Overrides

PageStateManager.clear


commitTransaction()

commitTransaction(): void

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:123

Applies queued state patches to the main state. All patches are squashed and applied with one setState call.

Returns

void

Overrides

PageStateManager.commitTransaction


getAllStates()

getAllStates(): S[]

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:92

Returns the recorded history of page states. The states will be chronologically sorted from the oldest to the newest.

Note that the implementation may limit the size of the recorded history, therefore the complete history may not be available.

Returns

S[]

The recorded history of page states.

Overrides

PageStateManager.getAllStates


getState()

getState(): S

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:85

Returns the current page state.

Returns

S

The current page state.

Overrides

PageStateManager.getState


getTransactionStatePatches()

getTransactionStatePatches(): (null | S | Pick<S, any>)[]

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:99

Returns queueing state patches off the main state from the begin of transaction.

Returns

(null | S | Pick<S, any>)[]

State patches from the begin of transaction.

Overrides

PageStateManager.getTransactionStatePatches


setState()

setState<K>(patchState): number | void

Defined in: packages/core/src/page/state/PageStateManagerImpl.ts:59

Sets a new page state by applying the provided patch to the current state.

Type Parameters

K extends string | number | symbol

Parameters

patchState

null | S | Pick<S, K>

Returns

number | void

Overrides

PageStateManager.setState