playing with extensible fields

This commit is contained in:
2024-10-11 16:04:44 +03:00
parent dfe4576725
commit b19a84b6ba
32 changed files with 675 additions and 109 deletions
+40
View File
@@ -0,0 +1,40 @@
<?php
namespace Lucent\Field\Rich;
use Lucent\Field\FieldData;
class Data extends FieldData
{
public function __construct(
public string $name,
public string $label,
public bool $required = false,
public bool $nullable = false,
public string $default = "",
public string $help = "",
public array $collections = [],
public ?int $min = null,
public ?int $max = null,
public bool $readonly = false,
public string $group = "",
)
{
}
public static function fromArray(array $data): self
{
return new self(
name: data_get($data, 'name'),
label: data_get($data, 'label'),
required: data_get($data, 'required', false),
nullable: data_get($data, 'nullable', false),
default: data_get($data, 'default', ""),
help: data_get($data, 'help', ""),
min: data_get($data, 'min'),
max: data_get($data, 'max'),
readonly: data_get($data, 'readonly', false),
group: data_get($data, 'group', ""),
);
}
}