ArrayProperty

@Serializable
@SerialName(value = "array")
data class ArrayProperty(val title: String? = null, val format: String? = null, val description: String? = null, val readOnly: Boolean? = null, val const: JsonPrimitive? = null, val not: Property? = null, val pattern: Regex? = null, val items: Property? = null, val prefixItems: List<ObjectProperty>? = null, val uniqueItems: Boolean = false, val contains: List<Property>? = null) : Property

A property which configure a field with an array value.

Constructors

Link copied to clipboard
constructor(title: String? = null, format: String? = null, description: String? = null, readOnly: Boolean? = null, const: JsonPrimitive? = null, not: Property? = null, pattern: Regex? = null, items: Property? = null, prefixItems: List<ObjectProperty>? = null, uniqueItems: Boolean = false, contains: List<Property>? = null)

Properties

Link copied to clipboard
open override val const: JsonPrimitive? = null

An optional const value to restrict the value of the property.

Link copied to clipboard
val contains: List<Property>? = null
Link copied to clipboard
open override val description: String? = null

An optional description.

Link copied to clipboard
open override val format: String? = null

An optional format.

Link copied to clipboard
val items: Property? = null
Link copied to clipboard
open override val not: Property? = null

An optional not value to restrict the value of the property.

Link copied to clipboard
@Serializable(with = RegexSerializer::class)
open override val pattern: Regex? = null

An optional pattern to restrict the value of the property.

Link copied to clipboard
Link copied to clipboard
open override val readOnly: Boolean? = null

An optional boolean to know if it is interactive.

Link copied to clipboard
open override val title: String? = null

An optional title.

Link copied to clipboard
val uniqueItems: Boolean = false

Functions

Link copied to clipboard
fun Property.getMaxCounter(value: String?, control: Control): Pair<Int, Int>?

Return a Pair of Int (current value length to max length), if the property is a TextInputProperty, control options showMaxCounter is true and has a max length specified.

Link copied to clipboard
fun Property.isEnabled(control: Control, data: Map<String, Any?>): Boolean

Check if the property is enabled from the control rule if it exists. The data property is necessary because rules are based on a condition in relation to another field.

Link copied to clipboard
fun Property.label(required: Boolean, control: Control): String?

Get the label of a field from the Property or the Control with '*' if it is required. If there is no title in the Property or label in the Control, it'll return null as label.