storage
Module providing the StorageApi factory.
Widgets and activities can access their StorageApi instance by requesting the injection
axStorage
, or use
axGlobalStorage
for shared items.
As such, in most cases only the StorageApi
documentation is relevant.
Contents
Types
Types
StorageApi
Provides a convenient API over the browser's window.localStorage
and window.sessionStorage
objects.
If a browser doesn't support web storage, a warning is logged to the
console
(if available) and a non-persistent in-memory store will be used instead. Note that this can
for example also happen when using Mozilla Firefox with cookies disabled and as such isn't limited to
older browsers.
Additionally, in contrast to plain web storage access, non-string values will be automatically passed
through JSON (de-) serialization on storage or retrieval. All keys will be prepended with a combination
of a fixed (ax.
) and an application-specific namespace (configured using storagePrefix
with fallback
to name
) to avoid naming clashes with other (LaxarJS) web applications running on the same host and
port. All StorageApi
accessor methods should be called without any namespace as it is
prepended automatically.
StorageApi.getItem( key )
Retrieves a value
by key
from the store. JSON deserialization will automatically be applied.
Parameters
Property | Type | Description |
---|---|---|
key | String |
the key of the item to retrieve (without namespace prefix) |
Returns
Type | Description |
---|---|
* |
the value or null if it doesn't exist in the store |
StorageApi.setItem( key, value )
Sets a value
for a key
. The value must be JSON serializable. An existing value will be overwritten.
Parameters
Property | Type | Description |
---|---|---|
key | String |
the key of the item to set (without namespace prefix) |
value | * |
the new value to set |
StorageApi.removeItem( key )
Removes the value associated with key
from the store.
Parameters
Property | Type | Description |
---|---|---|
key | String |
the key of the item to remove (without namespace prefix) |
StorageFactory
The API returned by the module's create
function.
StorageFactory.getLocalStorage( namespace )
Returns a local storage object for a specific local namespace.
Parameters
Property | Type | Description |
---|---|---|
namespace | String |
the namespace to prepend to keys |
Returns
Type | Description |
---|---|
StorageApi |
the local storage object |
StorageFactory.getSessionStorage( namespace )
Returns a session storage object for a specific local namespace.
Parameters
Property | Type | Description |
---|---|---|
namespace | String |
the namespace to prepend to keys |
Returns
Type | Description |
---|---|
StorageApi |
the session storage object |
StorageFactory.getApplicationLocalStorage()
Returns the local storage object for application scoped keys. This is equivalent to
storage.getLocalStorage( 'app' )
.
Returns
Type | Description |
---|---|
StorageApi |
the application local storage object |
StorageFactory.getApplicationSessionStorage()
Returns the session storage object for application scoped keys. This is equivalent to
storage.getSessionStorage( 'app' )
.
Returns
Type | Description |
---|---|
StorageApi |
the application session storage object |