Advanced Properties

This document explains how to work with specific property types in the Semarchy xDM Application Builder.

Literal vs. SemQL Properties

When designing a model or application, most properties support literal values. For example, the label of a field is a literal value. Certain properties in application components also support SemQL values, which are values based on the record data.

When a field supports literal and SemQL, a value type drop-down appears aside the field to select the type of value (literal or SemQL).

  • If you select Literal, the property editing component adapts to the property type (boolean, string, etc).

  • If you select SemQL, the property editing component gives you access to a SemQL editor. Note that if the property is a boolean, then the SemQL editor requires a condition, and not an expression.

Literal vs. SemQL Properties

In the example below, the Visible property is configured as a literal. As this property is a boolean, it appears as a checkbox. In that case, Visible is always true, and this field is always visible.

Literal Property Example

If the same property is now configured as SemQL, you can provide a SemQL expression to define its value. In this second case, Visible is true if the value of the Label attribute is not null. The field will be visible or invisible depending on the data.

SemQL Property Example

In both these examples, look at the Relative Width or Component Type properties. They only support literal values and do not have the value type selector.

Colors

Certain properties store color values. For example, the label color for a form field, or the icon color for an application action. Colors in Semarchy xDM applications are defined using three possible formats:

  • CSS Color: css: <css-color>, where <css-color> is a CSS color value.
    Examples:

    • css: rgb(255, 255, 155)

    • css: rgba(255, 255, 155, 0.5)

    • css: #FFFFFF

    • css: grey

  • Theme Color: theme: <intention>[ <hue>], where <intention> is one of primary, accent, warn and <hue> is one of default, hue-1, hue-2, hue-3. See Material Design Color for more information.
    Examples

    • theme: primary

    • theme: primary hue-1

  • Material Design Palette Color: md:<color>[ <shade>], where <color> is one of the named Material Design colors and <shade> is one of the hues defined for this color (500, A500…). See Material Design Color for more information.
    Examples:

    • md:deep-purple

    • md:indigo A500

Images

Certain properties and values store images or references to images or icons. For example, the Primary Image or Avatar for a display card, or the Icon Color for an application action. An image or icon in a Semarchy xDM application is displayed from one of the following source types:

  • Binary Data, stored in the hub. This is the case for form or collection attribute images that display attributes with a binary data type. The form or collection component is configured with the Image Source property set to Content.

  • External URL, referring to images stored on another server. This is the case for form or collection images that display attributes containing an URL string. The form or collection component is configured with the Image Source property set to URL. Such an URL starts with http:// or https://

  • Image Library URL. This is the case for icons selected in the application, or form or collection image that display a literal or computed value containing an URL starting with images://. An image library URL is structured as follows: images://<library-name>/<file-name>.
    For more information about images and image libraries, see Image Libraries.

Composing Image URLs

It is possible to compose external or image library URLs using SemQL.

For example, the myApp image library contains icons named priority_1.svg, priority_2.svg, etc.
The following SemQL expression, used in the customer display card avatar, will make the avatar appear with an icon from the image library that depends on the value of the cust_priority attribute.

'images://myApp/priority_' || cust_priority || '.svg'

Markdown

Use the following link to Learn Markdown in 60 seconds.

Markdown is a markup language with a simple text formatting syntax. Semarchy xDM can render Markdown text as HTML in the applications:

  • Certain properties, such as Documentation, support this language.

  • The Markdown component can be used in your applications to render and author Markdown text stored in entities' attributes.

The Markdown editor does not support the table edition. To edit tables in text attributes, users should either use inline HTML code or edit the raw Markdown content using a multi-line text field.

Semarchy xDM support the following Markdown flavors:

Learn about them:

Markdown, when used in Semarchy xDM applications, supports specific link patterns to open the model documentation using URL patterns.