AppConfig

Interface

This interface defines the experience config structure.

Properties

PropertyTypeNotes
boolean

Only newly created experience (unpublished) configurations have this property.

Connection[]

Configure multiple portal connection information

ControllerPanelsJson

Floating panels for controller widget

DataSourcesJson

Data sources within an experience

DialogsJson

Windows (dialogs) within an experience

string

The framework version when the experience is created/updated.

FooterJson

The footer of an experience

ForBuilderAttributes

These attributes are used by builder only.

HeaderJson

The header of an experience

HistoryLabels

History labels are saved here because the labels may be used in URL. This can avoid link broken. This is done while publishing, which means all labels in the published app will be saved here.

LayoutsJson

Layouts within an experience

User can configure an experience for multiple size modes, and the default size mode is saved here. The config user interface is not available yet.

MessagesJson

The message configs of an experience

string

Because one app can have multiple config.json, we add a name to identify the config.

string

As the exbVersion will be replaced with the code version when app is launched, we save the origin version in config here.

{ [pageId: string]: string[] }[]

The structure of pages

PagesJson

Pages within an experience

string[]

The widgets uri in this array will be loaded when the app loads, rather than dynamically loading the widget.

string

This property will be set when publishing.

ScreenGroupsJson

Screen groups within an experience

ScreensJson

Screens within an experience

SectionsJson

Sections within an experience

string

The template that an experience created from.

string

The theme uri, should end with "/".

string

UTC timestamp for specific app config version. It's used for app's update.

boolean

Whether adjust tab order automatically in the fixed layout.

boolean

If true, will read widget's manifest from widgetsManifest . This value is false by default

ViewsJson

Views within an experience

WidgetsJson

Widgets within an experience

{ [widgetUri: string]: WidgetManifest }

The manifest here are raw manifest, need to be processed before use. We save raw manifest here to save some network requests.

__not_publish

Interface Property
__not_publish: boolean

Only newly created experience (unpublished) configurations have this property.

connections

optional
Interface Property
connections: Connection[]

Configure multiple portal connection information

controllerPanels

Interface Property
controllerPanels: ControllerPanelsJson

Floating panels for controller widget

dataSources

optional
Interface Property
dataSources: DataSourcesJson

Data sources within an experience

dialogs

Interface Property
dialogs: DialogsJson

Windows (dialogs) within an experience

exbVersion

Interface Property
exbVersion: string

The framework version when the experience is created/updated.

When an old experience is opened in a new version code, this version will be set as the new code version.

Interface Property
footer: FooterJson

The footer of an experience

forBuilderAttributes

Interface Property
forBuilderAttributes: ForBuilderAttributes

These attributes are used by builder only.

Interface Property
header: HeaderJson

The header of an experience

historyLabels

Interface Property
historyLabels: HistoryLabels

History labels are saved here because the labels may be used in URL. This can avoid link broken. This is done while publishing, which means all labels in the published app will be saved here.

layouts

Interface Property
layouts: LayoutsJson

Layouts within an experience

mainSizeMode

Interface Property
mainSizeMode: BrowserSizeMode

User can configure an experience for multiple size modes, and the default size mode is saved here. The config user interface is not available yet.

messageConfigs

optional
Interface Property
messageConfigs: MessagesJson

The message configs of an experience

name

Interface Property
name: string

Because one app can have multiple config.json, we add a name to identify the config.

originExbVersion

Interface Property
originExbVersion: string

As the exbVersion will be replaced with the code version when app is launched, we save the origin version in config here.

pageStructure

Interface Property
pageStructure: { [pageId: string]: string[] }[]

The structure of pages

pages

Interface Property
pages: PagesJson

Pages within an experience

preloadWidgets

optional
Interface Property
preloadWidgets: string[]

The widgets uri in this array will be loaded when the app loads, rather than dynamically loading the widget.

publishTimestamp

optional
Interface Property
publishTimestamp: string

This property will be set when publishing.

screenGroups

Interface Property
screenGroups: ScreenGroupsJson

Screen groups within an experience

screens

Interface Property
screens: ScreensJson

Screens within an experience

sections

optional
Interface Property
sections: SectionsJson

Sections within an experience

template

Interface Property
template: string

The template that an experience created from.

theme

Interface Property
theme: string

The theme uri, should end with "/".

timestamp

Interface Property
timestamp: string

UTC timestamp for specific app config version. It's used for app's update.

useAutoSortInFixedLayout

optional
Interface Property
useAutoSortInFixedLayout: boolean

Whether adjust tab order automatically in the fixed layout.

useCachedManifest

optional
Interface Property
useCachedManifest: boolean

If true, will read widget's manifest from widgetsManifest . This value is false by default

views

optional
Interface Property
views: ViewsJson

Views within an experience

widgets

Interface Property
widgets: WidgetsJson

Widgets within an experience

widgetsManifest

Interface Property
widgetsManifest: { [widgetUri: string]: WidgetManifest }

The manifest here are raw manifest, need to be processed before use. We save raw manifest here to save some network requests.

When add a widget in builder, the manifest is not saved here because we need to fetch the latest manifest to check version info. However, we can do this manually.

Type declaration

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.