FSM Mobile Element and Property Configuration Conventions
This topic explains how Field Service Management (FSM) Mobile handles element and property configuration. It covers defaults, static values, null, empty strings, omitted properties, Boolean values, parent-child relationships, value property behavior, and date defaults. The topic excludes internal callbacks and temporary runtime state, such as search text or loading state.
For more information, see the following topics:
-
FSM Mobile Element Type Reference - Lists supported element types, value formats, accepted values, and defaults.
-
FSM Mobile Element Properties - Lists properties, supported element types, value formats, accepted values, expression support, and defaults.
Use the following conventions when you configure FSM Mobile elements and properties:
-
Default - FSM Mobile applies this value when you omit a property or supply an invalid literal value. An explicitly configured
valuetakes precedence over a type default. -
Static value - A static value is a literal rather than an expression. See FSM Mobile Element Properties to determine which literal values each property accepts and whether the property supports expressions. An FSM expression result must match a value accepted by the property.
-
null - This explicit JSON value differs from the text string
"null". When accepted or used as a default, it represents no value or no constraint, depending on the property. -
Empty string ("") - This explicit string differs from
null. Use it only when the property accepts it or defines it as the default. -
Boolean values - Use the lowercase, unquoted JSON literals
trueandfalse. For more information about quoted values, Boolean expressions, and checkbox compatibility, see Boolean Configuration. -
Omitted property - An omitted property has no configured value.
undefinedis not a JSON configuration value.
The string "any" has no special configuration behavior. It can be ordinary text in a property that accepts text, such as a label or placeholder.
Parent-Child Relationships
parent creates a parent-child relationship between a table element and one of its column elements. Follow these requirements:
-
Set
parentonly on a direct child of atableelement. -
Set the
parentvalue to the top-level table element'sname. -
FSM Mobile places the child in each parent table row instead of displaying it as a separate top-level element.
-
Don't use
parentto nest ordinary elements, create nested tables, or reference an element that is not"type": "table".
Value Property Behavior
The value property behaves as follows:
-
A static
valuesets the initial default only when FSM Mobile creates a record. It doesn't reset or replace an existing record's value. -
If
valueis an expression, FSM Mobile calculates or updates it when the expression runs in the applicable default or change context. -
The element type must accept the expression result.
Suppressing Date Defaults
Use the following rules for date and datetime elements:
-
When
"value"is omitted,dateuses the current date, anddatetimeuses the current date and time. -
To leave a
dateordatetimeelement blank on a new record, set"value": "". FSM Mobile also normalizesnullto"", but the empty string is more explicit and matches the stored blank representation.
Boolean Configuration
Use the following rules for Boolean configuration:
-
Configure Boolean properties, such as
required,disabled,hidden,readonly,multiple, andstepper, with the unquoted literalstrueorfalse. Quoted text is invalid, and Boolean expressions must evaluate totrueorfalse. -
For backward compatibility, FSM Mobile accepts the exact static checkbox
valuestrings"T","F","true", and"false"and converts them to Boolean values. This exception does not apply to properties such ashiddenandrequired, which require unquotedtrueorfalse. FSM Mobile doesn't recognize"True"and"False"for a checkboxvalue.