Hoppa till innehåll

Common

All imports from base package are available both on the server and client.

DOM friendly unique identifier for the WebApp.

import { appId } from '@soleil-se/app-util';
console.log(appId); // For example: 12_682d461b1708a9bb1ea13efd

If the WebApp is running in offline mode or not.

import { isOffline } from '@soleil-se/app-util';
console.log(isOffline); // true or false

If the WebApp is running in online mode or not.

import { isOnline } from '@soleil-se/app-util';
console.log(isOnline); // true or false

If the current code is running on the server.

import { isServer } from '@soleil-se/app-util';
console.log(isServer); // true or false

If the current code is running in the browser.

import { isBrowser } from '@soleil-se/app-util';
console.log(isBrowser); // true or false

Get a prefixed namespace unique for app.

Returns: String - Prefixed namespace.

ParamTypeDefault
[prefix]string'app'
import { getNamespace } from '@soleil-se/app-util';
console.log(getNamespace());
// For example: app_12_682d461b1708a9bb1ea13efd
console.log(getNamespace('input'));
// For example: input_12_682d461b1708a9bb1ea13efd
// If the app is in a decoration template the Portlet ID is the same for all instances, so the ID of the decorated node is used as well.
console.log(getNamespace('decoration'));
// For example: decoration_10_3871c02f1754f3aa8f9d4eb_12_70c3d424173b4900fc550e1c

Generate a unique identifier with a random UUID without dashes.

Returns: String - Unique identifier.

ParamTypeDefault
[prefix]string'id'
import { generateId } from '@soleil-se/app-util';
console.log(generateId());
// For example: id_550e8400e29b41d4a716446655440000
console.log(generateId('input'));
// For example: input_550e8400e29b41d4a716446655440000

Get URI for a route.

Returns: String - URI for route.

ParamTypeDescription
routeStringA route.
queryObjectObject with query string parameters
import { getRouteUri } from '@soleil-se/app-util';
console.log(getRouteUri('/items'));
// URI structure: /appresource/{pageId}/{portletId}>/items
import { getRouteUri } from '@soleil-se/app-util';
console.log(getRouteUri('/items', { foo: 'bar' }));
// URI structure: /appresource/{pageId}/{portletId}>/items?foo=bar

Get URI for a resource.

Returns: String - URI for a resource.

ParamTypeDescription
resourceStringA resource.
import { getResourceUri } from '@soleil-se/app-util';
console.log(getResourceUri('/image.png'));
// URI structure: /webapp-files/<webappname>/<webappversion>/image.png

Get props that are passed to app when rendering.

Returns: * | Object - Value or object.

ParamTypeDescription
[key]StringKey for value.
import { getAppProps } from '@soleil-se/app-util';
// Get value with key
const myValue = getAppProps('myValue');
// Or with destructuring
const { myValue } = getAppProps();

stringifyParams(params [, options]) ⇨ String

Section titled “stringifyParams(params [, options]) ⇨ String”

Stringify an object to a query string compatible with Sitevision.

Returns: String - Stringified parameters.

ParamTypeDefaultDescription
paramsObjectObject with parameters to stringify.
[options]Object{}Options object.
[options.addQueryPrefix]BooleanfalseIf a leading ? should be added to the string.
import { stringifyParams } from '@soleil-se/app-util';
const queryString = stringifyParams({ foo: 'bar', num: 1 });
// foo=bar&num=1
const queryString = stringifyParams({ foo: 'bar', num: 1 }, { addQueryPrefix: true });
// ?foo=bar&num=1

Parse an URL, URI or query string to an object containing its query parameters.

Returns: Object - Parsed parameters.

ParamTypeDefaultDescription
urlStringURL, URI or query string to be parsed, must start with or contain ”?”
import { parseParams } from '@soleil-se/app-util';
const params = parseParams('?foo=bar&arr[]=1&arr[]=2');
// { foo: 'bar', arr: [1, 2] }