Bug/124 foreigndocumentuuidfields fail initial initialization (#150)

* FIX: Remove the psudo-documents because they will be used.

* FIX: ForeignDocumentUUIDField  initialize like a getter
FEAT: ForeignDocumentUUIDArrayField created and used

* REFACTOR: prettier format

---------

Co-authored-by: Joaquin Pereyra <joaquinpereyra98@users.noreply.github.com>
This commit is contained in:
joaquinpereyra98 2025-06-18 10:47:50 -03:00 committed by GitHub
parent 96ed90b5fc
commit a0a5196825
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 33 additions and 632 deletions

View file

@ -0,0 +1,20 @@
import ForeignDocumentUUIDField from './foreignDocumentUUIDField.mjs';
/**
* A subclass of {@link foundry.data.fields.ArrayField} that defines an array of foreign document UUID references.
*/
export default class ForeignDocumentUUIDArrayField extends foundry.data.fields.ArrayField {
/**
* @param {foundry.data.types.DocumentUUIDFieldOptions} [fieldOption] - Options to configure each individual ForeignDocumentUUIDField.
* @param {foundry.data.types.ArrayFieldOptions} [options] - Options to configure the array behavior
* @param {foundry.data.types.DataFieldContext} [context] - Optional context for schema processing
*/
constructor(fieldOption = {}, options = {}, context = {}) {
super(new ForeignDocumentUUIDField(fieldOption), options, context);
}
/** @inheritdoc */
initialize(value, model, options = {}) {
const v = super.initialize(value, model, options);
return () => v.map(entry => (typeof entry === 'function' ? entry() : entry));
}
}