Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The base of a theme is the index file from which the main page is build. Blueriq uses a template engine called StringTemplate to make server properties available in the client.

A default Blueriq index page is injected with a template context that features the following properties:

PropertyTypeDescription
themeStringName of the theme currently selected
apiBasePathStringBase path for the web API
webResourcesBasePathStringBase path for web resources
extensionsObject (ExtensionContext)Contains all registered CSS and JavaScript files
 cssExtensionUrlsString[]URLs to all registered CSS files
 jsExtensionUrlsString[]URLs to all registered JavaScript files
sessionIdStringCurrent session id
currentPageJsonStringCurrent page in JSON format
developmentModebooleanIndicates whether or not the application runs in development mode
sessionTimeoutintConfigured session timeout in seconds

When creating a custom theme you need to provide an index file.

Creating the index file

The index file is the starting point of a custom theme and is a StringTemplate template that follows a certain structure. For full details on the StringTemplate syntax and usage please check the official documentation.

A StringTemplate index file in Blueriq has the following structure:

Code Block
languagexml
titleBasic index file structure
delimiters "$", "$"
main(context) ::= <<

[HTML]
 
>>

First the delimiters to use around StringTemplate variables are set to "$" instead of the default "<" ">" delimiters to be able to use variables within HTML.

Configuration

In order to configure your theme so it will be known by the Runtime several properties must be set. The following example shows properties for registering a theme named "custom_dashboard":

...