# Make
Текстовое поле включает в себя все базовые методы.
use MoonShine\Fields\Text; //... public function fields(): array{ return [ Text::make('Title') ];} //...
![](http://moonshine-laravel.com/screenshots/input.png)
# Значение по умолчанию
Можно воспользоваться методом default()
, если необходимо указать значение по умолчанию для поля.
default(mixed $default)
use MoonShine\Fields\Text; //... public function fields(): array{ return [ Text::make('Title') ->default('-') ];} //...
# Только для чтения
Если поле доступно только для чтения, то необходимо воспользоваться методом readonly()
.
readonly(Closure|bool|null $condition = null)
use MoonShine\Fields\Text; //... public function fields(): array{ return [ Text::make('Title') ->readonly() ];} //...
# Маска
Метод mask()
служит для добавления маски у поля.
mask(string $mask)
use MoonShine\Fields\Text; //... public function fields(): array{ return [ Text::make('Title') ->mask('7 (999) 999-99-99') ];} //...
![](http://moonshine-laravel.com/screenshots/mask.png)
# Placeholder
Метод placeholder()
позволяет задать у поля атрибут placeholder.
placeholder(string $value)
use MoonShine\Fields\Text; //... public function fields(): array{ return [ Text::make('Country', 'country') ->nullable() ->placeholder('Country') ];} //...
# Расширения
Для поля Text доступно несколько расширений:
+ возможность скопировать значение по кнопке
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}}') ]; } //...
+ замок с блокировкой изменений
locked()
+ отключение отображения значения
eye()
+ подсказка формата
expansion(string $ext)
use MoonShine\Fields\Text; //... public function fields(): array{ return [ Text::make('Title') ->copy() ->locked() ->expansion('kg') ->eye() ]; } //...
![](http://moonshine-laravel.com/screenshots/expansion.png)
Метод copy
использует Clipboard API
который доступен только для HTTPS или localhost
Вы можете использоваться кастомные расширения,
для этого их необходимо добавить полю через метод extension()
.
extension(InputExtension $extension)
use MoonShine\Fields\Text; //... public function fields(): array{ return [ Text::make('Title') ->extension(new InputCustomExtension()) ]; } //...
# Теги
Метод tags()
позволяет вводить данные в виде тегов.
tags(?int $limit = null)
$limit
- количества доступных тегов, по умолчанию неограниченно.
use MoonShine\Fields\Text; //... public function fields(): array{ return [ Text::make('Keywords') ->tags() ]; } //...
# Редактирование в preview
Метод updateOnPreview()
позволяет редактировать поле Text в режиме preview.
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() ];} //...
# Спецсимволы
По умолчанию поле Text и его наследующие преобразовывают специальные символы в HTML-сущности при выводе значений.
Метод unescape()
позволяет отменить преобразование специальных символов
в HTML-сущности при выводе значений.
use MoonShine\Fields\Text; //... public function fields(): array{ return [ Text::make('Title') ->unescape() ]; } //...