A subclass of foundry.data.fields.EmbeddedCollectionField which manages a collection of delta objects relative to another collection.

Hierarchy (View Summary)

Constructors

Properties

element: typeof Document

The data type of each element in this array

name: undefined | string

The field name of this DataField instance. This is assigned by SchemaField#initialize.

The initially provided options which configure the data field

parent: any

A reference to the parent schema to which this DataField belongs. This is assigned by SchemaField#initialize.

hierarchical: boolean = true
recursive: boolean = true

Accessors

  • get fieldPath(): string

    A dot-separated string representation of the field path within the parent schema.

    Returns string

  • get model(): typeof Document

    A reference to the DataModel subclass of the embedded document element

    Returns typeof Document

  • get schema(): SchemaField

    The DataSchema of the contained Document model.

    Returns SchemaField

  • get _defaults(): DataFieldOptions & {
        empty: boolean;
        exact: undefined;
        max: number;
        min: number;
        nullable: boolean;
        required: boolean;
    }

    Default parameters for this field type

    Returns DataFieldOptions & {
        empty: boolean;
        exact: undefined;
        max: number;
        min: number;
        nullable: boolean;
        required: boolean;
    }

  • get hasFormSupport(): boolean

    Does this form field class have defined form support?

    Returns boolean

Methods

  • Internal

    Add types of the source to the data if they are missing.

    Parameters

    • source: any

      The source data

    • changes: any

      The partial data

    • Optionaloptions: { changes?: object; source?: object }

      Additional options

      • Optionalchanges?: object

        The root data model changes

      • Optionalsource?: object

        The root data model source

    Returns void

  • Parameters

    • source: any
    • key: any
    • value: any
    • diff: any
    • options: any

    Returns void

  • Dry-run an update of an EmbeddedCollection, modifying the contents of the safe copy of the source data.

    Parameters

    • source: any
    • key: any
    • value: any
    • difference: any
    • options: any

    Returns void

  • Parameters

    • fn: any
    • value: any[] = []
    • options: {} = {}

    Returns {}[]

  • Coerce source data to ensure that it conforms to the correct data type for the field. Data coercion operations should be simple and synchronous as these are applied whenever a DataModel is constructed. For one-off cleaning of user-provided input the sanitize method should be used.

    Parameters

    • value: any

      An initial requested value

    • Optionaloptions: { partial?: boolean; source?: object } = {}

      Additional options for how the field is cleaned

      • Optionalpartial?: boolean

        Whether to perform partial cleaning?

      • Optionalsource?: object

        The root data model being cleaned

    Returns any

    The cast value

  • Migrate this field's candidate source data.

    Parameters

    • sourceData: object

      Candidate source data of the root model

    • fieldData: any

      The value of this field within the source data

    Returns void

  • Render this DataField as an HTML element.

    Parameters

    Returns HTMLElement | HTMLCollection

    A rendered HTMLElement for the field

    An Error if this DataField subclass does not support input rendering

  • Validate a candidate input for this field, ensuring it meets the field requirements. A validation failure can be provided as a raised Error (with a string message), by returning false, or by returning a DataModelValidationFailure instance. A validator which returns true denotes that the result is certainly valid and further validations are unnecessary.

    Parameters

    Returns void | DataModelValidationFailure

    Returns a DataModelValidationFailure if a validation failure occurred.

  • Protected

    Render this DataField as an HTML element. Subclasses should implement this method rather than the public toInput method which wraps it.

    Parameters

    Returns HTMLElement | HTMLCollection

    A rendered HTMLElement for the field

    An Error if this DataField subclass does not support input rendering

  • Protected

    Special validation rules which supersede regular field validation. This validator screens for certain values which are otherwise incompatible with this field like null or undefined.

    Parameters

    • value: any

      The candidate value

    Returns boolean | void

    A boolean to indicate with certainty whether the value is valid. Otherwise, return void.

    May throw a specific error if the value is not valid