- Создание
- Значение по умолчанию
- Только для чтения
- Маска
- Placeholder
- Расширения
- Теги
- Редактирование в предпросмотре
- Специальные символы
Создание
Текстовое поле включает все базовые методы.
use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')];}//...use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')];}//...

Значение по умолчанию
Вы можете использовать метод default(), если вам нужно указать значение по умолчанию для поля.
default(mixed $default)default(mixed $default)
use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')->default('-')];}//...use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')->default('-')];}//...
Только для чтения
Если поле предназначено только для чтения, то вы должны использовать метод readonly().
readonly(Closure|bool|null $condition = null)readonly(Closure|bool|null $condition = null)
use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')->readonly()];}//…use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')->readonly()];}//…
Маска
Метод mask() используется для добавления маски к полю.
mask(string $mask)mask(string $mask)
use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')->mask('7 (999) 999-99-99')];}//...use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')->mask('7 (999) 999-99-99')];}//...

Placeholder
Метод placeholder() позволяет установить атрибут placeholder для поля.
placeholder(string $value)placeholder(string $value)
use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Country', 'country')->nullable()->placeholder('Country')];}//...use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Country', 'country')->nullable()->placeholder('Country')];}//...
Расширения
Для поля Text доступно несколько расширений:
- возможность копирования значения с помощью кнопки
copy(string $value = '{{value}}')copy(string $value = '{{value}}')
{{value}}- значение поля.
use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')->copy(),Text::make('Token')->copy('https://domain.com?token={{value}}')];}//...use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')->copy(),Text::make('Token')->copy('https://domain.com?token={{value}}')];}//...
- блокировка с запретом изменения
locked()locked()
- отключение отображения значения
eye()eye()
- подсказка формата
expansion(string $ext)expansion(string $ext)
use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')->copy()->locked()->expansion('kg')->eye()];}//...use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')->copy()->locked()->expansion('kg')->eye()];}//...

Метод copy использует Clipboard API, который доступен только для HTTPS или localhost
Вы можете использовать пользовательские расширения. Для этого их необходимо добавить к полю через метод extension().
extension(InputExtension $extension)extension(InputExtension $extension)
use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')->extension(new InputCustomExtension())];}//...use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')->extension(new InputCustomExtension())];}//...
Теги
Метод tags() позволяет вводить данные в виде тегов.
tags(?int $limit = null)tags(?int $limit = null)
$limit- количество доступных тегов, по умолчанию не ограничено.
use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Keywords')->tags()];}//...use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Keywords')->tags()];}//...
Редактирование в предпросмотре
Метод updateOnPreview() позволяет редактировать поле Text в режиме предпросмотра.
updateOnPreview(?Closure $url = null, ?ResourceContract $resource = null, mixed $condition = null)updateOnPreview(?Closure $url = null, ?ResourceContract $resource = null, mixed $condition = null)
$url- (опционально) url для обработки асинхронного запроса,$resource- (опционально) ресурс модели, если поле находится вне ресурса,$condition- (опционально) условие выполнения метода.
Настройки не обязательны и должны быть переданы, если поле работает вне ресурса.
use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make(Country)->updateOnPreview()];}//...use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make(Country)->updateOnPreview()];}//...
Специальные символы
По умолчанию поле Text и его потомки преобразуют специальные символы в HTML-сущности при выводе значений.
Метод unescape() позволяет отменить преобразование специальных символов в HTML-сущности при выводе значений.
use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')->unescape()];}//...use MoonShine\Fields\Text;//...public function fields(): array{return [Text::make('Title')->unescape()];}//...