Skuid Model Field Metadata Object

The Skuid Model Field Metadata Object is built on the server-side and is not a constructible type.

It is loosely based on the Apex DescribeFieldResult Class, but contains some name changes and Skuid customizations.

Note

All properties in the Field Metadata Object should be treated as read-only. Overwriting these values on the rendered page will result in undefined behavior and likely cause unexpected and undesirable results.

Properties

modelFieldMetadata.accessible

boolean

Indicates if the current user can see this field. Derived from Salesforce DescribeFieldResult.isAccessible().

modelFieldMetadata.autoNumber

boolean

Indicates if this field is an Auto Number. Derived from Salesforce’s DescribeFieldResult.isAutoNumber().

modelFieldMetadata.calculated

boolean

Indicates if this field is a custom formula field. Derived from Salesforce’s DescribeFieldResult.isCalculated().

modelFieldMetadata.controllingField

string

The name of the controlling field for a PICKLIST or MULTIPICKLIST field. Derived from Salesforce’s DescribeFieldResult.getController().

modelFieldMetadata. createable

boolean

Indicates if the current user can create the field.

For fields that belong to a readonly Model or represent the result of an aggregate function, createable will always evaluate to false.

Derived from Salesforce’s DescribeFieldResult.isCreateable().

modelFieldMetadata.defaultValue

object

The default value for this field. Derived from Salesforce’s DescribeFieldResult.getDefaultValue()

modelFieldMetadata.digits

integer

For an Integer field, represents the maximum number of digits. Null for non-Integer fields. Derived from Salesforce’s DescribeFieldResult.getDigits().

modelFieldMetadata.displaytype

string

One of the Salesforce DisplayType enum values or, for DATETIME values displayed as DATE values, “DATE”.

modelFieldMetadata.editable

boolean

Indicates if the current user can edit the field.

For fields that belong to a readonly Model or represent the result of an aggregate function, createable will always evaluate to false.

Derived from Salesforce’s DescribeFieldResult.isUpdateable().

modelFieldMetadata.filterable

boolean

Indicates if the field can be used as part of the filter criteria of a WHERE statement. Derived from Salesforce’s DescribeFieldResult.isFilterable().

modelFieldMetadata.function

string

An aggregation function to apply to the field in a GROUP BY query. Expected values are:

  • null (the query is not aggregated)
  • “COUNT”
  • “COUNT_DISTINCT”
  • “SUM”
  • “MAX”
  • “MIN”
  • “AVG”
modelFieldMetadata.groupable

boolean

Indicates if the field can be included in the GROUP BY clause of a SOQL query. Derived from Salesforce’s DescribeFieldResult.isGroupable().

modelFieldMetadata.htmlFormatted

boolean

Indicates if the field has been formatted for HTML and should be encoded for display in HTML. Derived from Salesforce’s DescribeFieldResult.isHtmlFormatted().

modelFieldMetadata.id

string

The field name used in Apex. Derived from Salesforce’s DescribeFieldResult.getName().

modelFieldMetadata.inlineHelpText

string

The context of the field-level help. Derived from Salesforce’s DescribeFieldResult.getInlineHelpText().

modelFieldMetadata.label

string

The text label that is displayed next to the field in the Salesforce user interface. Derived from Salesforce’s DescribeFieldResult.getLabel().

modelFieldMetadata.length

integer

For String fields, the maximum allowed number of characters (not bytes). Derived from Salesforce’s DescribeFieldResult.getLength().

modelFieldMetadata.name

string

Either the ID or, for aggregate queries, the alias of the field.

modelFieldMetadata.nameField

boolean

Indicates if the field is a name field. Derived from Salesforce’s DescribeFieldResult.isNameField().

modelFieldMetadata.namePointing

boolean

Indicates if the field can have multiple types of objects as parents. Derived from Salesforce’s DescribeFieldResult.isNamePointing().

modelFieldMetadata.orderByClause

string

For fields identifying a child relationship, defines the field names by which related records will be ordered. This property is ignored for regular fields.

modelFieldMetadata.picklistEntries

object [ ]

An array of picklist value objects. Derived from Salesforce’s DescribeFieldResult.getPicklistValues(). Each element within the array has the following properties:

  • value (string): The value of the Picklist Entry
  • label (string): The display value of the Picklist Entry
  • defaultValue (boolean): Indicates if the picklist entry should be selected by default.
modelFieldMetadata.precision

integer

For a Double field, the maximum number of digits that can be stored, including all numbers to the left and right of the decimal point. Derived from Salesforce’s DescribeFieldResult.getPrecision().

modelFieldMetadata.query

boolean

Indicates if the field was included in the query. If false, then only the metadata for the field was fetched.

modelFieldMetadata.recordsLimit

integer

For fields identifying a child relationship, defines the order of the maximum number of records to fetch. This property is ignored for regular fields.

modelFieldMetadata.ref

string

For reference fields, a comma-separated list of the Names of the sObjects which this field refers to. For example, a polymorphic lookup field to the Account, Contact, or User sObjects would be represented as “Account,Contact,User”.

modelFieldMetadata.referenceTo

Skuid Model Metadata Object

An array of Model Metadata Objects for the parent objects of this field. Derived from Salesforce’s DescribeFieldResult.getReferenceTo().

modelFieldMetadata.refprefix

string

For reference fields, a comma-separated list of the key prefixes of the sObjects which this field refers to. For example, a polymorphic lookup field to the Account, Contact, or User sObjects would be represented as “001,003,005”.

modelFieldMetadata.rel

string

For reference fields, the name of the relationship. Derived from Salesforce’s DescribeFieldResult.getRelationshipName().

modelFieldMetadata.relationshipName

string

For reference fields, the name of the relationship. Derived from Salesforce’s DescribeFieldResult.getRelationshipName().

modelFieldMetadata.required

boolean

Indicates if a value is required for this field before it can be saved to the database.

For fields that belong to a readonly Model or represent the result of an aggregate function or belong to a related object, required will always evaluate to false.

Otherwise, if the field is createable by the current user, does not allow null values and does not have a default value, then required will evaluate to true.

modelFieldMetadata.scale

integer

For a Double field, the maximum number of decimal digits (digits to the right of the decimal) that will be returned. Derived from Salesforce’s DescribeFieldResult.getScale().

modelFieldMetadata.sortable

boolean

Indicates if this field can be used in an ORDER BY clause. Derived from Salesforce’s DescribeFieldResult.isSortable().

modelFieldMetadata.subConditionLogic

string

For a field defining a child relationship in the Model, defines the logic to use when combining the conditions.

Example: “(1 AND 2) OR (3 AND 4)”

modelFieldMetadata.subConditions

Skuid Model Condition Metadata Object

For a field defining a child relationship in the Model, an array of Condition Metadata Objects applied to the child relationship.

modelFieldMetadata.subFields

Skuid Model Field Metadata Object

For a field defining a child relationship in the Model, an array of Field Metadata Objects that describe the fields to include from the child relationship.

modelFieldMetadata.type

string

For a field representing a relationship with another sObject, defines the type of relationship. One of:

  • No Relationship: in most cases null, though under some circumstances a zero-length string (“”)
  • Child Relationship: “childRelationship”