Поддержка
Поля

Общие методы

Базовые методы, доступные для всех типов полей

Все поля в 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
Устанавливает размер строк для различных брейкпоинтов экрана.