- Создание
- Значение по умолчанию
- Только для чтения
- Маска
- 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()];}//...