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​

S extends PageState = { }

Constructors​

Constructor​

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(): (S | Pick<S, any> | null)[]

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

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

Returns​

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

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​

K extends string | number | symbol

Parameters​

patchState​

S | Pick<S, K> | null

Returns​

number | void

Overrides​

PageStateManager.setState