Skip to main content

@novorender/api / OfflineViewState

Class: OfflineViewState

Defined in: @novorender/src/offline/state.ts:35

Viewstate for offline support UI.

Remarks

This view state serves as a base offline management UI. The purpose is to view and manage offline scenes, such as updating/synchronizing with newer versions online. A service worker will implement the actual offline support for the engine itself and will use the underlying storage objects for read access only. Error and status updates are reported to the logger property. By default it's undefined, so to display status, events and progress, you must assign your own object implementing the Logger interface.

Constructors

Constructor

new OfflineViewState(storage, initialStorageEstimate): OfflineViewState;

Defined in: @novorender/src/offline/state.ts:42

Parameters

ParameterTypeDescription
storageOfflineStorageOPFSThe offline storage used.
initialStorageEstimateundefined | StorageEstimateThe initially estimated storage usage and quotas, if available. You may use navigator.estimate() to get the latest update, although this doesn't necessarily reflect recent changes, hence the term "estimate". See MDN for more details.

Returns

OfflineViewState

Methods

addScene()

addScene(id): Promise<undefined | OfflineScene>;

Defined in: @novorender/src/offline/state.ts:58

Add a new scene to offline storage.

Parameters

ParameterType
idstring

Returns

Promise<undefined | OfflineScene>

The offline scene, or undefined if error.

Remarks

This function will merely mark the scene as an offline candidate. You need to call OfflineScene.sync for the scene to be downloaded and ready for offline use. Errors are logged in the logger.


deleteAll()

deleteAll(): Promise<boolean>;

Defined in: @novorender/src/offline/state.ts:87

Delete all offline data and remove every offline scene.

Returns

Promise<boolean>

True if success, False if an error occurred.

Remarks

Errors are logged in the logger.

Properties

initialStorageEstimate

readonly initialStorageEstimate: undefined | StorageEstimate;

Defined in: @novorender/src/offline/state.ts:46

The initially estimated storage usage and quotas, if available. You may use navigator.estimate() to get the latest update, although this doesn't necessarily reflect recent changes, hence the term "estimate". See MDN for more details.


logger

logger: undefined | Logger;

Defined in: @novorender/src/offline/state.ts:40

Logger for errors and status updates.


scenes

readonly scenes: Map<string, OfflineScene>;

Defined in: @novorender/src/offline/state.ts:37

Map of active offline scenes


storage

readonly storage: OfflineStorageOPFS;

Defined in: @novorender/src/offline/state.ts:44

The offline storage used.