Поля
Общие методы
Базовые методы, доступные для всех типов полей
Все поля в Frame наследуют общий набор методов, позволяющих настраивать их поведение, внешний вид и логику работы.
Основные
placeholder
?string $text → static
Плейсхолдер поля. Пропускается через
__() — можно передавать ключ перевода.help
?string $text → static
Вспомогательный текст под полем.
displayAs
string $component → static
Переопределяет Vue-компонент, используемый для отображения поля.
type
string $value → static
Устанавливает HTML-тип поля (например,
text, number, email).mask
string $text → static
Устанавливает маску ввода для поля (например,
+7 (###) ###-##-##).readonly
bool|Closure $callback = true → static
Устанавливает поле только для чтения. Используется, чтобы скрыть поле в форме создания или запретить редактирование в форме изменения записи.
sortable
bool $val = true → static
Включает/выключает сортировку по полю в таблице записей.
hide
Closure|bool|null $val = true → static
Скрывает поле везде (в таблице, форме и на детальной странице).
hiddenByDefault
bool $val = true → static
Скрывает поле по умолчанию, но оставляет возможность включить его отображение.
hideInTree
bool $val = true → static
Скрывает поле в древовидном представлении.
json
bool $val = true → static
Указывает, что значение поля хранится в JSON-колонке.
filterable
bool $val = true → static
Включает/выключает фильтрацию по полю.
nullable
bool $val = true → static
Указывает, что поле может содержать
null.default
mixed $value → static
Устанавливает значение по умолчанию.
width
int $value → static
Устанавливает ширину поля.
requiresModel
bool $val = true → static
Указывает, что для работы поля необходима загруженная модель. Полезно для полей, зависящих от данных существующей записи.
rules
callable|array|string ...$rules → static
Laravel-правила валидации:
->rules('required', 'max:255') или ->rules('email', 'unique:users,email'). Применяются на формах создания и редактирования.Отображение в таблице
caption
callable(FrameRequest, Model): ?string → static
Callback, возвращающий подпись мелким шрифтом под значением ячейки. Удобно для вспомогательных атрибутов (slug, sys_name, fias_id), которые не заслуживают отдельной колонки:
Text::make('name', 'Название')
->caption(fn ($request, $tag) => $tag->sys_name),
editable
bool|callable $val = true → self
Доступно только для
Toggle и Select. Позволяет менять значение прямо в ячейке таблицы без перехода на страницу записи.Вычисляемые значения
resolveUsing
callable(FrameRequest, Model): mixed → static
Переопределяет вычисление значения при отображении. Получает запрос и модель — возвращает что угодно.
displayUsing
callable → static
Преобразует уже вычисленное значение перед отображением (форматирование).
Ключ поля
Метод key() переопределяет ключ поля. Полезно для преобразования camelCase в snake_case при использовании DTO:
key
string $val → static
Переопределяет ключ поля.
protected $casts = [
'settings' => QuizTestSettingsData::class,
];
#[MapName(SnakeCaseMapper::class)]
class QuizTestSettingsData extends Data
{
public function __construct(
public int|null $numberOfAcceptableErrors = 5,
) {}
}
Number::make('Количество допустимых ошибок', 'settings->numberOfAcceptableErrors')
->key('settings->number_of_acceptable_errors'),
Действия
actions
array $actions = [] → static
Добавляет действия к полю. Подробнее в разделе Действия в полях.
getActions
→ array
Возвращает массив действий поля.
Сериализация
jsonSerialize
→ array
Сериализует поле в массив для JSON.
toIndexScheme
→ array
Возвращает схему поля для отображения в таблице записей.
toIndexRecord
→ array
Возвращает данные поля для строки таблицы записей.
Размер полей
Методы управляют тем, сколько колонок и строк занимает поле в сетке формы для каждого брейкпоинта.
colSpan
Span|null $xs, $sm, $md, $lg, $xl, $xl2 → static
Устанавливает размер колонок для различных брейкпоинтов экрана.
rowSpan
Span|null $xs, $sm, $md, $lg, $xl, $xl2 → static
Устанавливает размер строк для различных брейкпоинтов экрана.