enumValues |
yes |
Array.<string>
|
<optional>
|
An optional list of valid enum values for a string property. An error is thrown if a property value does not match one of the provided enumValues.
|
properties |
yes |
{[key:string] : MetadataTypes.ComponentMetadataProperties}
|
<optional>
|
A nested properties object for complex properties. Each key represents a subproperty name, and its value is an object
with additional metadata for that subproperty. Subproperties exposed using nested properties objects in the metadata can
be set using dot notation in the attribute. See the
Subproperties section for more details on
working with subproperties.
|
readOnly |
yes |
boolean
|
<optional>
|
Determines whether a property can be updated outside of the ViewModel. False by default. If readOnly is true, the property can only be
updated by the ViewModel or by the components within the composite component. This property only needs to be defined for the top level
property, with subproperties inheriting that value.
|
type |
yes |
string
|
|
The type of the property, following
Google Closure Compiler syntax.
The runtime will parse string, number, boolean, array and object types for non data-bound attributes, but will not provide
type checking for array and object elements. However, for documentation purposes, it may still be beneficial to provide
array and object element details using the Closure Compiler syntax.
|
value |
yes |
Array
|
object
|
boolean
|
number
|
null
|
string
|
<optional>
|
An optional default value for a property. This default value must be expressible as valid JSON. For complex properties,
the default value can be specified as an object for the top level property, or else at the leaf subproperty levels, but not both.
|
writeback |
yes |
boolean
|
<optional>
|
Applicable when the application uses two-way data binding to bind an expression to a property. If writeback is true,
the JET Web Component can directly update the value of the bound expression after a user interaction like selection. False by default.
This property only needs to be defined for the top level property, with subproperties inheriting that value.
|
description |
no |
string
|
<optional>
|
A translatable high-level description for the property. Content should typically consist of one or two sentences.
|
displayName |
no |
string
|
<optional>
|
A user friendly, translatable name of the property.
|
eventGroup |
no |
string
|
<optional>
|
Optional group name for this property's corresponding [property]Changed event in a design time environment.
Reserved values are:
"common" - Applications will commonly want to react to changes to this property at runtime,
so its corresponding property change event should be prominently highlighted and the design time environment
should provide extra assistance.
|
exclusiveMaximum |
no |
number
|
string
|
<optional>
|
Validation metadata - specifies the exclusive high end of a possible range of values (e.g., "exclusiveMaximum": 1.0 → valid property value is <1.0).
If the value is a string, then it is assumed to represent a dateTime value in the ISO 8601 extended date/time format.
|
exclusiveMinimum |
no |
number
|
string
|
<optional>
|
Validation metadata - specifies the exclusive low end of a possible range of values (e.g., "exclusiveMinimum": 0.0 → valid property value is >0.0).
If the value is a string, then it is assumed to represent a dateTime value in the ISO 8601 extended date/time format.
|
extension |
no |
object
|
<optional>
|
Placeholder for Extension metadata. Each section is identified by a key that specifies the downstream tool that will process this metadata.
For example:
| Name |
Type |
Description |
vbdt |
{string} |
Indentifies an object with Visual Builder design time metadata |
Please consult the documentation for the downstream tool to determine what (if any) extension metadata is supported.
|
format |
no |
string
|
<optional>
|
Format hint for a primitive type that can be used for simple validation in the design time environment,
or to invoke a specialized customizer control or set of controls. The following set of reserved format
keywords are supported:
{number} type formats
| Keyword |
Description |
double |
floating point number with double precision |
float |
floating point number with single precision |
int32 |
signed 32-bit integer |
int64 |
signed 64-bit integer |
{string} type formats
| Keyword |
Description |
binary |
sequence of octets |
byte |
sequence of base64-encoded characters |
color |
CSS color value |
date |
date in RFC 3339 format, using the "full-date" profile |
date-time |
date-time in RFC 3339 format, using the "date-time" profile |
email |
Internet email address in RFC 5322 format |
time |
time in RFC 3339 format, using the "full-time" profile |
password |
hint to UIs to obscure input |
uri |
Uniform Resource Identifier in RFC 3986 format |
|
help |
no |
string
|
<optional>
|
Specifies a URL to detailed API documentation for this component property. The value
can be either an absolute URL, or an anchor string to be appended at the end of the
Component-level help value after a hash ('#') character.
|
maximum |
no |
number
|
string
|
<optional>
|
Validation metadata - specifies the inclusive high end of a possible range of values (e.g., "maximum": 1.0 → valid property value is <=1.0).
If the value is a string, then it is assumed to represent a dateTime value in the ISO 8601 extended date/time format.
|
minimum |
no |
number
|
string
|
<optional>
|
Validation metadata - specifies the inclusive low end of a possible range of values (e.g., "minimum": 0.0 → valid property value is >=0.0).
If the value is a string, then it is assumed to represent a dateTime value in the ISO 8601 extended date/time format.
|
pattern |
no |
string
|
<optional>
|
Javascript regular expression that can be used to validate a string value at design time
Example:
To validate a string that matches the format of a U.S. Social Security number, you could specify the following:
"pattern": "^\d{3}-?\d{2}-?\d{4}$"
|
placeholder |
no |
string
|
<optional>
|
User-friendly, translatable hint text that appears in an empty input field at design time.
|
propertyEditorValues |
no |
{[key:string] : MetadataTypes.PropertyEditorValue}
|
<optional>
|
Design time metadata that lists suggested property values, and optional information about each suggested value.
Each key represents a suggested property value – if enumValues runtime metadata is specified, then it is expected
that some or all of the keys will match the values in the enumValues array. Conversely, the absence of enumValues runtime
metadata indicates that the property can accept values in addition to those suggested by its propertyEditorValues metadata.
|
propertyGroup |
no |
string
|
<optional>
|
Optional group name for this property in a design time environment. Reserved values include:
"common" - This property is commonly used for configuring this component,
so it should be prominently highlighted and the design time environment should provide
extra assistance.
"data" - This property is commonly associated with data binding.
Nested group names can be specified using a period ('.') as a separator. For example,
a Charting component can choose to prominently group properties relating to a business chart's
Legend with the propertyGroup specified as "common.legend"
Notes
- Component authors are not required to map all of their properties to a particular
propertyGroup. Design time environments are expected to implement designs
that enable access to both mapped and unmapped properties.
- Component authors can optionally specify their preferred layout and ordering of component
properties within a
propertyGroup by providing additional Component-level
propertyLayout metadata.
- Conversely, if a property is mapped to a particular
propertyGroup but
is not referenced in the corresponding propertyLayout metadata,
then its layout and ordering is undefined.
|
required |
no |
boolean
|
<optional>
|
Signals to the design time environment whether this property must have a value specified. False by default. Note that required
should not be set to true if a default value has been defined for the property already.
|
status |
no |
Array.<MetadataTypes.Status>
|
<optional>
|
Optional array of status objects that are applicable to this property.
|
translatable |
no |
boolean
|
<optional>
|
True if the value of this property (or its sub-properties, unless explicitly overridden)
is eligible to be included when application resources are translated for Internationalization. False by default.
|
units |
no |
string
|
<optional>
|
User-friendly, translatable text string specifying what units are represented by a property value -- e.g., "pixels".
|
visible |
no |
boolean
|
<optional>
|
Specifies whether the property should be visible at design time. True by default.
|