43 lines
837 B
JavaScript
43 lines
837 B
JavaScript
const { fields } = foundry.data;
|
|
|
|
// MARK: Table
|
|
export class Table extends foundry.abstract.DataModel {
|
|
static defineSchema() {
|
|
return {
|
|
name: new fields.StringField({
|
|
nullable: false,
|
|
required: true,
|
|
blank: false,
|
|
trim: true,
|
|
validate(value) {
|
|
return !value.match(/[^a-z0-9_\-:]/i);
|
|
},
|
|
}),
|
|
data: new fields.TypedObjectField(Row),
|
|
};
|
|
};
|
|
};
|
|
|
|
// MARK: Row
|
|
export class Row extends foundry.abstract.DataModel {
|
|
static defineSchema() {
|
|
return {
|
|
id: new fields.StringField({
|
|
nullable: false,
|
|
required: true,
|
|
blank: false,
|
|
}),
|
|
timestamp: new fields.NumberField({
|
|
min: 0,
|
|
required: true,
|
|
nullable: false,
|
|
}),
|
|
value: new fields.AnyField(),
|
|
private: new fields.BooleanField({
|
|
initial: false,
|
|
required: true,
|
|
nullable: false,
|
|
}),
|
|
};
|
|
};
|
|
};
|